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.
remote_control_code_enabled– Įjungia arba išjungia valdiklio veiksmus, konfigūruotus meniu „Įrenginiai“.
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.
Controller— Sukuria valdiklio objektą.
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 |
|---|---|
|
Įgalina valdiklio konfigūruojamus veiksmus. |
|
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ų:

Mygtukas |
Komanda |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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ų:

Ašis |
Komanda |
|---|---|
|
|
|
|
|
|
|
|
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ų:

Mygtukas |
Komanda |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Parametras |
Aprašymas |
|---|---|
|
Anksčiau apibrėžta function, kuri bus vykdoma kiekvieną kartą paspaudus nurodytą mygtuką. |
|
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ų:

Mygtukas |
Komanda |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Parametras |
Aprašymas |
|---|---|
|
Anksčiau apibrėžta function, kuri bus vykdoma kiekvieną kartą atleidus nurodytą mygtuką. |
|
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ų:

Ašis |
Komanda |
|---|---|
|
|
|
|
|
|
|
|
Parametras |
Aprašymas |
|---|---|
|
Anksčiau apibrėžta function, kuri paleidžiama kiekvieną kartą, kai vairasvirtės padėtis pasikeičia išilgai nurodytos ašies. |
|
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()