vezérlő#
Bevezetés#
A VEX AIM egykaros vezérlő négy gombbal és egy joystickkal rendelkezik. A joystick két tengely mentén mozgatható, és gombként is lenyomható.
A vezérlőmetódusok segítségével ellenőrizhetők a gombnyomások, leolvashatók a joystick mozgása, ellenőrizhető a kapcsolat és az akkumulátor állapota, vagy funkciók futtathatók vezérlőesemények bekövetkeztekor.
Az alábbiakban felsoroljuk az összes módszert:
Getterek – Gomb, joystick, kapcsolat és akkumulátor állapotának olvasása.
.pressing— Visszaadja, hogy egy adott gombot lenyomnak-e..position— Visszaadja a joystick pozícióját egy megadott tengely mentén.is_connected— Visszaadja, hogy a vezérlő csatlakoztatva van-e.get_battery_level— Visszaadja a kontroller akkumulátorának töltöttségi szintjét.
Visszahívások — Függvények futtatása a vezérlő bemenetének megváltozásakor.
Getterek#
.pressing#
.pressing visszaadja, hogy a vezérlő egy adott gombját jelenleg lenyomva tartjuk-e. Ezt a metódust egy adott gomb objektumon kell meghívni, például controller.button_up.
True— A megadott gombot megnyomják.False— A megadott gombot nem nyomják meg.
Használat:
Az öt elérhető gombobjektum egyike használható ezzel a metódussal:
Gomb |
Parancs |
|---|---|
|
|
|
|
|
|
|
|
|
|
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# Move forward while the Up button is being pressed
while True:
if controller.button_up.pressing():
robot.move_at(0)
else:
robot.stop_all_movement()
wait(20, MSEC)
.position#
.position függvény visszaadja a joystick tengelyének pozícióját -100 és 100 közötti számként.
Ezt a metódust egy adott tengely objektumon kell meghívni, például controller.axis1 értéken.
Használat:
Két elérhető tengelyobjektum egyike használható ezzel a metódussal:
Tengely |
Parancs |
|---|---|
|
|
|
|
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# Move forward when the joystick is moved up
while True:
if controller.axis1.position() > 0:
robot.move_at(0)
else:
robot.stop_all_movement()
wait(20, MSEC)
is_connected#
is_connected Visszaadja, hogy a vezérlő csatlakoztatva van-e.
True— A vezérlő csatlakoztatva van.False— A vezérlő nincs csatlakoztatva.
Usage:
controller.is_connected()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# Stop the robot if the controller disconnects
robot.move_at(0)
while True:
if not controller.is_connected():
robot.stop_all_movement()
wait(100, MSEC)
get_battery_level#
get_battery_level függvény visszaadja a kontroller akkumulátorának töltöttségi szintjét 0 és 100 közötti számként.
Usage:
controller.get_battery_level()
Paraméterek |
Leírás |
|---|---|
Ennek a metódusnak nincsenek paraméterei. |
# Display the controller's battery level
robot.screen.print(controller.get_battery_level())
Visszahívások#
.pressed#
.pressed parancs futtat egy függvényt, 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:
Az öt elérhető gombobjektum egyike használható ezzel a metódussal:
Gomb |
Parancs |
|---|---|
|
|
|
|
|
|
|
|
|
|
Paraméter |
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. |
# Kick hard when the Up button is pressed
def kick_object():
robot.kicker.kick(HARD)
controller.button_up.pressed(kick_object)
.released#
.released függvény a megadott gomb elengedésekor futtat egy függvényt. Használat után a függvény minden alkalommal automatikusan lefut, amikor a gombot elengedjük.
Használat:
Az öt elérhető gombobjektum egyike használható ezzel a metódussal:
Gomb |
Parancs |
|---|---|
|
|
|
|
|
|
|
|
|
|
Paraméter |
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: Események használata paraméterekkel. |
# Clear the screen after the Up button is released
def clear_screen():
robot.screen.clear_screen()
controller.button_up.released(clear_screen)
robot.screen.print("Press Up, then")
robot.screen.next_row()
robot.screen.print("Release Up!")
.changed#
.changed függvény akkor futtat le egy függvényt, 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:
Két elérhető tengelyobjektum egyike használható ezzel a metódussal:
Tengely |
Parancs |
|---|---|
|
|
|
|
Paraméter |
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: Események használata paraméterekkel. |
# Show an emoji when the joystick moves up or down
def move_joystick():
robot.screen.show_emoji(CONFUSED)
controller.axis1.changed(move_joystick)