Ovladač#
Zavedení#
Jednopásmový ovladač VEX AIM má čtyři tlačítka a joystick. Joystickem lze pohybovat podél dvou os a lze jej také stisknout jako tlačítko.
Metody ovladače lze použít ke kontrole stisknutí tlačítek, čtení pohybu joysticku, kontrole připojení a stavu baterie nebo ke spuštění funkcí při výskytu událostí ovladače.
Níže je uveden seznam všech metod:
Gettery – Čítají stav tlačítka, joysticku, připojení a baterie.
.pressing— Vrátí, zda je stisknuto zadané tlačítko..position— Vrátí polohu joysticku podél zadané osy.is_connected— Vrátí, zda je řadič připojen.get_battery_level— Vrátí úroveň nabití baterie řadiče.
Zpětná volání — Spouštějí funkce při změně vstupu kontroleru.
Gettery#
.pressing#
.pressing vrací, zda je aktuálně stisknuto konkrétní tlačítko na ovladači. Tato metoda musí být volána pro konkrétní objekt tlačítka, například controller.button_up.
True— Zadané tlačítko je stisknuto.False— Zadané tlačítko není stisknuto.
Použití:
S touto metodou lze použít jeden z pěti dostupných objektů tlačítek:
Tlačítko |
Příkaz |
|---|---|
|
|
|
|
|
|
|
|
|
|
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# 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 vrací pozici osy joysticku jako číslo od -100 do 100.
Tato metoda musí být volána pro konkrétní objekt osy, například controller.axis1.
Použití:
S touto metodou lze použít jeden ze dvou dostupných objektů os:
Osa |
Příkaz |
|---|---|
|
|
|
|
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# 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 vrací, zda je řadič připojen.
True— Řídicí jednotka je připojena.False— Řídicí jednotka není připojena.
Usage:
controller.is_connected()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# 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#
Funkce get_battery_level vrací úroveň nabití baterie řadiče jako číslo od 0 do 100.
Usage:
controller.get_battery_level()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# Display the controller's battery level
robot.screen.print(controller.get_battery_level())
Zpětná volání#
.pressed#
.pressed spustí funkci při stisknutí zadaného tlačítka. Jakmile je tlačítko použito, funkce se spustí automaticky při každém stisknutí daného tlačítka.
Použití:
S touto metodou lze použít jeden z pěti dostupných objektů tlačítek:
Tlačítko |
Příkaz |
|---|---|
|
|
|
|
|
|
|
|
|
|
Parametr |
Popis |
|---|---|
|
Předem definovaná funkce, která se spustí při každém stisknutí zadaného tlačítka. |
|
Volitelné. N-tice obsahující argumenty, které se mají předat funkci zpětného volání. Další informace naleznete v části Použití událostí s parametry. |
# Kick hard when the Up button is pressed
def kick_object():
robot.kicker.kick(HARD)
controller.button_up.pressed(kick_object)
.released#
.released spustí funkci po uvolnění zadaného tlačítka. Jakmile je tlačítko použito, funkce se spustí automaticky po každém uvolnění daného tlačítka.
Použití:
S touto metodou lze použít jeden z pěti dostupných objektů tlačítek:
Tlačítko |
Příkaz |
|---|---|
|
|
|
|
|
|
|
|
|
|
Parametr |
Popis |
|---|---|
|
Předem definovaná funkce function, která se spustí při každém uvolnění zadaného tlačítka. |
|
Volitelné. N-tice obsahující argumenty, které se mají předat funkci zpětného volání. Další informace naleznete v části Použití událostí s parametry. |
# 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 spustí funkci, když se změní poloha joysticku podél zadané osy. Jakmile je funkce použita, spustí se automaticky pokaždé, když se změní poloha joysticku podél dané osy.
Použití:
S touto metodou lze použít jeden ze dvou dostupných objektů os:
Osa |
Příkaz |
|---|---|
|
|
|
|
Parametr |
Popis |
|---|---|
|
Dříve definovaná funkce function, která se spustí pokaždé, když se změní poloha joysticku podél zadané osy. |
|
Volitelné. N-tice obsahující argumenty, které se mají předat funkci zpětného volání. Další informace naleznete v části Použití událostí s parametry. |
# Show an emoji when the joystick moves up or down
def move_joystick():
robot.screen.show_emoji(CONFUSED)
controller.axis1.changed(move_joystick)