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.
remote_control_code_enabled— Iespējo vai atspējo kontrollera darbības, kas konfigurētas ierīču izvēlnē.
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.
Controller— Izveido Controller 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 |
|---|---|
|
Iespējo kontrollera konfigurētās darbības. |
|
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:

Poga |
Komanda |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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:

Ass |
Komanda |
|---|---|
|
|
|
|
|
|
|
|
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:

Poga |
Komanda |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Parametrs |
Apraksts |
|---|---|
|
Iepriekš definēta funkcija, kas tiek palaista katru reizi, kad tiek nospiesta norādītā poga. |
|
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:

Poga |
Komanda |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Parametrs |
Apraksts |
|---|---|
|
Iepriekš definēta funkcija, kas jāizpilda katru reizi, kad tiek atlaista norādītā poga. |
|
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:

Ass |
Komanda |
|---|---|
|
|
|
|
|
|
|
|
Parametrs |
Apraksts |
|---|---|
|
Iepriekš definēta funkcija, kas tiek palaista katru reizi, kad kursorsviras pozīcija mainās pa norādīto asi. |
|
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()