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.

laukimo kamino blokas#
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.

palaukite, kol bus blokuojamas krūvos blokas#
laukti kol <>

Parametrai

Aprašymas

būklė

Sąlyga, kuri turi būti įvykdyta prieš pereinant prie kito bloko. Jei ji įvertinama kaip:

  • Neteisinga – Laukimas tęsiasi
  • Tiesa – Laukimas sustoja ir pereinama prie kito bloko

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ų.

pakartokite C bloką#
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 C blokas#
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 iki bloko#
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 C blokas#
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 blokas#
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 kitaip blokuoti#
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 kitaip jei kitaip blokuoti#
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ą.

pertraukos kamino blokas#
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 projekto bloką#
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ą