Vezérlők#

Bevezetés#

A VEXcode AIR vezérlőblokkjai a projekt áramlását irányítják ciklusok, feltételek és a blokkok futtatásának késleltetésével.

Egy ciklus azt jelenti, hogy egy számítógép ugyanazt a lépést vagy lépéscsoportot ismétli újra és újra, amíg utasítást nem kap a leállításra. A feltétel egy olyan szabály, amelyet a számítógép ellenőrzi, hogy eldöntse, mit tegyen ezután. Például a drón előre tud repülni, amikor megnyomnak egy vezérlőgombot.

Az alábbiakban a rendelkezésre álló blokkok listája található:

  • wait — Meghatározott ideig szünetelteti a blokkok futását.

  • várjon addig, amíg — Szünetelteti a blokkok futását, amíg egy megadott feltétel nem teljesül.

  • repeat — Meghatározott számú alkalommal ismétli meg a blokkok egy halmazát.

  • forever — Blokkhalmazt ismétel határozatlan ideig.

  • ismétlésig — Ismétel egy blokkkészletet, amíg egy feltétel nem teljesül.

  • while — Megismétli a blokkok egy halmazát, amíg egy feltétel igaz marad.

  • if — Blokkhalmazt futtat, ha egy feltétel igaz.

  • if / else — Egy blokkkészletet futtat, ha egy feltétel igaz, egyébként egy másikat.

  • if / else if / else — Különböző blokkkészleteket futtat több feltételtől függően.

  • break — Azonnal kilép a ciklusból.

  • projekt leállítása — Befejezi a projektet.

Várjon#

A várakozás veremblokk egy meghatározott időre szünetelteti a blokkok futását, mielőtt a következő blokkra lépne.

várakozó veremblokk#
várakozás (1) másodpercig

Paraméterek

Leírás

idő

A várakozási idő pozitív egész számként vagy tizedes törtként másodpercben.

Példa

amikor elindul
[Fly for 1 second.]
felszállás (500) [mm v] magasságra ▶
várakozás [1] másodpercig
leszállás ▶

várj, amíg#

A várakozás amíg veremblokk szünetelteti a blokkok futását, amíg egy megadott feltétel nem teljesül, mielőtt a következő blokkra lépne.

várjon, amíg a veremblokk#
várakozás amíg <>

Paraméterek

Leírás

állapot

Az a feltétel, amelynek teljesülnie kell a következő blokkra lépés előtt. Ha az eredmény:

  • Hamis - A várakozás folytatódik
  • Igaz - A várakozás leáll és a program a következő blokkra lép

Példa

amikor elindul
[Hover at 200 mm.]
felszállás [500] [mm v] magasságra ▶
emelkedés [le v]
várakozás amíg <(distance [downward v] range in [mm v]) [math_less_than v] [200]>
lebegés
várakozás (3) másodpercig
leszállás ▶

ismétlés#

A ismétlés C blokk a benne lévő blokkokat meghatározott számú alkalommal futtatja le.

ismételje meg a C blokkot#
ismétlés [10]
vége

Paraméterek

Leírás

alkalommal

Egy egész szám, amely meghatározza, hogy hányszor fusson le az ismétlés blokk.

Példa

amikor elindul
[Move back and forth four times then land.]
felszállás [500] [mm v] magasságra ▶
ismétlés (4)
mozgás [előre v] irányba (500) [mm v] értékkel ▶
várakozás (1) másodpercig
mozgás [backward v] irányba (500) [mm v] értékkel ▶
várakozás (1) másodpercig
vége
leszállás ▶

örökre#

Az örökké C blokk újra és újra lefuttatja a benne lévő blokkokat megállás nélkül.

örökké C blokk#
örökre
vége

Paraméterek

Leírás

Ennek a blokknak nincsenek paraméterei.

Példa

amikor elindul
[Move with controller.]
felszállás [500] [mm v] magasságra ▶
örökre
mozgás vezérlővel
vége

ismételd, amíg#

Az ismétlésig C blokk a benne lévő blokkokat ismételten lefuttatja, amíg a megadott feltétel nem teljesül.

ismételd a blokkig#
ismétlés amíg <>
vége

Paraméterek

Leírás

állapot

Egy kifejezés vagy változó, amelyet minden ciklus előtt ellenőriz a rendszer. Ha Hamis, a blokkok ismétlődnek. Ha Igaz, a ciklus leáll.

Példa

amikor elindul
[Move with controller until button 7 is pressed.]
felszállás [500] [mm v] magasságra ▶
ismétlés amíg <vezérlő [7 v] gomb megnyomva?>
mozgás vezérlővel
vége
leszállás ▶

míg#

A while C blokk ismételten lefuttatja a benne lévő blokkokat, amíg a megadott feltétel teljesül.

míg a c blokk#
amíg <>
vége

Paraméterek

Leírás

állapot

Egy kifejezés vagy változó, amelyet minden ciklus előtt ellenőriz a rendszer. Ha Igaz, a blokkok ismétlődnek. Ha Hamis, a ciklus leáll.

Példa

amikor elindul
[Hover at 200 mm.]
felszállás [500] [mm v] magasságra ▶
amíg <(distance [downward v] range in [mm v]) [math_greater_than v] [200]>
emelkedés [le v]
vége
lebegés
várakozás (3) másodpercig
leszállás ▶

ha#

Az ha C blokk lefuttatja a benne lévő blokkokat, ha a feltétel Igaz.

ha blokk#
ha <> akkor
vége

Paraméterek

Leírás

állapot

Egy kifejezés vagy változó, amelyet a program az utasítás futtatásakor ellenőriz. Ha Igaz, akkor az hamis blokkon belüli blokkok futnak le. Ha Hamis, akkor a blokkok átugranak.

Példa

amikor elindul
[Take a picture when button 5 is pressed.]
felszállás [500] [mm v] magasságra ▶
örökre
mozgás vezérlővel
ha <vezérlő [5 v] gomb megnyomva?> akkor
kép rögzítése [előre v] kamerával
vége
vége

ha / máskülönben#

Az if / else C blokk határozza meg, hogy mely blokkok futnak le az alapján, hogy a feltétel Igaz vagy Hamis.

ha akkor különben blokkol#
ha <> akkor
különben
vége

Paraméterek

Leírás

állapot

Egy kifejezés vagy változó, amelyet a művelet futtatásakor ellenőriz a rendszer. Ha Igaz, akkor az hamis blokkban lévő blokkok fognak lefutni. Ha Hamis, akkor az más blokkban lévő blokkok fognak lefutni.

Példa

amikor elindul
[Climb when the left joystick is moved up.]
felszállás [500] [mm v] magasságra ▶
örökre
ha <(vezérlő [1 v] tengely pozíciója) [math_greater_than v] [0]> akkor
emelkedés [fel v]
különben
lebegés
vége

ha / különben ha / különben#

Az if / else if / else bővíthető C blokk a feltételek alapján választja ki, hogy mely blokkok fussanak:

  • Az ha függvény lefuttatja a kódblokkját, ha a feltétel Igaz értéket ad ki.

  • Az else if csak akkor ellenőrzi a további feltételeket, ha az összes korábbi feltétel Hamis-nak lett kiértékelve. Több else if utasítás is használható.

  • Az else függvény csak akkor futtatja le a kódblokkját, ha az előző feltételek egyike sem értékelődött ki Igaz-ként.

ha másképp ha másképp blokk#
ha <> akkor
különben ha <> akkor
különben
vége

Paraméterek

Leírás

állapot

Egy kifejezés vagy változó, amelyet a rendszer ellenőriz az utasítás futtatásakor. Az első feltétel, amely Igaz, lefuttatja a blokkok adott halmazát. Ha minden feltétel Hamis-ként értékelődik, akkor az más blokkon belüli blokkok fognak lefutni.

Példa

amikor elindul
[Move the drone up or down based on the position of the joystick.]
felszállás [500] [mm v] magasságra ▶
örökre
ha <(vezérlő [1 v] tengely pozíciója) [math_greater_than v] [0]> akkor
mozgás [előre v]
különben ha <(vezérlő [1 v] tengely pozíciója) [math_less_than v] [0]> akkor
mozgás [hátra v]
különben
lebegés
vége
vége

szünet#

A break veremblokk azonnal kilép a ciklusból. Ez a blokk használható a repeat, repeat until, while és forever blokkokon belül. A Break akkor hasznos, ha egy ciklust korábban le kell állítani valamilyen, a projekt során történt esemény miatt, például egy gomb megnyomása vagy egy érzékelő által érzékelt objektum miatt.

törési veremblokk#
megszakítás

Paraméterek

Leírás

Ennek a blokknak nincsenek paraméterei.

Példa

amikor elindul
[Land when button 5 is pressed.]
felszállás [500] [mm v] magasságra ▶
örökre
mozgás vezérlővel
ha <vezérlő [5 v] gomb megnyomva?> akkor
megszakítás
vége
vége
leszállás ▶

projekt leállítása#

A projekt leállítása veremblokk leállítja a futó projektet.

projektblokk leállítása#
projekt leállítása :: control cap

Paraméterek

Leírás

Ennek a blokknak nincsenek paraméterei.

Példa

amikor elindul
[Stop motors after landing.]
felszállás [500] [mm v] magasságra ▶
várakozás [1] másodpercig
leszállás ▶
projekt leállítása