vezérlő#
Bevezetés#
A VEX AIR drónvezérlő 12 gombos elrendezéssel és két joystickkal rendelkezik. Ezek a bemenetek lehetővé teszik a drón számára a gombnyomások és a joystick mozgásainak érzékelését, így interaktív és érzékeny vezérlést tesz lehetővé.
Az alábbiakban felsoroljuk az összes elérhető módszert:
Getterek – Olvasás gomb, joystick és kapcsolat állapota.
pressing– Visszaadja, ha egy adott gombot éppen lenyomnak.position– Visszaadja a joystick pozícióját egy megadott tengely mentén.is_drone_connected– Visszaadja, hogy a vezérlő csatlakoztatva van-e a drónhoz.get_battery_level– Visszaadja a kontroller akkumulátorának töltöttségi szintjét.
Visszahívások – Reagál a gomb vagy a joystick bemeneti változásaira.
Getterek#
pressing#
pressing megnyomása egy logikai értéket ad vissza, amely jelzi, hogy a vezérlő egy adott gombja jelenleg le van-e nyomva. Ezt a metódust egy adott gomb objektumon kell meghívni, például button5 metóduson (a gomb objektumok teljes listáját lásd alább).
True- A megadott gombot megnyomják.False- A megadott gombot nem nyomják meg.
Használat:
A nyolc elérhető, 5-től 12-ig számozott gomb egyike használható ezzel a módszerrel, az alábbiak szerint:
Gomb |
Parancs |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# Take a picture when button 5 is pressed.
drone.take_off(climb_to=500)
while True:
# Fly using the controller sticks
drone.move_with_vectors(
forward=controller.axis4.position(),
rightward=controller.axis3.position(),
upward=controller.axis1.position(),
rotation=controller.axis2.position()
)
# Capture an image from the forward camera when button 5 is pressed.
if controller.button5.pressing():
drone.camera.capture_image(FORWARD_CAMERA)
wait(5, MSEC)
position#
position visszaadja a joystick megadott tengelyének pozícióját százalékban, -100% és 100% között.
Használat:
Négy elérhető tengely egyike használható ezzel a módszerrel, 1-től 4-ig számozva.
Tengely |
Parancs |
|---|---|
|
|
|
|
|
|
|
|

Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# Climb when the left joystick is moved up.
drone.take_off(climb_to=500)
while True:
if controller.axis1.position() > 0:
drone.climb(direction=UP, velocity=50)
else:
drone.hover()
wait(5, MSEC)
is_drone_connected#
is_drone_connected Egy logikai értéket ad vissza, amely jelzi, hogy a drón csatlakoztatva van-e.
True- A drón csatlakoztatva van.False- A drón nincs csatlakoztatva.
Használat:
controller.is_drone_connected()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# Print controller connection status on screen.
while True:
if controller.is_drone_connected():
controller.screen.clear_screen()
controller.screen.set_cursor(1, 1)
controller.screen.print("Controller connected")
wait(0.5, SECONDS)
get_battery_level#
get_battery_level Visszaadja a kontroller akkumulátorának töltöttségi szintjét százalékban, 0% és 100% között.
Használat:
controller.get_battery_level()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# Show controller's battery level.
if controller.get_battery_level() > 50:
controller.screen.print("Battery level ok")
else:
controller.screen.print("Battery level low")
Visszahívások#
pressed#
pressed egy függvényt futtat, amikor a megadott gombot megnyomják. Használat után a függvény minden alkalommal automatikusan lefut, amikor a gombot megnyomják.
Használat:
Ezzel a módszerrel nyolc elérhető gomb egyike használható, 5-től 12-ig számozva.
Gomb |
Parancs |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

Paraméterek |
Leírás |
|---|---|
|
Egy korábban definiált függvény, amely a megadott gomb minden megnyomásakor lefut. |
|
Opcionális. Egy tuple, amely argumentumokat tartalmaz a visszahívó függvénynek átadandó. További információkért lásd: Események használata paraméterekkel. |
# Take a picture when button 5 is pressed.
def take_picture():
drone.camera.capture_image(FORWARD_CAMERA)
# Run take_picture each time button 5 is pressed.
controller.button5.pressed(take_picture)
# Fly using the controller sticks.
drone.take_off(climb_to=500)
while True:
drone.move_with_vectors(
forward=controller.axis4.position(),
rightward=controller.axis3.position(),
upward=controller.axis1.position(),
rotation=controller.axis2.position()
)
wait(5, MSEC)
released#
released egy függvényt futtat, amikor a megadott gombot elengedik. Használat után a függvény minden alkalommal automatikusan lefut, amikor a gombot elengedik.
Használat:
Ezzel a módszerrel nyolc elérhető gomb egyike használható, 5-től 12-ig számozva.
Gomb |
Parancs |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

Paraméterek |
Leírás |
|---|---|
|
Egy korábban definiált function, amely minden alkalommal lefut, amikor a megadott gombot elengedik. |
|
Opcionális. Egy tuple, amely argumentumokat tartalmaz a visszahívó függvénynek átadandó. További információkért lásd a Függvények használata paraméterekkel részt. |
# Take a picture when button 5 is released.
def take_picture():
drone.camera.capture_image(FORWARD_CAMERA)
# Run take_picture each time button 5 is released.
controller.button5.released(take_picture)
# Fly using the controller sticks.
drone.take_off(climb_to=500)
while True:
drone.move_with_vectors(
forward=controller.axis4.position(),
rightward=controller.axis3.position(),
upward=controller.axis1.position(),
rotation=controller.axis2.position()
)
wait(5, MSEC)
changed#
changed paraméterrel lefuttatható egy függvény, amikor a joystick pozíciója megváltozik a megadott tengely mentén. Használat után a függvény automatikusan lefut minden alkalommal, amikor a joystick pozíciója megváltozik az adott tengely mentén.
Használat:
Négy elérhető tengely egyike használható ezzel a módszerrel, 1-től 4-ig számozva.
Tengely |
Parancs |
|---|---|
|
|
|
|
|
|
|
|

Paraméterek |
Leírás |
|---|---|
|
Egy korábban definiált függvény, amely minden alkalommal lefut, amikor a joystick pozíciója a megadott tengely mentén megváltozik. |
|
Opcionális. Egy tuple, amely argumentumokat tartalmaz a visszahívó függvénynek átadandó. További információkért lásd a Függvények használata paraméterekkel részt. |
# Move forward when the left joystick moves.
def on_axis1_changed():
drone.move_for(direction=0, distance=200, velocity=50, units=MM)
drone.take_off(climb_to=500)
controller.axis1.changed(on_axis1_changed)