Valdiklis#
Įvadas#
V5 valdiklis turi mygtukus, dvi valdymo svirtis, vibracijos variklį ir ekraną. Valdiklio metodus galima naudoti mygtukų paspaudimams tikrinti, valdymo svirties judesiams nuskaityti, valdikliui vibracijos signalizuoti, sukonfigūruotiems valdiklio veiksmams įjungti arba išjungti, funkcijoms vykdyti, kai įvyksta valdiklio įvykiai, arba tekstui rodyti valdiklio ekrane.
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_1 Jei reikia, pakeiskite jį savo sukonfigūruotu pavadinimu.
Žemiau pateikiamas visų galimų metodų sąrašas:
Veiksmai – sudundinkite valdiklį arba įjunkite / išjunkite sukonfigūruotus valdiklio veiksmus.
rumble— Valdiklyje atkuria dundesio modelį.remote_control_code_enabled– Įjungia arba išjungia valdiklio veiksmus, konfigūruotus įrenginių meniu.
Ekranas – rodyti tekstą ir skaičius valdiklio ekrane.
print— Valdiklio ekrane rodo tekstą, skaičius arba kintamųjų reikšmes.set_cursor— Perkelia žymeklį į nurodytą eilutę ir stulpelį valdiklio ekrane.column— Grąžina dabartinį žymeklio stulpelį valdiklio ekrane.row— Grąžina dabartinę žymeklio eilutę valdiklio ekrane.clear_screen— Išvalo valdiklio ekraną.clear_row— Išvalo vieną eilutę valdiklio ekrane.next_row— Perkelia žymeklį į kitą eilutę valdiklio ekrane.
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ą.
Veiksmai#
rumble#
rumble valdiklyje atkuria rumble šabloną. Šablono eilutėje taškai yra trumpi rumble’ai, brūkšneliai – ilgi rumble’ai, o tarpai – pauzės.
Usage:
controller_1.rumble(pattern)
Parametras |
Aprašymas |
|---|---|
|
Eilutė, sudaryta iš taškų, brūkšnelių ir tarpų, žyminti dundėjimo modelį. |
# Rumble the Controller with a short-short-long-long pattern
controller_1.rumble("..--")
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. |
# 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
Ekranas#
V5 valdiklio ekrane yra 3 eilutės ir 19 stulpelių tekstui ir skaičiams rodyti.

print#
controller_1.screen.print rodo tekstą, skaičius arba kintamųjų reikšmes valdiklio ekrane, naudodamas dabartinę žymeklio padėtį.
Usage:
controller_1.screen.print(value, sep, precision)
Parametras |
Aprašymas |
|---|---|
|
Tekstas, skaičius arba kintamojo reikšmė, kuri bus rodoma valdiklio ekrane. Galima atspausdinti daugiau nei vieną reikšmę, atskiriant jas kableliais. |
|
Pasirinktinai. Eilutė, kurią reikia įterpti tarp reikšmių. Ji turi būti parašyta kaip raktinio žodžio argumentas, pvz. |
|
Pasirinktinai. Dešimtainių vietų skaičius, rodomas spausdinant paprastus skaičius. Tai turi būti parašyta kaip raktinio žodžio argumentas, pvz. |
# 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 perkelia žymeklį į nurodytą eilutę ir stulpelį valdiklio ekrane. Kita atspausdinta reikšmė bus rodoma toje pozicijoje.
Usage:
controller_1.screen.set_cursor(row, col)
Parametras |
Aprašymas |
|---|---|
|
Žymeklio eilutė nuo |
|
Žymeklio stulpelis nuo |
# Print text at row 2, column 1
controller_1.screen.set_cursor(2, 1)
controller_1.screen.print("Ready")
column#
column grąžina dabartinį stulpelį, kuriame tekstas bus spausdinamas valdiklio ekrane.
Usage:
controller_1.screen.column()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# Print the current column number
controller_1.screen.set_cursor(2, 3)
controller_1.screen.print(controller_1.screen.column())
row#
row grąžina dabartinę eilutę, kurioje tekstas bus spausdinamas valdiklio ekrane.
Usage:
controller_1.screen.row()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# Print the current row number
controller_1.screen.set_cursor(2, 3)
controller_1.screen.print(controller_1.screen.row())
clear_screen#
clear_screen išvalo valdiklio ekraną ir perkelia žymeklį atgal į pradinę padėtį.
Usage:
controller_1.screen.clear_screen()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# 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 išvalo vieną eilutę valdiklio ekrane.
Usage:
controller_1.screen.clear_row(row)
Parametras |
Aprašymas |
|---|---|
|
Pasirinktinai. Eilutė, kurią reikia išvalyti, nuo |
# Clear row 2 on the Controller screen
controller_1.screen.clear_row(2)
next_row#
next_row perkelia žymeklį į 1 stulpelį kitoje valdiklio ekrano eilutėje. Kita atspausdinta reikšmė bus rodoma toje eilutėje.
Usage:
controller_1.screen.next_row()
Parametrai |
Aprašymas |
|---|---|
Šis metodas neturi parametrų. |
# Print on two rows
controller_1.screen.print("VEX V5")
controller_1.screen.next_row()
controller_1.screen.print("Controller")
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_1.buttonA.
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 L1 is pressed
while True:
if controller_1.buttonL1.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 ašies objektui, pvz. controller_1.axis1.
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_1.axis4.position() > 10:
drivetrain.turn(RIGHT)
elif controller_1.axis4.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 A is pressed
def drive_forward():
drivetrain.drive_for(FORWARD, 100, MM)
controller_1.buttonA.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. |
# Drive backward when A is released
def back_up():
drivetrain.drive_for(REVERSE, 100, MM)
controller_1.buttonA.released(back_up)
.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 left joystick moves
def tada_sound():
brain.play_sound(SoundType.TADA)
controller_1.axis4.changed(tada_sound)
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(controller_type)
Parametras |
Aprašymas |
|---|---|
|
Pasirinktinai. Sukurtinas valdiklio tipas: |
# Create the primary Controller
controller_1 = Controller(PRIMARY)
# Create a partner Controller
controller_2 = Controller(PARTNER)