VEX IQ സ്മാർട്ട് മോട്ടോഴ്‌സുമായി കോഡിംഗ്

VEXcode IQ-ൽ കോഡ് ചെയ്യുമ്പോൾ VEX IQ സ്മാർട്ട് മോട്ടോറിന് ഉപയോഗിക്കാൻ നിരവധി ഫംഗ്ഷനുകളുണ്ട്. ആയുധങ്ങൾ, നഖങ്ങൾ, ഇൻടേക്കുകൾ, ഡ്രൈവ്‌ട്രെയിനുകൾ, VEX IQ ഉപയോഗിച്ച് സൃഷ്ടിച്ച മറ്റ് സംവിധാനങ്ങൾ എന്നിവ കോഡ് ചെയ്യുമ്പോൾ ഇത് ഉപയോഗപ്രദമാകും. മോട്ടോറുകൾ എങ്ങനെ കോഡ് ചെയ്യാമെന്ന് മനസ്സിലാക്കുന്നത് പ്രോജക്ടുകൾ സ്തംഭിക്കുന്നതോ മോട്ടോറുകൾ ഉദ്ദേശിച്ച രീതിയിൽ പ്രവർത്തിക്കാത്തതോ പോലുള്ള പ്രശ്നങ്ങൾ പരിഹരിക്കാൻ സഹായിക്കും.

മോട്ടോർ എൻകോഡർ

മിക്ക മോട്ടോറുകളെയും പോലെ, VEX IQ സ്മാർട്ട് മോട്ടോർ വൈദ്യുതോർജ്ജത്തെ മെക്കാനിക്കൽ ഊർജ്ജമാക്കി മാറ്റുക മാത്രമല്ല, മിക്ക മോട്ടോറുകളിലും ഇല്ലാത്ത സവിശേഷതകളും ഇതിനുണ്ട്, അത് അതിനെ "സ്മാർട്ട്" ആക്കുന്നു. അതിന്റെ പ്രധാന സവിശേഷതകളിൽ ഒന്ന് ക്വാഡ്രേച്ചർ എൻകോഡറാണ്. മോട്ടോർ ഷാഫ്റ്റിന്റെ വേഗതയും സ്ഥാനവും ട്രാക്ക് ചെയ്യുന്നതിനായി ഈ എൻകോഡർ മോട്ടോറിന്റെ ഉൾഭാഗത്ത് ഘടിപ്പിച്ചിരിക്കുന്നു.

VEX IQ സ്മാർട്ട് മോട്ടോറിന്റെ എൻകോഡറിൽ നിന്നുള്ള റിപ്പോർട്ടുകൾ ഇത് മനസ്സിലാക്കാൻ സഹായിക്കുന്നു:

  • മോട്ടോറിന്റെ ഭ്രമണ ദിശ (മുന്നോട്ട്/റിവേഴ്സ് അല്ലെങ്കിൽ തുറന്ന/അടച്ച)
  • മോട്ടോറിന്റെ സ്ഥാനവും മോട്ടോറിന്റെ ടേണിന്റെയും സ്ഥാനത്തിന്റെയും അളവ് (വളവുകളിലോ ഡിഗ്രികളിലോ)
  • മോട്ടോറിന്റെ ടേണിന്റെ വേഗത (കാലക്രമേണ എൻകോഡറിന്റെ സ്ഥാനത്തെ അടിസ്ഥാനമാക്കി)

എൻകോഡർ മോട്ടോറിന്റെ അവസ്ഥകൾ റിപ്പോർട്ട് ചെയ്യുന്നതിനാൽ, VEXcode IQ-യിൽ നിരവധി മോഷൻ, സെൻസിംഗ് കമാൻഡുകൾ പ്രവർത്തിക്കുന്നതിന് പിന്നിലെ കണക്കുകൂട്ടലുകളിൽ അവ ഉപയോഗിക്കാൻ കഴിയും.

വ്യക്തിഗത മോട്ടോറുകൾ കോഡ് ചെയ്യുന്നു

VEXcode IQ-യിൽ വ്യക്തിഗത സ്മാർട്ട് മോട്ടോറുകൾ കോഡ് ചെയ്യാൻ തുടങ്ങുന്നതിനുമുമ്പ്, നിങ്ങൾ മോട്ടോർ കോൺഫിഗർ ചെയ്യേണ്ടതുണ്ട്. ഇൻടേക്കുകൾ, ആംസ്, നഖങ്ങൾ തുടങ്ങിയ അധിക സംവിധാനങ്ങൾക്കായി വ്യക്തിഗത മോട്ടോറുകൾ പതിവായി ഉപയോഗിക്കുന്നു. എന്നിരുന്നാലും, എല്ലാ വിവരങ്ങളും വ്യക്തിഗത മോട്ടോറുകൾ ഉപയോഗിക്കുന്ന മറ്റ് സംവിധാനങ്ങൾക്ക് ഇപ്പോഴും ബാധകമാണ്.

ഒരു മോട്ടോർ കോൺഫിഗർ ചെയ്‌താൽ, ആ മോട്ടോർ നിയന്ത്രിക്കാനുള്ള കമാൻഡുകൾ ടൂൾബോക്‌സിൽ ദൃശ്യമാകും. വ്യത്യസ്ത തരം കമാൻഡുകൾ ഉണ്ടെന്ന് നിങ്ങൾ ശ്രദ്ധിക്കും: വെയ്റ്റിംഗ്, നോൺ-വെയ്റ്റിംഗ്.

വെയ്റ്റിംഗ് vs നോൺ-വെയ്റ്റിംഗ് കമാൻഡുകൾ

ഇവിടെയുള്ള എല്ലാ ചിത്രങ്ങളും ബ്ലോക്കുകൾ കാണിക്കുന്നുവെന്ന് ശ്രദ്ധിക്കുക. ഈ പ്രോജക്റ്റുകളെല്ലാം പൈത്തണിലോ സി++-ലോ പുനർനിർമ്മിക്കാൻ കഴിയും കൂടാതെ ബ്ലോക്കുകളുടെ അതേ പ്രവർത്തനക്ഷമതയും ഇതിൽ അടങ്ങിയിരിക്കാം.

ക്ലാവ് മോട്ടോർ, പിന്നീട് റോബോട്ട്, തുടർന്ന് ആം മോട്ടോർ എന്നിവ ഒന്നിനുപുറകെ ഒന്നായി ചലിപ്പിക്കുന്നതിന് കാത്തിരിപ്പ് കമാൻഡുകൾ ഉപയോഗിക്കുന്ന പ്രോജക്റ്റ് VEXcode IQ ബ്ലോക്ക് ചെയ്യുന്നു. പ്രോജക്റ്റ് പറയുന്നത് "തുടങ്ങുമ്പോൾ, ക്ലോമോട്ടർ 90 ഡിഗ്രിയിൽ അടയ്ക്കുക" എന്നാണ്. അടുത്തതായി, 200 mm റിവേഴ്‌സ് ഡ്രൈവ് ചെയ്യുക, തുടർന്ന് ആംമോട്ടർ 180 ഡിഗ്രി സ്ഥാനത്ത് തിരിക്കുക.

പ്രവർത്തനം പൂർത്തിയാകുന്നതുവരെ വെയ്റ്റിംഗ് കമാൻഡുകൾ പ്രോജക്റ്റ് തുടരുന്നതിൽ നിന്ന് തടയുന്നു. [Spin ​​for], [Spin ​​to position] തുടങ്ങിയ കമാൻഡുകൾ ഇതിൽ ഉൾപ്പെടുന്നു.

ഇവിടെ കാണിച്ചിരിക്കുന്ന പ്രോജക്റ്റ് ഒരു Clawbot (2-motor) ടെംപ്ലേറ്റ് ഉപയോഗിക്കുന്നു, എല്ലാ കമാൻഡുകളും കാത്തിരിക്കുന്നു. അങ്ങനെ പരമ്പരയിൽ, ക്ലാവ് മോട്ടോർ 90 ഡിഗ്രി അടയ്ക്കും, റോബോട്ട് റിവേഴ്സ് ഡ്രൈവ് ചെയ്യും, തുടർന്ന് കൈ മുകളിലേക്ക് കറങ്ങി 180 ഡിഗ്രി സ്ഥാനത്ത് എത്തും.

VEXcode IQ ബ്ലോക്ക് ചെയ്യുന്ന പ്രോജക്റ്റ്, കാത്തിരിക്കാതെയുള്ള കമാൻഡുകൾ ഉപയോഗിച്ച് ഇൻടേക്ക് മോട്ടോർ കൃത്യമായി 2 സെക്കൻഡ് കറക്കുന്നു. പ്രോജക്റ്റ് പറയുന്നത്, ആരംഭിക്കുമ്പോൾ, IntakeMotor സ്പിൻ ചെയ്യുക, 2 സെക്കൻഡ് കാത്തിരിക്കുക, തുടർന്ന് IntakeMotor നിർത്തുക എന്നാണ്.

ഇതിനു വിപരീതമായി നോൺ-വെയ്റ്റിംഗ് കമാൻഡുകൾ ഉണ്ട്. ഒരു നോൺ-വെയ്റ്റിംഗ് കമാൻഡ് ആ പെരുമാറ്റം അനിശ്ചിതമായി നടപ്പിലാക്കും അല്ലെങ്കിൽ മറ്റൊരു പെരുമാറ്റത്തിലേക്ക് മാറാൻ പറയുന്നതുവരെ നടപ്പിലാക്കും. ഇതിൽ [സ്പിൻ] പോലുള്ള കമാൻഡുകൾ ഉൾപ്പെടുന്നു.

ഇവിടെ കാണിച്ചിരിക്കുന്ന പ്രോജക്റ്റ് ഒരു ഇൻടേക്ക് ചേർത്ത ഒരു ബേസ്ബോട്ട് ഉപയോഗിക്കുന്നു. ഇവിടെ ഇൻടേക്ക് മോട്ടോർ കറങ്ങാൻ തുടങ്ങും. [Wait] കമാൻഡ് ഒരു വെയിറ്റിംഗ് കമാൻഡാണ്, അതിനാൽ 2 സെക്കൻഡ് കഴിയുന്നതുവരെ ഇൻടേക്ക് കറങ്ങിക്കൊണ്ടിരിക്കും, തുടർന്ന് പ്രോജക്റ്റിലെ അടുത്ത കമാൻഡായ [Stop] കമാൻഡിലേക്ക് നീങ്ങും. അപ്പോൾ മോട്ടോർ കറങ്ങുന്നത് നിർത്തും.

മോട്ടോർ ടൈംഔട്ടുകൾ

ഒരു മോട്ടോർ ഒരു കൈയുടെയോ നഖത്തിന്റെയോ ഭാഗമായി കോഡ് ചെയ്യുമ്പോൾ, കാത്തിരിക്കുന്നതും കാത്തിരിക്കാത്തതുമായ ബ്ലോക്കുകൾ തമ്മിലുള്ള വ്യത്യാസവും അവ നിങ്ങളുടെ റോബോട്ടിന്റെ ചലനത്തെ എങ്ങനെ ബാധിക്കുമെന്നും ഓർമ്മിക്കേണ്ടത് പ്രധാനമാണ്. മോട്ടോർ ഉദ്ദേശിച്ച ലക്ഷ്യ സ്ഥാനത്ത് എത്തുന്നതിനുള്ള സമയപരിധി സജ്ജമാക്കാൻ മോട്ടോർ ടൈംഔട്ടുകൾ നിങ്ങളെ അനുവദിക്കുന്നു. സമയം കഴിയുമ്പോൾ ആ സ്ഥാനത്ത് എത്തിയില്ലെങ്കിൽ, മോട്ടോർ കറങ്ങാൻ ശ്രമിക്കുന്നത് നിർത്തുകയും പ്രോജക്റ്റ് അടുത്ത കമാൻഡിലേക്ക് നീങ്ങുകയും ചെയ്യും.

VEXcode IQ ബ്ലോക്ക്സ് പ്രോജക്റ്റ്, മോട്ടോർ ടൈംഔട്ട് ബ്ലോക്ക് ഉപയോഗിച്ച് ക്ലാവ് മോട്ടോർ 90 ഡിഗ്രി അടച്ചു വയ്ക്കുന്നതുവരെ അല്ലെങ്കിൽ റോബോട്ട് നീക്കുന്നതിന് മുമ്പ് 2 സെക്കൻഡ് കഴിയുന്നതുവരെ കറക്കുന്നു. പ്രോജക്റ്റിൽ പറയുന്നത്, 'When started, ClawMotor ടൈംഔട്ട് 2 സെക്കൻഡ് ആക്കി ClawMotor 90 ഡിഗ്രി ക്ലോസ് ചെയ്യുക' എന്നാണ്. അവസാനം, 200 മില്ലീമീറ്റർ പിന്നിലേക്ക് ഡ്രൈവ് ചെയ്യുക.

ഈ ഉദാഹരണത്തിൽ, മോട്ടോർ ടൈംഔട്ട് 2 സെക്കൻഡായി സജ്ജീകരിച്ചിരിക്കുന്നു. രണ്ട് സെക്കൻഡിനുള്ളിൽ നഖം 90 ഡിഗ്രിയിൽ അടയുന്നില്ലെങ്കിൽ, രണ്ട് സെക്കൻഡ് മാർക്കിൽ മോട്ടോർ കറങ്ങുന്നത് നിർത്തി അടുത്ത കമാൻഡിലേക്ക് നീങ്ങി മുന്നോട്ട് പോകും.

ഉപകരണ മെനുവിൽ നിന്ന് മോട്ടോർ സെൻസർ ഡാഷ്‌ബോർഡ് തുറന്നിരിക്കുമ്പോൾ ബ്രെയിൻ സ്‌ക്രീൻ കാണിക്കുന്നു. മോട്ടോറിന്റെ കമാൻഡ്, പ്രവേഗം, സ്ഥാനം, കറന്റ്, മോട്ടോറിന്റെ സ്മാർട്ട് പോർട്ട് തുടങ്ങിയ വിവരങ്ങൾ കാണിച്ചിരിക്കുന്നു.

ഒരു മോട്ടോർ എത്ര ദൂരം നീക്കണമെന്ന് നിങ്ങൾക്ക് ഉറപ്പില്ലെങ്കിൽ, സെൻസർ ഡാഷ്‌ബോർഡ് ഉപയോഗിക്കുക. ഡാഷ്‌ബോർഡ് മോട്ടോറിന്റെ സ്ഥാനം ഡിഗ്രികളിലും പരിക്രമണങ്ങളിലും റിപ്പോർട്ട് ചെയ്യുന്നു, അതിനാൽ നിങ്ങൾ ഒരു മോട്ടോർ ചലിപ്പിക്കുമ്പോൾ (ഒരു നഖം തുറക്കുന്നതും അടയ്ക്കുന്നതും പോലെ) അക്കങ്ങൾ മാറും. ഒരു നഖം അടയ്ക്കുന്നതിനും, ഒരു കൈ ഉയർത്തുന്നതിനും, ഒരു ഇൻടേക്ക് കറക്കുന്നതിനും എത്ര ഡിഗ്രി അല്ലെങ്കിൽ ഭ്രമണം ആവശ്യമാണെന്ന് നിർണ്ണയിക്കാൻ ഈ പരിശോധന ഉപയോഗിക്കുക.

സെൻസർ ഡാഷ്‌ബോർഡ് എങ്ങനെ ഉപയോഗിക്കാമെന്ന് അറിയാൻ ഈ ലേഖനങ്ങൾ കാണുക.

ഒരു ഡ്രൈവ്‌ട്രെയിനിന്റെ ഭാഗമായി സ്മാർട്ട് മോട്ടോറുകൾ കോഡ് ചെയ്യുന്നു

VEXcode IQ-യിൽ ഒരു ഡ്രൈവ്‌ട്രെയിൻ കോഡ് ചെയ്യാൻ തുടങ്ങുന്നതിനുമുമ്പ്, ഉപയോഗിക്കുന്ന മോട്ടോറുകൾ ഉൾപ്പെടെ ഡ്രൈവ്‌ട്രെയിൻ കോൺഫിഗർ ചെയ്യേണ്ടതുണ്ട്. [Drive], [Drive for] പോലുള്ള അതേ കമാൻഡുകൾ ഉപയോഗിച്ചാണ് മോട്ടോറുകൾ നിയന്ത്രിക്കുന്നതെന്ന് ഉറപ്പാക്കാൻ ഡ്രൈവ്‌ട്രെയിനിനുള്ളിൽ തന്നെ മോട്ടോറുകൾ കോൺഫിഗർ ചെയ്‌തിരിക്കുന്നു.

കാത്തിരിക്കുന്നതും കാത്തിരിക്കാത്തതുമായ കമാൻഡുകൾ

ഒരു ഡ്രൈവ്‌ട്രെയിൻ കോഡ് ചെയ്യുമ്പോൾ, റോബോട്ടിന്റെ ചലനം നിയന്ത്രിക്കുന്നതിന് വെയ്റ്റിംഗ്, നോൺ-വെയ്റ്റിംഗ് കമാൻഡുകൾ ലഭ്യമാണ്.

വെയ്റ്റിംഗ് കമാൻഡുകൾ ഉപയോഗിച്ച് റോബോട്ടിനെ മുന്നോട്ട് നയിക്കാനും പിന്നീട് ഒന്നിനുപുറകെ ഒന്നായി വലത്തേക്ക് തിരിയാനും സഹായിക്കുന്ന പ്രോജക്റ്റ് VEXcode IQ തടയുന്നു. പ്രോജക്റ്റിൽ പറയുന്നത് 'തുടങ്ങുമ്പോൾ, 200 മില്ലിമീറ്റർ മുന്നോട്ട് ഓടിക്കുക, തുടർന്ന് 90 ഡിഗ്രി വലത്തേക്ക് തിരിയുക' എന്നാണ്.

പ്രവർത്തനം പൂർത്തിയാകുന്നതുവരെ വെയ്റ്റിംഗ് കമാൻഡുകൾ പ്രോജക്റ്റ് തുടരുന്നതിൽ നിന്ന് തടയുന്നു. [Drive for] [Turn for], [Turn to heading] തുടങ്ങിയ കമാൻഡുകൾ ഇതിൽ ഉൾപ്പെടുന്നു.

ഇവിടെ കാണിച്ചിരിക്കുന്ന പ്രോജക്റ്റ് ഒരു Clawbot (2-motor) ടെംപ്ലേറ്റ് ഉപയോഗിക്കുന്നു, എല്ലാ കമാൻഡുകളും കാത്തിരിക്കുന്നു. അങ്ങനെ പരമ്പരയിൽ, റോബോട്ട് 200 മില്ലിമീറ്റർ മുന്നോട്ട് ഓടിച്ചശേഷം ഡ്രൈവ്ട്രെയിൻ ഉപയോഗിച്ച് വലത്തേക്ക് തിരിയും.

ബമ്പർ അമർത്തുന്നതുവരെ റോബോട്ടിനെ മുന്നോട്ട് നയിക്കുന്നതിനും തുടർന്ന് വലത്തേക്ക് തിരിയുന്നതിനും ഒരു നോൺ-വെയിറ്റിംഗ് കമാൻഡ് ഉപയോഗിക്കുന്ന പ്രോജക്റ്റ് VEXcode IQ തടയുന്നു. പ്രോജക്റ്റ് പറയുന്നത് 'When started, forward forward' എന്നാണ്. Bumper3 അമർത്തുന്നത് വരെ കാത്തിരിക്കുക. തുടർന്ന് 90 ഡിഗ്രി വലത്തേക്ക് തിരിയുക.

ഇതിനു വിപരീതമായി നോൺ-വെയ്റ്റിംഗ് കമാൻഡുകൾ ഉണ്ട്. ഒരു നോൺ-വെയ്റ്റിംഗ് കമാൻഡ് ആ പെരുമാറ്റം അനിശ്ചിതമായി നടപ്പിലാക്കും അല്ലെങ്കിൽ മറ്റൊരു പെരുമാറ്റത്തിലേക്ക് മാറാൻ പറയുന്നതുവരെ നടപ്പിലാക്കും. ഇതിൽ [ഡ്രൈവ്] പോലുള്ള കമാൻഡുകൾ ഉൾപ്പെടുന്നു.

ഇവിടെ കാണിച്ചിരിക്കുന്ന പ്രോജക്റ്റ് ഒരു ബേസ്ബോട്ട് ഉപയോഗിക്കുന്നു. ഇവിടെ ബമ്പർ സ്വിച്ച് അമർത്തുന്നത് വരെ റോബോട്ട് അനിശ്ചിതമായി മുന്നോട്ട് ഓടിച്ചുകൊണ്ടേയിരിക്കും. തുടർന്ന് പ്രോജക്റ്റ് അടുത്ത കമാൻഡിലേക്ക് നീങ്ങുകയും റോബോട്ട് ഡ്രൈവിംഗ് നിർത്തി 90 ഡിഗ്രി വലത്തേക്ക് തിരിയുകയും ചെയ്യും.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: