Kontrolieris#

Ievads#

VEX IQ (2. paaudzes) kontrolierim ir pogas un divas kursorsviras. Kontroliera metodes var izmantot, lai pārbaudītu pogu nospiešanas reižu skaitu, nolasītu kursorsviras kustību, iespējotu vai atspējotu konfigurētas kontrollera darbības vai palaistu funkcijas, kad notiek kontrollera notikumi.

IQ (2. paaudzes) smadzenes var izveidot savienojumu ar IQ (2. paaudzes) vai IQ (1. paaudzes) kontrolieri. IQ (1. paaudzes) kontrolierim ir jābūt instalētam zilam viedajam radio.

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ā kontrollera nosaukuma piemērs tiek izmantots controller Ja nepieciešams, nomainiet to ar savu konfigurēto nosaukumu.

Zemāk ir visu pieejamo metožu saraksts:

Darbība — ieslēdziet vai izslēdziet konfigurētās kontrollera darbības.

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ība#

remote_control_code_enabled#

remote_control_code_enabled ir mainīgais, kas iespējo vai atspējo kontrollera darbības, kas konfigurētas izvēlnē “Ierīces”. 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.

# Use custom controller code, then re-enable configured actions
remote_control_code_enabled = False

while True:
    if controller.axisA.position() > 0:
        drivetrain.drive(FORWARD)
    elif controller.axisA.position() < 0:
        drivetrain.drive(REVERSE)
    elif controller.buttonEUp.pressing():
        break
    else:
        drivetrain.stop()

    wait(20, MSEC)

remote_control_code_enabled = True

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.buttonEUp.

  • 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:

IQ 2. paaudzes kontroliera priekšējais un aizmugures skats, visas pogas iezīmētas dzeltenā krāsā. Kontroliera virsmas augšējā kreisajā un labajā stūrī ir divas kursorsviras pogas, zem kreisās kursorsviras ir E uz augšu un uz leju, bet zem labās - F uz augšu un uz leju. Kontroliera aizmugurē kreisajā un labajā pusē ir attiecīgi L uz augšu un uz leju, bet R uz augšu un uz leju.

Poga

Komanda

buttonEDown

controller.buttonEDown.pressing() — Poga E ▼

buttonEUp

controller.buttonEUp.pressing() — Poga E ▲

buttonFDown

controller.buttonFDown.pressing() — Poga F ▼

buttonFUp

controller.buttonFUp.pressing() — Poga F ▲

buttonL3

controller.buttonL3.pressing() — Kreisās vadības sviras poga, tikai IQ (2. paaudzes) kontrolierim

buttonLDown

controller.buttonLDown.pressing() — Poga L ▼

buttonLUp

controller.buttonLUp.pressing() — Poga L ▲

buttonR3

controller.buttonR3.pressing() — Labās vadības sviras poga, tikai IQ (2. paaudzes) kontrolierim

buttonRDown

controller.buttonRDown.pressing() — Poga R ▼

buttonRUp

controller.buttonRUp.pressing() — Poga R ▲

Parametri

Apraksts

Šai metodei nav parametru.

# Turn right while E Up is held
while True:
    if controller.buttonEUp.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.axisA.

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

IQ 2. paaudzes kontrolieris ar iezīmētām četrām kursorsviras asīm. Kreisajā kursorsvirā A ass ir vertikāla, bet B ass ir horizontāla. Labajā kursorsvirā C ass ir horizontāla, bet D ass ir vertikāla.

Ass

Komanda

axisA

controller.axisA.position() — Kreisās vadības sviras vertikālā ass

axisB

controller.axisB.position() — Kreisās vadības sviras horizontālā ass

axisC

controller.axisC.position() — Labās vadības sviras horizontālā ass

axisD

controller.axisD.position() — Labās vadības sviras vertikālā ass

Parametri

Apraksts

Šai metodei nav parametru.

# Turn with the left joystick
remote_control_code_enabled = False

while True:
    if controller.axisB.position() > 10:
        drivetrain.turn(RIGHT)
    elif controller.axisB.position() < -10:
        drivetrain.turn(LEFT)
    else:
        drivetrain.stop()

    wait(20, MSEC)

Atzvani#

.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:

IQ 2. paaudzes kontroliera priekšējais un aizmugures skats, visas pogas iezīmētas dzeltenā krāsā. Kontroliera virsmas augšējā kreisajā un labajā stūrī ir divas kursorsviras pogas, zem kreisās kursorsviras ir E uz augšu un uz leju, bet zem labās - F uz augšu un uz leju. Kontroliera aizmugurē kreisajā un labajā pusē ir attiecīgi L uz augšu un uz leju, bet R uz augšu un uz leju.

Poga

Komanda

buttonEDown

controller.buttonEDown.pressed(callback, arg) — Poga E ▼

buttonEUp

controller.buttonEUp.pressed(callback, arg) — Poga E ▲

buttonFDown

controller.buttonFDown.pressed(callback, arg) — Poga F ▼

buttonFUp

controller.buttonFUp.pressed(callback, arg) — Poga F ▲

buttonL3

controller.buttonL3.pressed(callback, arg) — Kreisās vadības sviras poga, tikai IQ (2. paaudzes) kontrolierim

buttonLDown

controller.buttonLDown.pressed(callback, arg) — Poga L ▼

buttonLUp

controller.buttonLUp.pressed(callback, arg) — Poga L ▲

buttonR3

controller.buttonR3.pressed(callback, arg) — Labās vadības sviras poga, tikai IQ (2. paaudzes) kontrolierim

buttonRDown

controller.buttonRDown.pressed(callback, arg) — Poga R ▼

buttonRUp

controller.buttonRUp.pressed(callback, arg) — Poga R ▲

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 E Up is pressed
def drive_forward():
    drivetrain.drive_for(FORWARD, 100, MM)

controller.buttonEUp.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:

IQ 2. paaudzes kontroliera priekšējais un aizmugures skats, visas pogas iezīmētas dzeltenā krāsā. Kontroliera virsmas augšējā kreisajā un labajā stūrī ir divas kursorsviras pogas, zem kreisās kursorsviras ir E uz augšu un uz leju, bet zem labās - F uz augšu un uz leju. Kontroliera aizmugurē kreisajā un labajā pusē ir attiecīgi L uz augšu un uz leju, bet R uz augšu un uz leju.

Poga

Komanda

buttonEDown

controller.buttonEDown.released(callback, arg) — Poga E ▼

buttonEUp

controller.buttonEUp.released(callback, arg) — Poga E ▲

buttonFDown

controller.buttonFDown.released(callback, arg) — Poga F ▼

buttonFUp

controller.buttonFUp.released(callback, arg) — Poga F ▲

buttonL3

controller.buttonL3.released(callback, arg) — Kreisās vadības sviras poga, tikai IQ (2. paaudzes) kontrolierim

buttonLDown

controller.buttonLDown.released(callback, arg) — Poga L ▼

buttonLUp

controller.buttonLUp.released(callback, arg) — Poga L ▲

buttonR3

controller.buttonR3.released(callback, arg) — Labās kursorsviras poga, tikai IQ (2. paaudzes) kontrolierim

buttonRDown

controller.buttonRDown.released(callback, arg) — Poga R ▼

buttonRUp

controller.buttonRUp.released(callback, arg) — Poga R ▲

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.

# Stop driving when E Up is released
def stop_driving():
    drivetrain.stop()

controller.buttonEUp.released(stop_driving)

.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:

IQ 2. paaudzes kontrolieris ar iezīmētām četrām kursorsviras asīm. Kreisajā kursorsvirā A ass ir vertikāla, bet B ass ir horizontāla. Labajā kursorsvirā C ass ir horizontāla, bet D ass ir vertikāla.

Ass

Komanda

axisA

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

axisB

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

axisC

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

axisD

controller.axisD.changed(callback, arg) — Labās vadības sviras vertikā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 right joystick moves
def beep():
    brain.play_sound(SoundType.TADA)

controller.axisD.changed(beep)

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

Parametri

Apraksts

Šim konstruktoram nav parametru.

# Create a Controller object
my_controller = Controller()