Valdikliai#
Įvadas#
„VEXcode AIR“ valdymo blokai valdo projekto eigą, tvarkydami ciklus, sąlygas ir atidėdami blokų vykdymą.
Ciklas – tai procesas, kai kompiuteris kartoja tą patį veiksmą arba veiksmų grupę vėl ir vėl, kol jam nurodoma sustoti. Sąlyga – tai taisyklė, kurią kompiuteris tikrina, kad nuspręstų, ką daryti toliau. Pavyzdžiui, dronas gali skristi pirmyn, kai paspaudžiamas valdiklio mygtukas.
Žemiau pateikiamas galimų blokų sąrašas:
wait — Pristabdo blokų vykdymą tam tikram laikotarpiui.
laukti iki — Pristabdo blokų vykdymą, kol įvykdoma nurodyta sąlyga.
repeat — Pakartoja blokų rinkinį tam tikrą skaičių kartų.
forever — Kartoja blokų rinkinį neribotą laiką.
repeat until — Kartoja blokų rinkinį, kol įvykdoma sąlyga.
while — Kartoja blokų rinkinį, kol sąlyga lieka teisinga.
if — Paleidžia blokų rinkinį, jei sąlyga yra teisinga.
if / else — Paleidžia vieną blokų rinkinį, jei sąlyga teisinga, kitu atveju – kitą.
if / else if / else — Paleidžia skirtingus blokų rinkinius, priklausomai nuo kelių sąlygų.
break — Nedelsiant išeina iš ciklo.
stop project — Baigia projektą.
laukti#
Laukimo blokas pristabdo blokų vykdymą tam tikram laikui, prieš pereinant prie kito bloko.
laukti (1) sekundžių
Parametrai |
Aprašymas |
|---|---|
laikas |
Laukimo laikas, nurodytas kaip teigiamas sveikasis skaičius arba dešimtainė trupmena sekundėmis. |
Pavyzdys
kai pradėta
[Fly for 1 second.]
pakilti iki (500) [mm v] ▶
laukti [1] sekundžių
leistis ▶
laukti, kol#
Stekavimo blokas laukti, kol pristabdo blokų vykdymą, kol įvykdoma nurodyta sąlyga prieš pereinant prie kito bloko.
laukti kol <>
Parametrai |
Aprašymas |
|---|---|
būklė |
Sąlyga, kuri turi būti įvykdyta prieš pereinant prie kito bloko. Jei ji įvertinama kaip:
|
Pavyzdys
kai pradėta
[Hover at 200 mm.]
pakilti iki [500] [mm v] ▶
kilti [žemyn v]
laukti kol <(distance [downward v] range in [mm v]) [math_less_than v] [200]>
sklandyti
laukti (3) sekundžių
leistis ▶
kartoti#
Pakartojimo C blokas atkartoja jame esančius blokus nustatytą skaičių kartų.
kartoti [10]
pabaiga
Parametrai |
Aprašymas |
|---|---|
kartus |
Sveikasis skaičius, nustatantis, kiek kartų bus kartojamas blokas pakartoti. |
Pavyzdys
kai pradėta
[Move back and forth four times then land.]
pakilti iki [500] [mm v] ▶
kartoti (4)
judėti [pirmyn v] per (500) [mm v] ▶
laukti (1) sekundžių
judėti [backward v] per (500) [mm v] ▶
laukti (1) sekundžių
pabaiga
leistis ▶
amžinai#
Amžinai veikiantis C blokas be perstojo paleidžia jame esančius blokus vėl ir vėl.
amžinai
pabaiga
Parametrai |
Aprašymas |
|---|---|
Šis blokas neturi parametrų. |
Pavyzdys
kai pradėta
[Move with controller.]
pakilti iki [500] [mm v] ▶
amžinai
judėti su valdikliu
pabaiga
kartoti, kol#
C blokas kartoti iki pakartotinai vykdo jame esančius blokus, kol neįvykdoma nurodyta sąlyga.
kartoti kol <>
pabaiga
Parametrai |
Aprašymas |
|---|---|
būklė |
Išraiška arba kintamasis, kuris tikrinamas prieš kiekvieną ciklą. Jei jis yra Klaidingas, blokai kartojasi toliau. Jei jis yra Teisinga, ciklas sustos. |
Pavyzdys
kai pradėta
[Move with controller until button 7 is pressed.]
pakilti iki [500] [mm v] ▶
kartoti kol <valdiklio mygtukas [7 v] paspaustas?>
judėti su valdikliu
pabaiga
leistis ▶
kol#
while C bloke esantys blokai kartojasi, kol tenkinama nurodyta sąlyga.
kol <>
pabaiga
Parametrai |
Aprašymas |
|---|---|
būklė |
Išraiška arba kintamasis, kuris tikrinamas prieš kiekvieną ciklą. Jei jis yra True, blokai toliau kartojasi. Jei False, ciklas sustos. |
Pavyzdys
kai pradėta
[Hover at 200 mm.]
pakilti iki [500] [mm v] ▶
kol <(distance [downward v] range in [mm v]) [math_greater_than v] [200]>
kilti [žemyn v]
pabaiga
sklandyti
laukti (3) sekundžių
leistis ▶
jei#
C blokas if vykdo jame esančius blokus, jei sąlyga yra True.
jei <> tada
pabaiga
Parametrai |
Aprašymas |
|---|---|
būklė |
Išraiška arba kintamasis, kuris tikrinamas vykdant sakinį. Jei jis yra True, bus vykdomi blokai if bloke. Jei jis yra False, blokai praleidžiami. |
Pavyzdys
kai pradėta
[Take a picture when button 5 is pressed.]
pakilti iki [500] [mm v] ▶
amžinai
judėti su valdikliu
jei <valdiklio mygtukas [5 v] paspaustas?> tada
fotografuoti [pirmyn v] kamera
pabaiga
pabaiga
jei / kitaip#
C blokas if / else nustato, kuris blokų rinkinys vykdomas, atsižvelgiant į tai, ar sąlyga yra True, ar False.
jei <> tada
kitu atveju
pabaiga
Parametrai |
Aprašymas |
|---|---|
būklė |
Išraiška arba kintamasis, kuris tikrinamas vykdant sakinį. Jei jis yra True, bus vykdomi blokai if bloke. Jei False, bus vykdomi blokai else bloke. |
Pavyzdys
kai pradėta
[Climb when the left joystick is moved up.]
pakilti iki [500] [mm v] ▶
amžinai
jei <(valdiklio ašis [1 v] padėtis) [math_greater_than v] [0]> tada
kilti [aukštyn v]
kitu atveju
sklandyti
pabaiga
jei / kitaip jei / kitaip#
Išplečiamas C blokas if / else if / else pasirenka, kuris blokų rinkinys bus vykdomas pagal sąlygas:
if vykdo savo kodo bloką, jei sąlyga įvertinama kaip True.
else if tikrina papildomas sąlygas tik tuo atveju, jei visos ankstesnės sąlygos įvertintos kaip False. Galima naudoti kelis else if teiginius.
else vykdo savo kodo bloką tik tuo atveju, jei nė viena iš ankstesnių sąlygų nebuvo įvertinta kaip True.
jei <> tada
kitu atveju jei <> tada
kitu atveju
pabaiga
Parametrai |
Aprašymas |
|---|---|
būklė |
Išraiška arba kintamasis, kuris tikrinamas vykdant sakinį. Pirmoji sąlyga, kuri yra True, paleidžia tą blokų rinkinį. Jei visos sąlygos įvertinamos kaip False, bus paleisti blokai, esantys else bloke. |
Pavyzdys
kai pradėta
[Move the drone up or down based on the position of the joystick.]
pakilti iki [500] [mm v] ▶
amžinai
jei <(valdiklio ašis [1 v] padėtis) [math_greater_than v] [0]> tada
judėti [pirmyn v]
kitu atveju jei <(valdiklio ašis [1 v] padėtis) [math_less_than v] [0]> tada
judėti [atgal v]
kitu atveju
sklandyti
pabaiga
pabaiga
pertrauka#
Pertraukos blokas iš karto išeina iš ciklo. Šį bloką galima naudoti repeat, repeat until, while ir forever blokų viduje. Pertraukos blokas naudingas, kai ciklą reikia sustabdyti anksčiau dėl kažko, kas įvyksta projekto metu, pavyzdžiui, paspaudus mygtuką arba jutikliui aptikus objektą.
pertraukti
Parametrai |
Aprašymas |
|---|---|
Šis blokas neturi parametrų. |
Pavyzdys
kai pradėta
[Land when button 5 is pressed.]
pakilti iki [500] [mm v] ▶
amžinai
judėti su valdikliu
jei <valdiklio mygtukas [5 v] paspaustas?> tada
pertraukti
pabaiga
pabaiga
leistis ▶
sustabdyti projektą#
Blokas „stop project“ užbaigia vykdomą projektą.
sustabdyti projektą :: control cap
Parametrai |
Aprašymas |
|---|---|
Šis blokas neturi parametrų. |
Pavyzdys
kai pradėta
[Stop motors after landing.]
pakilti iki [500] [mm v] ▶
laukti [1] sekundžių
leistis ▶
sustabdyti projektą