Ovladač#
Zavedení#
Ovladač V5 má tlačítka, dva joysticky, motor s duněním a obrazovku. Metody ovladače lze použít ke kontrole stisknutí tlačítek, čtení pohybu joysticku, dunění ovladače, povolení nebo zakázání nakonfigurovaných akcí ovladače, spouštění funkcí při nastanoucích událostech ovladače nebo zobrazení textu na obrazovce ovladače.
Akce konfigurovaného ovladače jsou chování ovladače nastavené v nabídce Zařízení. Pro dočasné povolení nebo zakázání těchto konfigurovaných akcí během projektu použijte parametry remote_control_code_enabled
Tato stránka používá jako příklad názvu řídicí jednotky controller_1 V případě potřeby jej nahraďte vlastním nakonfigurovaným názvem.
Níže je uveden seznam všech dostupných metod:
Akce – Zahrajte ovladačem nebo povolte/zakažte nakonfigurované akce ovladače.
rumble— Přehraje na ovladači dunivý vzor.remote_control_code_enabled— Povolí nebo zakáže akce ovladače nakonfigurované v nabídce Zařízení.
Obrazovka – Zobrazení textu a čísel na obrazovce ovladače.
print— Zobrazí text, čísla nebo hodnoty proměnných na obrazovce Controlleru.set_cursor— Přesune kurzor na zadaný řádek a sloupec na obrazovce Controlleru.column— Vrátí aktuální sloupec kurzoru na obrazovce Controlleru.row— Vrátí aktuální řádek kurzoru na obrazovce Controlleru.clear_screen— Vymaže obrazovku ovladače.clear_row— Vymaže jeden řádek na obrazovce Controlleru.next_row— Přesune kurzor na další řádek na obrazovce Controlleru.
Gettery – Čtou stavy tlačítek a polohy joysticku.
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.
Konstruktor – Ručně vytvořte objekt Controller.
Controller— Vytvoří objekt Controller.
Akce#
rumble#
rumble přehraje na ovladači dunivý vzor. V řetězci vzoru jsou tečky krátké dunění, pomlčky dlouhé dunění a mezery pauzy.
Usage:
controller_1.rumble(pattern)
Parametr |
Popis |
|---|---|
|
Řetězec složený z teček, pomlček a mezer, které představují vzorec dunění. |
# Rumble the Controller with a short-short-long-long pattern
controller_1.rumble("..--")
remote_control_code_enabled#
remote_control_code_enabled je proměnná, která povoluje nebo zakazuje akce řadiče nakonfigurované v nabídce Zařízení. Akce nakonfigurované řadičem jsou ve výchozím nastavení povoleny.
Usage:
remote_control_code_enabled = state
Hodnota |
Popis |
|---|---|
|
Umožňuje akce nakonfigurované ovladačem. |
|
Zakáže akce nakonfigurované ovladačem. |
# Drive forward or backward using the left joystick
remote_control_code_enabled = False
while True:
if controller_1.axis3.position() > 0:
drivetrain.drive(FORWARD)
elif controller_1.axis3.position() < 0:
drivetrain.drive(REVERSE)
# Press A to use Controller configured actions again
elif controller_1.buttonA.pressing():
break
else:
drivetrain.stop()
wait(20, MSEC)
remote_control_code_enabled = True
Obrazovka#
Obrazovka ovladače V5 má 3 řádky a 19 sloupců pro zobrazení textu a čísel.

print#
controller_1.screen.print zobrazí text, čísla nebo hodnoty proměnných na obrazovce Controlleru s využitím aktuální pozice kurzoru.
Usage:
controller_1.screen.print(value, sep, precision)
Parametr |
Popis |
|---|---|
|
Text, číslo nebo hodnota proměnné, která se má zobrazit na obrazovce Controlleru. Více než jednu hodnotu lze vytisknout oddělením hodnot čárkami. |
|
Volitelné. Řetězec, který se má vložit mezi hodnoty. Musí být zapsán jako klíčový argument, například |
|
Volitelné. Počet desetinných míst, který se má zobrazit při tisku jednoduchých čísel. Musí být zapsán jako klíčový argument, například |
# Print a number on the Controller screen
controller_1.screen.print(1)
# Print multiple numbers separated by hyphens
controller_1.screen.print(1, 2, 3, 4, sep="-")
# Print a number using one decimal place
controller_1.screen.print(1 / 3, precision=1)
set_cursor#
set_cursor přesune kurzor na zadaný řádek a sloupec na obrazovce Controlleru. Další vytištěná hodnota se zobrazí na této pozici.
Usage:
controller_1.screen.set_cursor(row, col)
Parametr |
Popis |
|---|---|
|
Řádek kurzoru, od |
|
Sloupec kurzoru, od |
# Print text at row 2, column 1
controller_1.screen.set_cursor(2, 1)
controller_1.screen.print("Ready")
column#
column vrací aktuální sloupec, kde bude text vytištěn na obrazovce Controlleru.
Usage:
controller_1.screen.column()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# Print the current column number
controller_1.screen.set_cursor(2, 3)
controller_1.screen.print(controller_1.screen.column())
row#
row vrací aktuální řádek, kde bude text vytištěn na obrazovce Controlleru.
Usage:
controller_1.screen.row()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# Print the current row number
controller_1.screen.set_cursor(2, 3)
controller_1.screen.print(controller_1.screen.row())
clear_screen#
clear_screen vymaže obrazovku ovladače a přesune kurzor zpět na počáteční pozici.
Usage:
controller_1.screen.clear_screen()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# Print text, then clear the Controller screen
controller_1.screen.print("VEX V5")
wait(2, SECONDS)
controller_1.screen.clear_screen()
clear_row#
clear_row vymaže jeden řádek na obrazovce Controlleru.
Usage:
controller_1.screen.clear_row(row)
Parametr |
Popis |
|---|---|
|
Volitelné. Řádek, který se má vymazat, od |
# Clear row 2 on the Controller screen
controller_1.screen.clear_row(2)
next_row#
next_row přesune kurzor do sloupce 1 na dalším řádku obrazovky Controlleru. Na tomto řádku se zobrazí další vytištěná hodnota.
Usage:
controller_1.screen.next_row()
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# Print on two rows
controller_1.screen.print("VEX V5")
controller_1.screen.next_row()
controller_1.screen.print("Controller")
Gettery#
.pressing#
.pressing vrací, zda je aktuálně stisknuto konkrétní tlačítko na Controlleru. Tato metoda musí být volána pro konkrétní objekt tlačítka, například controller_1.buttonA.
True— Zadané tlačítko je stisknuto.False— Zadané tlačítko není stisknuto.
Použití:
S touto metodou lze použít jeden z dostupných objektů tlačítek:

Tlačítko |
Příkaz |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# Turn right while L1 is pressed
while True:
if controller_1.buttonL1.pressing():
drivetrain.turn(RIGHT)
else:
drivetrain.stop()
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_1.axis1.
Použití:
S touto metodou lze použít jeden z dostupných objektů os:

Osa |
Příkaz |
|---|---|
|
|
|
|
|
|
|
|
Parametry |
Popis |
|---|---|
Tato metoda nemá žádné parametry. |
# Turn with the left joystick
remote_control_code_enabled = False
while True:
if controller_1.axis4.position() > 10:
drivetrain.turn(RIGHT)
elif controller_1.axis4.position() < -10:
drivetrain.turn(LEFT)
else:
drivetrain.stop()
wait(20, MSEC)
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 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. |
# Drive forward when A is pressed
def drive_forward():
drivetrain.drive_for(FORWARD, 100, MM)
controller_1.buttonA.pressed(drive_forward)
.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 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. |
# Drive backward when A is released
def back_up():
drivetrain.drive_for(REVERSE, 100, MM)
controller_1.buttonA.released(back_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 z 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. |
# Play a sound when the left joystick moves
def tada_sound():
brain.play_sound(SoundType.TADA)
controller_1.axis4.changed(tada_sound)
Konstruktéři#
Controller#
Controller vytvoří objekt Controller. Ruční vytvoření objektu Controller je nutné pouze při konfiguraci Controlleru mimo VEXcode.
Usage:
Controller(controller_type)
Parametr |
Popis |
|---|---|
|
Volitelné. Typ ovladače, který se má vytvořit: |
# Create the primary Controller
controller_1 = Controller(PRIMARY)
# Create a partner Controller
controller_2 = Controller(PARTNER)