Kontrolieris#

Ievads#

V5 kontrolierim ir pogas, divas kursorsviras, vibrācijas motors un ekrāns. Kontroliera metodes var izmantot, lai pārbaudītu pogu nospiešanas signālus, nolasītu kursorsviras kustību, aktivizētu kontroliera vibrāciju, iespējotu vai atspējotu konfigurētas kontroliera darbības, palaistu funkcijas, kad notiek kontroliera notikumi, vai parādītu tekstu kontroliera ekrānā.

Konfigurētās kontrollera darbības ir kontrollera uzvedība, kas iestatīta izvēlnē “Ierīces”. Izmantojiet remote_control_code_enabled , lai projekta laikā īslaicīgi iespējotu vai atspējotu šīs konfigurētās darbības.

Šajā lapā kā kontroliera nosaukuma piemērs tiek izmantots controller_1 Ja nepieciešams, nomainiet to ar savu konfigurēto nosaukumu.

Zemāk ir visu pieejamo metožu saraksts:

Darbības — aktivizēt kontroliera vibrāciju vai iespējot/atspējot konfigurētas kontroliera darbības.

  • rumble — Atskaņo dārdoņas rakstu kontrolierī.

  • remote_control_code_enabled — Iespējo vai atspējo kontrollera darbības, kas konfigurētas ierīču izvēlnē.

Ekrāns — Attēlot tekstu un ciparus kontrollera ekrānā.

  • print — Kontroliera ekrānā parāda tekstu, skaitļus vai mainīgo vērtības.

  • set_cursor — Pārvieto kursoru uz norādīto rindu un kolonnu kontrollera ekrānā.

  • column — Atgriež pašreizējo kursora kolonnu kontrollera ekrānā.

  • row rinda — Atgriež pašreizējo kursora rindu kontrollera ekrānā.

  • clear_screen — Notīra kontrollera ekrānu.

  • clear_row — Notīra vienu rindu kontrollera ekrānā.

  • next_row — Pārvieto kursoru uz nākamo rindu kontrollera ekrānā.

Iegūtāji — nolasa pogu stāvokļus un kursorsviru pozīcijas.

  • .pressing — Atgriež, vai tiek nospiesta norādītā poga.

  • .position — Returns the position of a specified joystick axis.

Atzvanīšanas funkcijas — palaist funkcijas, kad mainās kontrollera ievade.

  • .pressed — Izpilda funkciju, kad tiek nospiesta norādītā poga.

  • .released — Runs a function when a specified button is released.

  • .changed — Runs a function when the joystick’s position changes along a specified axis.

Konstruktors — manuāli izveidojiet kontroliera objektu.

Darbības#

rumble#

rumble atskaņo dārdoņas rakstu uz kontrollera. Raksta virknē punkti ir īsi dārdoņi, defises ir gari dārdoņi, un atstarpes ir pauzes.

Usage:
controller_1.rumble(pattern)

Parametrs

Apraksts

pattern

Virkne, kas sastāv no punktiem, defisēm un atstarpēm, kas attēlo dārdoņas rakstu.

# Rumble the Controller with a short-short-long-long pattern
controller_1.rumble("..--")

remote_control_code_enabled#

remote_control_code_enabled ir mainīgais, kas iespējo vai atspējo kontrollera darbības, kas konfigurētas ierīču izvēlnē. Kontroliera konfigurētās darbības ir iespējotas pēc noklusējuma.

Usage:
remote_control_code_enabled = state

Vērtība

Apraksts

True

Iespējo kontrollera konfigurētās darbības.

False

Atspējo kontrollera konfigurētās darbības.

# 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

Ekrāns#

V5 kontrollera ekrānā ir 3 rindas un 19 kolonnas teksta un skaitļu attēlošanai.

V5 kontrollera ekrāna ekrānuzņēmums, kurā redzamas rindas un kolonnas drukājamajā apgabalā. 1. rinda, 1. kolonna sākas augšējā kreisajā stūrī, un 3. rinda, 19. kolonna atrodas apakšējā labajā stūrī.

print#

controller_1.screen.print parāda tekstu, skaitļus vai mainīgo vērtības kontrollera ekrānā, izmantojot pašreizējo kursora pozīciju.

Usage:
controller_1.screen.print(value, sep, precision)

Parametrs

Apraksts

value

Teksts, skaitlis vai mainīgā vērtība, kas jāparāda kontrollera ekrānā. Vairāk nekā vienu vērtību var parādīt, atdalot tās ar komatiem.

sep

Neobligāti. Virkne, kas jāievieto starp vērtībām. Tai jābūt rakstītai kā atslēgvārda argumentam, piemēram sep=”- “. Noklusējuma vērtība ir ” “.

precision

Neobligāti. Decimālzīmju skaits, kas jāparāda, drukājot vienkāršus skaitļus. Tas jāraksta kā atslēgvārda arguments, piemēram, precision=2Noklusējuma vērtība ir 2.

# 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ārvieto kursoru uz norādīto rindu un kolonnu kontrollera ekrānā. Nākamā izdrukātā vērtība parādīsies šajā pozīcijā.

Usage:
controller_1.screen.set_cursor(row, col)

Parametrs

Apraksts

row

Kursora rinda no 1 līdz 3.

col

Kursora kolonna no 1 līdz 19.

# Print text at row 2, column 1
controller_1.screen.set_cursor(2, 1)
controller_1.screen.print("Ready")

column#

column atgriež pašreizējo kolonnu, kurā teksts tiks drukāts kontrollera ekrānā.

Usage:
controller_1.screen.column()

Parametri

Apraksts

Šai metodei nav parametru.

# Print the current column number
controller_1.screen.set_cursor(2, 3)
controller_1.screen.print(controller_1.screen.column())

row#

row  rinda atgriež pašreizējo rindu, kurā teksts tiks drukāts kontrollera ekrānā.

Usage:
controller_1.screen.row()

Parametri

Apraksts

Šai metodei nav parametru.

# Print the current row number
controller_1.screen.set_cursor(2, 3)
controller_1.screen.print(controller_1.screen.row())

clear_screen#

clear_screen notīra kontrollera ekrānu un pārvieto kursoru atpakaļ sākuma pozīcijā.

Usage:
controller_1.screen.clear_screen()

Parametri

Apraksts

Šai metodei nav parametru.

# 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 notīra vienu rindu kontrollera ekrānā.

Usage:
controller_1.screen.clear_row(row)

Parametrs

Apraksts

row

Neobligāti. Rinda, kas jātīra, no 1 līdz 3Ja rinda nav norādīta, tiek notīrīta pašreizējā kursora rinda.

# Clear row 2 on the Controller screen
controller_1.screen.clear_row(2)

next_row#

next_row pārvieto kursoru uz 1. kolonnu nākamajā kontrollera ekrāna rindā. Nākamā drukātā vērtība parādīsies šajā rindā.

Usage:
controller_1.screen.next_row()

Parametri

Apraksts

Šai metodei nav parametru.

# Print on two rows
controller_1.screen.print("VEX V5")
controller_1.screen.next_row()
controller_1.screen.print("Controller")

Getteri#

.pressing#

.pressing , tiek atgriezts, vai pašlaik tiek nospiesta konkrēta kontrollera poga. Šī metode ir jāizsauc konkrētam pogas objektam, piemēram, controller_1.buttonA.

  • True — Tiek nospiesta norādītā poga.

  • False — Norādītā poga netiek nospiesta.

Lietojums:
Ar šo metodi var izmantot vienu no pieejamajiem pogas objektiem:

V5 kontroliera priekšpuse un aizmugure ar dzeltenā krāsā iezīmētām pogām. Kontroliera virsmā kreisajā pusē ir augšupvērstās, lejupvērstās, kreisās un labās bultiņas pogas, bet labajā pusē — X, A, B, Y pogas pulksteņrādītāja virzienā no pulksten 12:00. Kontroliera aizmugurē kreisajā un labajā pusē attiecīgi atrodas L1, L2, R1 un R2.

Poga

Komanda

buttonA

controller_1.buttonA.pressing() — Poga A

buttonB

controller_1.buttonB.pressing() — Poga B

buttonX

controller_1.buttonX.pressing() — Poga X

buttonY

controller_1.buttonY.pressing() — Y poga

buttonDown

controller_1.buttonDown.pressing() — Poga Uz leju

buttonUp

controller_1.buttonUp.pressing() — Poga Uz augšu

buttonLeft

controller_1.buttonLeft.pressing() — Poga Kreisā

buttonRight

controller_1.buttonRight.pressing() — Pa labi poga

buttonL1

controller_1.buttonL1.pressing() — Poga L1

buttonL2

controller_1.buttonL2.pressing() — Poga L2

buttonR1

controller_1.buttonR1.pressing() — Poga R1

buttonR2

controller_1.buttonR2.pressing() — Poga R2

Parametri

Apraksts

Šai metodei nav parametru.

# Turn right while L1 is pressed
while True:
    if controller_1.buttonL1.pressing():
        drivetrain.turn(RIGHT)
    else:
        drivetrain.stop()

    wait(20, MSEC)

.position#

.position atgriež kursorsviras ass pozīciju kā skaitli no -100 līdz 100.

Šī metode ir jāizsauc konkrētam ass objektam, piemēram, controller_1.axis1.

Lietojums:
Ar šo metodi var izmantot vienu no pieejamajiem asu objektiem:

VEX V5 kontrolieris ar apzīmētām asīm ap kursorsvirām. 1. un 2. ass atrodas ap labo kursorsviru, bet 3. un 4. ass — ap kreiso.

Ass

Komanda

axis1

controller_1.axis1.position() — Labās vadības sviras horizontālā ass

axis2

controller_1.axis2.position() — Labās vadības sviras vertikālā ass

axis3

controller_1.axis3.position() — Kreisās vadības sviras vertikālā ass

axis4

controller_1.axis4.position() — Kreisās vadības sviras horizontālā ass

Parametri

Apraksts

Šai metodei nav parametru.

# 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)

Atzvanīšanas#

.pressed#

.pressed palaiž funkciju, kad tiek nospiesta norādītā poga. Kad tā ir izmantota, funkcija tiks palaista automātiski katru reizi, kad tiks nospiesta šī poga.

Lietojums:
Ar šo metodi var izmantot vienu no pieejamajiem pogas objektiem:

V5 kontroliera priekšpuse un aizmugure ar dzeltenā krāsā iezīmētām pogām. Kontroliera virsmā kreisajā pusē ir augšupvērstās, lejupvērstās, kreisās un labās bultiņas pogas, bet labajā pusē — X, A, B, Y pogas pulksteņrādītāja virzienā no pulksten 12:00. Kontroliera aizmugurē kreisajā un labajā pusē attiecīgi atrodas L1, L2, R1 un R2.

Poga

Komanda

buttonA

controller_1.buttonA.pressed(callback, arg) — Poga A

buttonB

controller_1.buttonB.pressed(callback, arg) — Poga B

buttonX

controller_1.buttonX.pressed(callback, arg) — Poga X

buttonY

controller_1.buttonY.pressed(callback, arg) — Y poga

buttonDown

controller_1.buttonDown.pressed(callback, arg) — Poga Uz leju

buttonUp

controller_1.buttonUp.pressed(callback, arg) — Poga Uz augšu

buttonLeft

controller_1.buttonLeft.pressed(callback, arg) — Poga Pa kreisi

buttonRight

controller_1.buttonRight.pressed(callback, arg) — Pa labi poga

buttonL1

controller_1.buttonL1.pressed(callback, arg) — Poga L1

buttonL2

controller_1.buttonL2.pressed(callback, arg) — Poga L2

buttonR1

controller_1.buttonR1.pressed(callback, arg) — Poga R1

buttonR2

controller_1.buttonR2.pressed(callback, arg) — Poga R2

Parametrs

Apraksts

callback

Iepriekš definēta funkcija, kas tiek palaista katru reizi, kad tiek nospiesta norādītā poga.

arg

Neobligāti. Kortežs, kas satur argumentus, kas jānodod atzvanīšanas funkcijai. Plašāku informāciju skatiet sadaļā Notikumu izmantošana ar parametriem.

# Drive forward when A is pressed
def drive_forward():
    drivetrain.drive_for(FORWARD, 100, MM)

controller_1.buttonA.pressed(drive_forward)

.released#

.released palaiž funkciju, kad tiek atlaista norādītā poga. Kad tā ir izmantota, funkcija tiks palaista automātiski katru reizi, kad poga tiek atlaista.

Lietojums:
Ar šo metodi var izmantot vienu no pieejamajiem pogas objektiem:

V5 kontroliera priekšpuse un aizmugure ar dzeltenā krāsā iezīmētām pogām. Kontroliera virsmā kreisajā pusē ir augšupvērstās, lejupvērstās, kreisās un labās bultiņas pogas, bet labajā pusē — X, A, B, Y pogas pulksteņrādītāja virzienā no pulksten 12:00. Kontroliera aizmugurē kreisajā un labajā pusē attiecīgi atrodas L1, L2, R1 un R2.

Poga

Komanda

buttonA

controller_1.buttonA.released(callback, arg) — Poga A

buttonB

controller_1.buttonB.released(callback, arg) — Poga B

buttonX

controller_1.buttonX.released(callback, arg) — Poga X

buttonY

controller_1.buttonY.released(callback, arg) — Y poga

buttonDown

controller_1.buttonDown.released(callback, arg) — Poga Lejup

buttonUp

controller_1.buttonUp.released(callback, arg) — Poga Uz augšu

buttonLeft

controller_1.buttonLeft.released(callback, arg) — Poga Pa kreisi

buttonRight

controller_1.buttonRight.released(callback, arg) — Pa labi poga

buttonL1

controller_1.buttonL1.released(callback, arg) — Poga L1

buttonL2

controller_1.buttonL2.released(callback, arg) — Poga L2

buttonR1

controller_1.buttonR1.released(callback, arg) — Poga R1

buttonR2

controller_1.buttonR2.released(callback, arg) — Poga R2

Parametrs

Apraksts

callback

Iepriekš definēta funkcija, kas jāizpilda katru reizi, kad tiek atlaista norādītā poga.

arg

Neobligāti. Kortežs, kas satur argumentus, kas jānodod atzvanīšanas funkcijai. Plašāku informāciju skatiet sadaļā Notikumu izmantošana ar parametriem.

# Drive backward when A is released
def back_up():
    drivetrain.drive_for(REVERSE, 100, MM)

controller_1.buttonA.released(back_up)

.changed#

.changed palaiž funkciju, kad mainās kursorsviras pozīcija pa norādīto asi. Kad tā tiek izmantota, funkcija darbosies automātiski katru reizi, kad mainīsies kursorsviras pozīcija pa šo asi.

Lietojums:
Ar šo metodi var izmantot vienu no pieejamajiem asu objektiem:

VEX V5 kontrolieris ar apzīmētām asīm ap kursorsvirām. 1. un 2. ass atrodas ap labo kursorsviru, bet 3. un 4. ass — ap kreiso.

Ass

Komanda

axis1

controller_1.axis1.changed(callback, arg) — Labās vadības sviras horizontālā ass

axis2

controller_1.axis2.changed(callback, arg) — Labās vadības sviras vertikālā ass

axis3

controller_1.axis3.changed(callback, arg) — Kreisās vadības sviras vertikālā ass

axis4

controller_1.axis4.changed(callback, arg) — Kreisās vadības sviras horizontālā ass

Parametrs

Apraksts

callback

Iepriekš definēta funkcija, kas tiek palaista katru reizi, kad kursorsviras pozīcija mainās pa norādīto asi.

arg

Neobligāti. Kortežs, kas satur argumentus, kas jānodod atzvanīšanas funkcijai. Plašāku informāciju skatiet sadaļā Notikumu izmantošana ar parametriem.

# Play a sound when the left joystick moves
def tada_sound():
    brain.play_sound(SoundType.TADA)

controller_1.axis4.changed(tada_sound)

Konstruktori#

Controller#

Controller  kontrolleris izveido kontroliera objektu. Kontroliera objekta manuāla izveide ir nepieciešama tikai tad, ja kontrolieris tiek konfigurēts ārpus VEXcode.

Usage:
Controller(controller_type)

Parametrs

Apraksts

controller_type

Neobligāti. Izveidojamā kontrollera tips: PRIMARY primārajam kontrollerim, kas savienots ar smadzenēm, vai PARTNER otrajam kontrollerim, kas savienots ar smadzenēm.

# Create the primary Controller
controller_1 = Controller(PRIMARY)

# Create a partner Controller
controller_2 = Controller(PARTNER)