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.

  • .pressed — Spustí funkci po stisknutí zadaného tlačítka.

  • .released — Spustí funkci po uvolnění zadaného tlačítka.

  • .changed — Spustí funkci, když se změní poloha joysticku podél zadané osy.

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

button_up

controller.button_up.pressing() — Tlačítko Nahoru

button_down

controller.button_down.pressing() — Tlačítko Dolů

button_left

controller.button_left.pressing() — Tlačítko Left

button_right

controller.button_right.pressing() — Tlačítko Doprava

button_stick

controller.button_stick.pressing() — Tlačítko Joystick

Jednopákový ovladač VEX AIM s joystickem vlevo a čtyřmi tlačítky vpravo. Joystick a čtyři tlačítka jsou zvýrazněna.

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

axis1

controller.axis1.position() — Svislá osa

axis2

controller.axis2.position() — Vodorovná osa

Ovladač VEX AIM s joystickem vlevo a čtyřmi tlačítky vpravo. Osy 1 a 2 pro joystick jsou zvýrazněny.

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

button_up

controller.button_up.pressed(callback, arg) — Tlačítko Nahoru

button_down

controller.button_down.pressed(callback, arg) — Tlačítko Dolů

button_left

controller.button_left.pressed(callback, arg) — Tlačítko Left

button_right

controller.button_right.pressed(callback, arg) — Tlačítko Vpravo

button_stick

controller.button_stick.pressed(callback, arg) — Tlačítko Joystick

Jednopákový ovladač VEX AIM s joystickem vlevo a čtyřmi tlačítky vpravo. Joystick a čtyři tlačítka jsou zvýrazněna.

Parametr

Popis

callback

Předem definovaná funkce, která se spustí při každém stisknutí zadaného tlačítka.

arg

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

button_up

controller.button_up.released(callback, arg) — Tlačítko Nahoru

button_down

controller.button_down.released(callback, arg) — Tlačítko Dolů

button_left

controller.button_left.released(callback, arg) — Tlačítko Left

button_right

controller.button_right.released(callback, arg) — Tlačítko Vpravo

button_stick

controller.button_stick.released(callback, arg) — Tlačítko Joystick

Jednopákový ovladač VEX AIM s joystickem vlevo a čtyřmi tlačítky vpravo. Joystick a čtyři tlačítka jsou zvýrazněna.

Parametr

Popis

callback

Předem definovaná funkce function, která se spustí při každém uvolnění zadaného tlačítka.

arg

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

axis1

controller.axis1.changed(callback, arg) — Svislá osa

axis2

controller.axis2.changed(callback, arg) — Vodorovná osa

Ovladač VEX AIM s joystickem vlevo a čtyřmi tlačítky vpravo. Osy 1 a 2 pro joystick jsou zvýrazněny.

Parametr

Popis

callback

Dříve definovaná funkce function, která se spustí pokaždé, když se změní poloha joysticku podél zadané osy.

arg

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)