നിയന്ത്രണങ്ങൾ#
ആമുഖം#
VEXcode AIR-ലെ കൺട്രോൾ ബ്ലോക്കുകൾ ലൂപ്പുകൾ, കണ്ടീഷനുകൾ, റൺ ചെയ്യുന്നതിൽ നിന്ന് ബ്ലോക്കുകൾ വൈകിപ്പിക്കൽ എന്നിവ കൈകാര്യം ചെയ്തുകൊണ്ട് ഒരു പ്രോജക്റ്റിന്റെ ഒഴുക്ക് നിയന്ത്രിക്കുന്നു.
ഒരു കമ്പ്യൂട്ടർ നിർത്താൻ പറയുന്നതുവരെ ഒരേ ഘട്ടമോ ഘട്ടങ്ങളുടെ ഒരു കൂട്ടമോ ആവർത്തിച്ച് ആവർത്തിക്കുന്നതിനെയാണ് ലൂപ്പ് എന്ന് പറയുന്നത്. അടുത്തതായി എന്തുചെയ്യണമെന്ന് തീരുമാനിക്കാൻ കമ്പ്യൂട്ടർ പരിശോധിക്കുന്ന ഒരു നിയമമാണ് ഒരു വ്യവസ്ഥ. ഉദാഹരണത്തിന്, ഒരു കൺട്രോളർ ബട്ടൺ അമർത്തുമ്പോൾ ഡ്രോണിന് മുന്നോട്ട് പറക്കാൻ കഴിയും.
ലഭ്യമായ ബ്ലോക്കുകളുടെ ഒരു ലിസ്റ്റ് താഴെ കൊടുക്കുന്നു:
കാത്തിരിക്കുക — ഒരു നിശ്ചിത സമയത്തേക്ക് ബ്ലോക്കുകൾ പ്രവർത്തിക്കുന്നത് താൽക്കാലികമായി നിർത്തുന്നു.
wait until — ഒരു നിർദ്ദിഷ്ട വ്യവസ്ഥ പാലിക്കുന്നതുവരെ ബ്ലോക്കുകൾ പ്രവർത്തിക്കുന്നത് താൽക്കാലികമായി നിർത്തുന്നു.
ആവർത്തിക്കുക — ഒരു കൂട്ടം ബ്ലോക്കുകൾ ഒരു നിശ്ചിത എണ്ണം തവണ ആവർത്തിക്കുന്നു.
forever — ഒരു കൂട്ടം ബ്ലോക്കുകൾ അനിശ്ചിതമായി ആവർത്തിക്കുന്നു.
repeat until — ഒരു വ്യവസ്ഥ പാലിക്കുന്നതുവരെ ഒരു കൂട്ടം ബ്ലോക്കുകൾ ആവർത്തിക്കുന്നു.
while — ഒരു വ്യവസ്ഥ ശരിയായിരിക്കുമ്പോൾ ഒരു കൂട്ടം ബ്ലോക്കുകൾ ആവർത്തിക്കുന്നു.
if — ഒരു വ്യവസ്ഥ ശരിയാണെങ്കിൽ ഒരു കൂട്ടം ബ്ലോക്കുകൾ പ്രവർത്തിപ്പിക്കുന്നു.
if / else — ഒരു വ്യവസ്ഥ ശരിയാണെങ്കിൽ ഒരു കൂട്ടം ബ്ലോക്കുകൾ പ്രവർത്തിപ്പിക്കുന്നു, അല്ലെങ്കിൽ മറ്റൊന്ന് പ്രവർത്തിപ്പിക്കുന്നു.
if / else if / else — ഒന്നിലധികം വ്യവസ്ഥകളെ ആശ്രയിച്ച് വ്യത്യസ്ത ബ്ലോക്കുകളുടെ സെറ്റുകൾ പ്രവർത്തിപ്പിക്കുന്നു.
break — ഒരു ലൂപ്പിൽ നിന്ന് ഉടൻ പുറത്തുകടക്കുന്നു.
പ്രോജക്റ്റ് നിർത്തുക — പ്രോജക്റ്റ് അവസാനിപ്പിക്കുന്നു.
കാത്തിരിക്കുക#
wait സ്റ്റാക്ക് ബ്ലോക്ക്, അടുത്ത ബ്ലോക്കിലേക്ക് നീങ്ങുന്നതിന് മുമ്പ്, ഒരു നിശ്ചിത സമയത്തേക്ക് ബ്ലോക്കുകൾ പ്രവർത്തിക്കുന്നത് താൽക്കാലികമായി നിർത്തുന്നു.
(1) സെക്കൻഡ് കാത്തിരിക്കുക
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
സമയം |
സെക്കൻഡുകളിൽ ഒരു പോസിറ്റീവ് പൂർണ്ണ സംഖ്യയായോ ദശാംശമായോ കാത്തിരിക്കേണ്ട സമയത്തിന്റെ അളവ്. |
ഉദാഹരണം
ആരംഭിക്കുമ്പോൾ
[Fly for 1 second.]
(500) [mm v] ഉയരത്തിലേക്ക് ടേക്ക് ഓഫ് ചെയ്യുക ▶
[1] സെക്കൻഡ് കാത്തിരിക്കുക
ലാൻഡ് ചെയ്യുക ▶
കാത്തിരിക്കൂ#
wait until സ്റ്റാക്ക് ബ്ലോക്ക്, അടുത്ത ബ്ലോക്കിലേക്ക് നീങ്ങുന്നതിന് മുമ്പ് ഒരു നിർദ്ദിഷ്ട വ്യവസ്ഥ പാലിക്കുന്നതുവരെ ബ്ലോക്കുകൾ പ്രവർത്തിക്കുന്നത് താൽക്കാലികമായി നിർത്തുന്നു.
<> വരെ കാത്തിരിക്കുക
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
അവസ്ഥ |
അടുത്ത ബ്ലോക്കിലേക്ക് പോകുന്നതിനുമുമ്പ് പാലിക്കേണ്ട അവസ്ഥ. ഇത് ഇങ്ങനെ വിലയിരുത്തുകയാണെങ്കിൽ:
|
ഉദാഹരണം
ആരംഭിക്കുമ്പോൾ
[Hover at 200 mm.]
[500] [mm v] ഉയരത്തിലേക്ക് ടേക്ക് ഓഫ് ചെയ്യുക ▶
[താഴേക്ക് v] ദിശയിൽ കയറുക
<(distance [downward v] range in [mm v]) [math_less_than v] [200]> വരെ കാത്തിരിക്കുക
ഹോവർ ചെയ്യുക
(3) സെക്കൻഡ് കാത്തിരിക്കുക
ലാൻഡ് ചെയ്യുക ▶
ആവർത്തിക്കുക#
ആവർത്തിച്ചുള്ള C ബ്ലോക്ക് അതിനുള്ളിലെ ബ്ലോക്കുകളെ ഒരു നിശ്ചിത എണ്ണം തവണ പ്രവർത്തിപ്പിക്കുന്നു.
[10] തവണ ആവർത്തിക്കുക
अंत
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
തവണകൾ |
ആവർത്തന ബ്ലോക്ക് എത്ര തവണ പ്രവർത്തിക്കണമെന്ന് നിശ്ചയിക്കുന്ന ഒരു പൂർണ്ണ സംഖ്യ. |
ഉദാഹരണം
ആരംഭിക്കുമ്പോൾ
[Move back and forth four times then land.]
[500] [mm v] ഉയരത്തിലേക്ക് ടേക്ക് ഓഫ് ചെയ്യുക ▶
(4) തവണ ആവർത്തിക്കുക
[മുന്നോട്ട് v] ദിശയിൽ (500) [mm v] നീക്കുക ▶
(1) സെക്കൻഡ് കാത്തിരിക്കുക
[backward v] ദിശയിൽ (500) [mm v] നീക്കുക ▶
(1) സെക്കൻഡ് കാത്തിരിക്കുക
अंत
ലാൻഡ് ചെയ്യുക ▶
എന്നേക്കും#
forever C ബ്ലോക്ക് അതിനുള്ളിലെ ബ്ലോക്കുകൾ നിർത്താതെ വീണ്ടും വീണ്ടും പ്രവർത്തിപ്പിച്ചുകൊണ്ടിരിക്കുന്നു.
എന്നും
अंत
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
ഈ ബ്ലോക്കിന് പാരാമീറ്ററുകൾ ഇല്ല. |
ഉദാഹരണം
ആരംഭിക്കുമ്പോൾ
[Move with controller.]
[500] [mm v] ഉയരത്തിലേക്ക് ടേക്ക് ഓഫ് ചെയ്യുക ▶
എന്നും
കൺട്രോളർ ഉപയോഗിച്ച് നീക്കുക
अंत
വരെ ആവർത്തിക്കുക#
repeat until C ബ്ലോക്ക് അതിനുള്ളിലെ ബ്ലോക്കുകൾ ആവർത്തിച്ച് പ്രവർത്തിപ്പിക്കുമ്പോൾ നിർദ്ദിഷ്ട വ്യവസ്ഥ പാലിക്കപ്പെടുന്നില്ല.
<> വരെ ആവർത്തിക്കുക
अंत
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
അവസ്ഥ |
ഓരോ ലൂപ്പിനും മുമ്പായി പരിശോധിക്കുന്ന ഒരു എക്സ്പ്രഷൻ അല്ലെങ്കിൽ വേരിയബിൾ. അത് തെറ്റ് ആണെങ്കിൽ, ബ്ലോക്കുകൾ ആവർത്തിക്കുന്നത് തുടരും. അത് ശരി ആണെങ്കിൽ, ലൂപ്പ് നിർത്തും. |
ഉദാഹരണം
ആരംഭിക്കുമ്പോൾ
[Move with controller until button 7 is pressed.]
[500] [mm v] ഉയരത്തിലേക്ക് ടേക്ക് ഓഫ് ചെയ്യുക ▶
<കൺട്രോളർ ബട്ടൺ [7 v] അമർത്തിയോ?> വരെ ആവർത്തിക്കുക
കൺട്രോളർ ഉപയോഗിച്ച് നീക്കുക
अंत
ലാൻഡ് ചെയ്യുക ▶
അതേസമയം#
നിർദ്ദിഷ്ട വ്യവസ്ഥ പാലിക്കുന്നതുവരെ while C ബ്ലോക്ക് ഉള്ളിലെ ബ്ലോക്കുകൾ ആവർത്തിച്ച് പ്രവർത്തിപ്പിക്കുന്നു.
<> ആയിരിക്കുമ്പോൾ
अंत
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
അവസ്ഥ |
ഓരോ ലൂപ്പിനും മുമ്പായി പരിശോധിക്കുന്ന ഒരു എക്സ്പ്രഷൻ അല്ലെങ്കിൽ വേരിയബിൾ. അത് ശരി ആണെങ്കിൽ, ബ്ലോക്കുകൾ ആവർത്തിക്കുന്നത് തുടരും. അത് തെറ്റ് ആണെങ്കിൽ, ലൂപ്പ് നിർത്തും. |
ഉദാഹരണം
ആരംഭിക്കുമ്പോൾ
[Hover at 200 mm.]
[500] [mm v] ഉയരത്തിലേക്ക് ടേക്ക് ഓഫ് ചെയ്യുക ▶
<(distance [downward v] range in [mm v]) [math_greater_than v] [200]> ആയിരിക്കുമ്പോൾ
[താഴേക്ക് v] ദിശയിൽ കയറുക
अंत
ഹോവർ ചെയ്യുക
(3) സെക്കൻഡ് കാത്തിരിക്കുക
ലാൻഡ് ചെയ്യുക ▶
എങ്കിൽ#
True എന്ന അവസ്ഥയാണെങ്കിൽ if C ബ്ലോക്ക് ഉള്ളിലെ ബ്ലോക്കുകളെ പ്രവർത്തിപ്പിക്കുന്നു.
<> ആണെങ്കിൽ
अंत
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
അവസ്ഥ |
സ്റ്റേറ്റ്മെന്റ് പ്രവർത്തിക്കുമ്പോൾ പരിശോധിക്കുന്ന ഒരു എക്സ്പ്രഷൻ അല്ലെങ്കിൽ വേരിയബിൾ. അത് True ആണെങ്കിൽ, if ബ്ലോക്കിനുള്ളിലെ ബ്ലോക്കുകൾ പ്രവർത്തിക്കും. അത് False ആണെങ്കിൽ, ബ്ലോക്കുകൾ ഒഴിവാക്കപ്പെടും. |
ഉദാഹരണം
ആരംഭിക്കുമ്പോൾ
[Take a picture when button 5 is pressed.]
[500] [mm v] ഉയരത്തിലേക്ക് ടേക്ക് ഓഫ് ചെയ്യുക ▶
എന്നും
കൺട്രോളർ ഉപയോഗിച്ച് നീക്കുക
<കൺട്രോളർ ബട്ടൺ [5 v] അമർത്തിയോ?> ആണെങ്കിൽ
[മുന്നോട്ട് v] കാമറയിൽ ചിത്രം പകർത്തുക
अंत
अंत
അല്ലെങ്കിൽ / അല്ലെങ്കിൽ#
if / else C ബ്ലോക്ക് ആണ് ഏത് ബ്ലോക്കുകളുടെ സെറ്റ് പ്രവർത്തിക്കണമെന്ന് നിർണ്ണയിക്കുന്നത്, വ്യവസ്ഥ ശരി ആണോ തെറ്റ് ആണോ എന്നതിനെ അടിസ്ഥാനമാക്കിയാണ്.
<> ആണെങ്കിൽ
അല്ലെങ്കിൽ
अंत
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
അവസ്ഥ |
സ്റ്റേറ്റ്മെന്റ് പ്രവർത്തിക്കുമ്പോൾ പരിശോധിക്കുന്ന ഒരു എക്സ്പ്രഷൻ അല്ലെങ്കിൽ വേരിയബിൾ. അത് True ആണെങ്കിൽ, if ബ്ലോക്കിനുള്ളിലെ ബ്ലോക്കുകൾ പ്രവർത്തിക്കും. അത് False ആണെങ്കിൽ, അത് else ബ്ലോക്കിനുള്ളിലെ ബ്ലോക്കുകൾ പ്രവർത്തിപ്പിക്കും. |
ഉദാഹരണം
ആരംഭിക്കുമ്പോൾ
[Climb when the left joystick is moved up.]
[500] [mm v] ഉയരത്തിലേക്ക് ടേക്ക് ഓഫ് ചെയ്യുക ▶
എന്നും
<(കൺട്രോളർ ആക്സിസ് [1 v] സ്ഥാനം) [math_greater_than v] [0]> ആണെങ്കിൽ
[മുകളിലേക്ക് v] ദിശയിൽ കയറുക
അല്ലെങ്കിൽ
ഹോവർ ചെയ്യുക
अंत
എങ്കിൽ / അല്ലെങ്കിൽ എങ്കിൽ / അല്ലെങ്കിൽ#
if / else if / else വികസിപ്പിക്കാവുന്ന C ബ്ലോക്ക്, വ്യവസ്ഥകളെ അടിസ്ഥാനമാക്കി ഏത് ബ്ലോക്കുകളുടെ സെറ്റ് പ്രവർത്തിക്കുന്നുവെന്ന് തിരഞ്ഞെടുക്കുന്നു:
True എന്ന അവസ്ഥ വിലയിരുത്തിയാൽ if അതിന്റെ കോഡ് ബ്ലോക്ക് പ്രവർത്തിപ്പിക്കുന്നു.
else if എന്നത് മുൻ വ്യവസ്ഥകളെല്ലാം False ആയി വിലയിരുത്തിയാൽ മാത്രമേ അധിക വ്യവസ്ഥകൾ പരിശോധിക്കൂ. ഒന്നിലധികം else if പ്രസ്താവനകൾ ഉപയോഗിക്കാം.
അല്ലെങ്കിൽ മുമ്പത്തെ അവസ്ഥകളൊന്നും ശരി എന്ന് വിലയിരുത്തിയിട്ടില്ലെങ്കിൽ മാത്രമേ അതിന്റെ കോഡ് ബ്ലോക്ക് പ്രവർത്തിപ്പിക്കൂ.
<> ആണെങ്കിൽ
അല്ലെങ്കിൽ <> ആണെങ്കിൽ
അല്ലെങ്കിൽ
अंत
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
അവസ്ഥ |
സ്റ്റേറ്റ്മെന്റ് പ്രവർത്തിക്കുമ്പോൾ പരിശോധിക്കുന്ന ഒരു എക്സ്പ്രഷൻ അല്ലെങ്കിൽ വേരിയബിൾ. ആദ്യത്തെ കണ്ടീഷൻ ആയ True ആ ബ്ലോക്കുകളുടെ സെറ്റ് പ്രവർത്തിപ്പിക്കുന്നു. എല്ലാ കണ്ടീഷനുകളും False ആയി വിലയിരുത്തിയാൽ, else ബ്ലോക്കിനുള്ളിലെ ബ്ലോക്കുകൾ പ്രവർത്തിക്കും. |
ഉദാഹരണം
ആരംഭിക്കുമ്പോൾ
[Move the drone up or down based on the position of the joystick.]
[500] [mm v] ഉയരത്തിലേക്ക് ടേക്ക് ഓഫ് ചെയ്യുക ▶
എന്നും
<(കൺട്രോളർ ആക്സിസ് [1 v] സ്ഥാനം) [math_greater_than v] [0]> ആണെങ്കിൽ
[മുന്നോട്ട് v] ദിശയിൽ നീക്കുക
അല്ലെങ്കിൽ <(കൺട്രോളർ ആക്സിസ് [1 v] സ്ഥാനം) [math_less_than v] [0]> ആണെങ്കിൽ
[വിപരീതം v] ദിശയിൽ നീക്കുക
അല്ലെങ്കിൽ
ഹോവർ ചെയ്യുക
अंत
अंत
ബ്രേക്ക്#
break സ്റ്റാക്ക് ബ്ലോക്ക് ഒരു ലൂപ്പിൽ നിന്ന് ഉടനടി പുറത്തുകടക്കുന്നു. ഈ ബ്ലോക്ക് repeat, repeat until, while, forever ബ്ലോക്കുകൾക്കുള്ളിൽ ഉപയോഗിക്കാം. ഒരു ബട്ടൺ അമർത്തുകയോ ഒരു വസ്തുവിനെ കണ്ടെത്തുന്ന സെൻസർ പോലുള്ള പ്രോജക്റ്റ് സമയത്ത് സംഭവിക്കുന്ന എന്തെങ്കിലും അടിസ്ഥാനമാക്കി ഒരു ലൂപ്പ് നേരത്തെ നിർത്തേണ്ടിവരുമ്പോൾ Break ഉപയോഗപ്രദമാണ്.
ബ്രേക്ക്
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
ഈ ബ്ലോക്കിന് പാരാമീറ്ററുകൾ ഇല്ല. |
ഉദാഹരണം
ആരംഭിക്കുമ്പോൾ
[Land when button 5 is pressed.]
[500] [mm v] ഉയരത്തിലേക്ക് ടേക്ക് ഓഫ് ചെയ്യുക ▶
എന്നും
കൺട്രോളർ ഉപയോഗിച്ച് നീക്കുക
<കൺട്രോളർ ബട്ടൺ [5 v] അമർത്തിയോ?> ആണെങ്കിൽ
ബ്രേക്ക്
अंत
अंत
ലാൻഡ് ചെയ്യുക ▶
പദ്ധതി നിർത്തുക#
സ്റ്റോപ്പ് പ്രോജക്റ്റ് സ്റ്റാക്ക് ബ്ലോക്ക് റൺ ചെയ്യുന്ന ഒരു പ്രോജക്റ്റ് അവസാനിപ്പിക്കുന്നു.
പ്രോജക്ട് നിർത്തുക :: control cap
പാരാമീറ്ററുകൾ |
വിവരണം |
|---|---|
ഈ ബ്ലോക്കിന് പാരാമീറ്ററുകൾ ഇല്ല. |
ഉദാഹരണം
ആരംഭിക്കുമ്പോൾ
[Stop motors after landing.]
[500] [mm v] ഉയരത്തിലേക്ക് ടേക്ക് ഓഫ് ചെയ്യുക ▶
[1] സെക്കൻഡ് കാത്തിരിക്കുക
ലാൻഡ് ചെയ്യുക ▶
പ്രോജക്ട് നിർത്തുക