Valdiklis#

Įvadas#

„VEX IQ“ (2-osios kartos) valdiklis turi mygtukus ir dvi valdymo svirtis. Valdiklio metodus galima naudoti mygtukų paspaudimams patikrinti, valdymo svirties judesiams nuskaityti, sukonfigūruotiems valdiklio veiksmams įjungti arba išjungti arba funkcijoms vykdyti, kai įvyksta valdiklio įvykiai.

„IQ (2-os kartos) Brain“ gali prisijungti prie „IQ (2-os kartos)“ arba „IQ (1-os kartos) valdiklio. „IQ (1-os kartos)“ valdiklyje turi būti įdiegtas mėlynas išmanusis radijas.

Konfigūruoti valdiklio veiksmai yra valdiklio elgsena, nustatyta meniu „Įrenginiai“. Naudokite remote_control_code_enabled , kad laikinai įjungtumėte arba išjungtumėte šiuos sukonfigūruotus veiksmus projekto metu.

Šiame puslapyje kaip valdiklio pavadinimo pavyzdys naudojamas controller Jei reikia, pakeiskite jį savo sukonfigūruotu pavadinimu.

Žemiau pateikiamas visų galimų metodų sąrašas:

Veiksmas – įjungti arba išjungti sukonfigūruotus valdiklio veiksmus.

Getteriai – nuskaito mygtukų būsenas ir vairasvirtės padėtis.

  • .pressing — Grąžina, ar nurodytas mygtukas yra paspaudžiamas.

  • .position — Grąžina nurodytos valdymo svirties ašies padėtį.

Atgaliniai iškvietimai – vykdyti funkcijas, kai pasikeičia valdiklio įvestis.

  • .pressed — Paleidžia funkciją, kai paspaudžiamas nurodytas mygtukas.

  • .released — Vykdo funkciją, kai atleidžiamas nurodytas mygtukas.

  • .changed — Vykdo funkciją, kai vairasvirtės padėtis pasikeičia išilgai nurodytos ašies.

Konstruktorius – rankiniu būdu sukuriamas valdiklio objektas.

Veiksmas#

remote_control_code_enabled#

remote_control_code_enabled yra kintamasis, kuris įjungia arba išjungia valdiklio veiksmus, konfigūruotus meniu „Įrenginiai“. Valdiklio konfigūruojami veiksmai yra įjungti pagal numatytuosius nustatymus.

Usage:
remote_control_code_enabled = state

Vertė

Aprašymas

True

Įgalina valdiklio konfigūruojamus veiksmus.

False

Išjungia valdiklio sukonfigūruotus veiksmus.

# 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

Getteriai#

.pressing#

.pressing grąžina, ar šiuo metu paspaudžiamas konkretus valdiklio mygtukas. Šis metodas turi būti iškviestas konkrečiam mygtuko objektui, pvz., controller.buttonEUp.

  • True — Paspaudžiamas nurodytas mygtukas.

  • False — Nurodytas mygtukas nėra paspaudžiamas.

Naudojimas:
Su šiuo metodu galima naudoti vieną iš galimų mygtuko objektų:

IQ antros kartos valdiklio priekinis ir galinis vaizdas, visi mygtukai paryškinti geltonai. Valdiklio paviršiaus viršutiniame kairiajame ir dešiniajame kampuose yra du valdymo svirties mygtukai: E aukštyn ir žemyn po kairiuoju valdymo svirtimi ir F aukštyn ir žemyn po dešiniuoju. Valdiklio gale, kairėje ir dešinėje pusėse, yra L aukštyn ir žemyn bei R aukštyn ir žemyn.

Mygtukas

Komanda

buttonEDown

controller.buttonEDown.pressing() — Mygtukas E ▼

buttonEUp

controller.buttonEUp.pressing() — Mygtukas E ▲

buttonFDown

controller.buttonFDown.pressing() — Mygtukas F ▼

buttonFUp

controller.buttonFUp.pressing() — Mygtukas F ▲

buttonL3

controller.buttonL3.pressing() — Kairiojo valdymo svirties mygtukas, tik IQ (2-osios kartos) valdikliui

buttonLDown

controller.buttonLDown.pressing() — Mygtukas L ▼

buttonLUp

controller.buttonLUp.pressing() — Mygtukas L ▲

buttonR3

controller.buttonR3.pressing() — Dešinysis valdymo svirties mygtukas, tik IQ (2-osios kartos) valdikliui

buttonRDown

controller.buttonRDown.pressing() — Mygtukas R ▼

buttonRUp

controller.buttonRUp.pressing() — Mygtukas R ▲

Parametrai

Aprašymas

Šis metodas neturi parametrų.

# Turn right while E Up is held
while True:
    if controller.buttonEUp.pressing():
        drivetrain.turn(RIGHT)
    else:
        drivetrain.stop()

    wait(20, MSEC)

.position#

.position grąžina valdymo svirties ašies padėtį kaip skaičių nuo -100 iki 100.

Šis metodas turi būti iškviestas konkrečiam „axis“ objektui, pvz., controller.axisA.

Naudojimas:
Su šiuo metodu galima naudoti vieną iš galimų ašies objektų:

IQ antros kartos valdiklis su paryškintomis keturiomis valdymo svirties ašimis. Kairiojoje valdymo svirtyje A ašis yra vertikali, o B ašis – horizontali. Dešiniojoje valdymo svirtyje C ašis yra horizontali, o D ašis – vertikali.

Ašis

Komanda

axisA

controller.axisA.position() — Kairiojo vairasvirtės vertikali ašis

axisB

controller.axisB.position() — Kairiojo valdymo svirties horizontalioji ašis

axisC

controller.axisC.position() — Dešiniojo vairasvirtės horizontali ašis

axisD

controller.axisD.position() — Dešiniojo vairasvirtės vertikali ašis

Parametrai

Aprašymas

Šis metodas neturi parametrų.

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

Atgaliniai skambučiai#

.pressed#

.pressed vykdo funkciją, kai paspaudžiamas nurodytas mygtukas. Kai jis naudojamas, funkcija bus paleista automatiškai kiekvieną kartą paspaudus tą mygtuką.

Naudojimas:
Su šiuo metodu galima naudoti vieną iš galimų mygtuko objektų:

IQ antros kartos valdiklio priekinis ir galinis vaizdas, visi mygtukai paryškinti geltonai. Valdiklio paviršiaus viršutiniame kairiajame ir dešiniajame kampuose yra du valdymo svirties mygtukai: E aukštyn ir žemyn po kairiuoju valdymo svirtimi ir F aukštyn ir žemyn po dešiniuoju. Valdiklio gale, kairėje ir dešinėje pusėse, yra L aukštyn ir žemyn bei R aukštyn ir žemyn.

Mygtukas

Komanda

buttonEDown

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

buttonEUp

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

buttonFDown

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

buttonFUp

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

buttonL3

controller.buttonL3.pressed(callback, arg) — Kairysis valdymo svirties mygtukas, tik IQ (2-osios kartos) valdikliui

buttonLDown

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

buttonLUp

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

buttonR3

controller.buttonR3.pressed(callback, arg) — Dešinysis valdymo svirties mygtukas, tik IQ (2-osios kartos) valdikliui

buttonRDown

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

buttonRUp

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

Parametras

Aprašymas

callback

Anksčiau apibrėžta function, kuri bus vykdoma kiekvieną kartą paspaudus nurodytą mygtuką.

arg

Pasirinktinai. Rinkinys su argumentais, kurie turi būti perduoti atgalinio iškvietimo funkcijai. Daugiau informacijos žr. Įvykių su parametrais naudojimas.

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

controller.buttonEUp.pressed(drive_forward)

.released#

.released paleidžia funkciją, kai atleidžiamas nurodytas mygtukas. Kai ji panaudojama, funkcija bus paleidžiama automatiškai kiekvieną kartą atleidus tą mygtuką.

Naudojimas:
Su šiuo metodu galima naudoti vieną iš galimų mygtuko objektų:

IQ antros kartos valdiklio priekinis ir galinis vaizdas, visi mygtukai paryškinti geltonai. Valdiklio paviršiaus viršutiniame kairiajame ir dešiniajame kampuose yra du valdymo svirties mygtukai: E aukštyn ir žemyn po kairiuoju valdymo svirtimi ir F aukštyn ir žemyn po dešiniuoju. Valdiklio gale, kairėje ir dešinėje pusėse, yra L aukštyn ir žemyn bei R aukštyn ir žemyn.

Mygtukas

Komanda

buttonEDown

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

buttonEUp

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

buttonFDown

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

buttonFUp

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

buttonL3

controller.buttonL3.released(callback, arg) — Kairiosios valdymo svirties mygtukas, tik IQ (2-osios kartos) valdikliui

buttonLDown

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

buttonLUp

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

buttonR3

controller.buttonR3.released(callback, arg) — Dešinysis valdymo svirties mygtukas, tik IQ (2-osios kartos) valdikliui

buttonRDown

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

buttonRUp

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

Parametras

Aprašymas

callback

Anksčiau apibrėžta function, kuri bus vykdoma kiekvieną kartą atleidus nurodytą mygtuką.

arg

Pasirinktinai. Rinkinys su argumentais, kurie turi būti perduoti atgalinio iškvietimo funkcijai. Daugiau informacijos žr. Įvykių su parametrais naudojimas.

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

controller.buttonEUp.released(stop_driving)

.changed#

.changed vykdo funkciją, kai vairasvirtės padėtis pasikeičia išilgai nurodytos ašies. Kai ši funkcija naudojama, ji bus vykdoma automatiškai kiekvieną kartą, kai vairasvirtės padėtis pasikeičia išilgai tos ašies.

Naudojimas:
Su šiuo metodu galima naudoti vieną iš galimų ašies objektų:

IQ antros kartos valdiklis su paryškintomis keturiomis valdymo svirties ašimis. Kairiojoje valdymo svirtyje A ašis yra vertikali, o B ašis – horizontali. Dešiniojoje valdymo svirtyje C ašis yra horizontali, o D ašis – vertikali.

Ašis

Komanda

axisA

controller.axisA.changed(callback, arg) — Kairiojo valdymo svirties vertikali ašis

axisB

controller.axisB.changed(callback, arg) — Kairiojo valdymo svirties horizontalioji ašis

axisC

controller.axisC.changed(callback, arg) — Dešiniojo valdymo svirties horizontali ašis

axisD

controller.axisD.changed(callback, arg) — Dešiniojo vairasvirtės vertikali ašis

Parametras

Aprašymas

callback

Anksčiau apibrėžta function, kuri paleidžiama kiekvieną kartą, kai vairasvirtės padėtis pasikeičia išilgai nurodytos ašies.

arg

Pasirinktinai. Rinkinys su argumentais, kurie turi būti perduoti atgalinio iškvietimo funkcijai. Daugiau informacijos žr. Įvykių su parametrais naudojimas.

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

controller.axisD.changed(beep)

Konstruktoriai#

Controller#

Controller valdiklis sukuria valdiklio objektą. Rankiniu būdu valdiklio objektą reikia kurti tik tada, kai konfigūruojamas valdiklis ne naudojant VEXcode.

Usage:
Controller()

Parametrai

Aprašymas

Šis konstruktorius neturi parametrų.

# Create a Controller object
my_controller = Controller()