Valdiklis#

Įvadas#

„VEX AIM One Stick“ valdiklis turi keturis mygtukus ir vairasvirtę. Vairasvirtę galima judinti dviem ašimis ir ją galima paspausti kaip mygtuką.

Valdiklio metodai gali būti naudojami mygtukų paspaudimams patikrinti, vairasvirtės judesiams nuskaityti, ryšiui ir akumuliatoriaus būsenai patikrinti arba funkcijoms vykdyti, kai įvyksta valdiklio įvykiai.

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

Getteriai – nuskaito mygtuką, valdymo svirtį, ryšį ir akumuliatoriaus būseną.

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

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

  • is_connected — Grąžina, ar valdiklis yra prijungtas.

  • get_battery_level — Grąžina valdiklio akumuliatoriaus lygį.

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.

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

  • True — Paspaudžiamas nurodytas mygtukas.

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

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

Mygtukas

Komanda

button_up

controller.button_up.pressing() — Mygtukas Aukštyn

button_down

controller.button_down.pressing() — Mygtukas Žemyn

button_left

controller.button_left.pressing() — Mygtukas Kairė

button_right

controller.button_right.pressing() — Mygtukas Dešinėn

button_stick

controller.button_stick.pressing() — Valdymo svirties mygtukas

VEX AIM vienos lazdelės valdiklis su vairasvirte kairėje ir keturiais mygtukais dešinėje. Vairasvirtė ir keturi mygtukai yra paryškinti.

Parametrai

Aprašymas

Šis metodas neturi parametrų.

# Move forward while the Up button is being pressed
while True:
    if controller.button_up.pressing():
        robot.move_at(0)
    else:
        robot.stop_all_movement()

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

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

Ašis

Komanda

axis1

controller.axis1.position() — Vertikali ašis

axis2

controller.axis2.position() — Horizontali ašis

VEX AIM valdiklis su vairasvirte kairėje ir keturiais mygtukais dešinėje. Paryškintos vairasvirtės 1 ir 2 ašys.

Parametrai

Aprašymas

Šis metodas neturi parametrų.

# Move forward when the joystick is moved up
while True:
    if controller.axis1.position() > 0:
        robot.move_at(0)
    else:
        robot.stop_all_movement()

    wait(20, MSEC)

is_connected#

is_connected grąžina, ar valdiklis yra prijungtas.

  • True — Valdiklis prijungtas.

  • False — Valdiklis neprijungtas.

Usage:
controller.is_connected()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

# Stop the robot if the controller disconnects
robot.move_at(0)

while True:
    if not controller.is_connected():
        robot.stop_all_movement()

    wait(100, MSEC)

get_battery_level#

get_battery_level grąžina valdiklio akumuliatoriaus lygį kaip skaičių nuo 0 iki 100.

Usage:
controller.get_battery_level()

Parametrai

Aprašymas

Šis metodas neturi parametrų.

# Display the controller's battery level
robot.screen.print(controller.get_battery_level())

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š penkių galimų mygtukų objektų:

Mygtukas

Komanda

button_up

controller.button_up.pressed(callback, arg) — Mygtukas Aukštyn

button_down

controller.button_down.pressed(callback, arg) — Mygtukas Žemyn

button_left

controller.button_left.pressed(callback, arg) — Mygtukas Kairėn

button_right

controller.button_right.pressed(callback, arg) — Mygtukas Dešinėn

button_stick

controller.button_stick.pressed(callback, arg) — Valdymo svirties mygtukas

VEX AIM vienos lazdelės valdiklis su vairasvirte kairėje ir keturiais mygtukais dešinėje. Vairasvirtė ir keturi mygtukai yra paryškinti.

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.

# Kick hard when the Up button is pressed
def kick_object():
    robot.kicker.kick(HARD)

controller.button_up.pressed(kick_object)

.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š penkių galimų mygtukų objektų:

Mygtukas

Komanda

button_up

controller.button_up.released(callback, arg) — Mygtukas Aukštyn

button_down

controller.button_down.released(callback, arg) — Mygtukas Žemyn

button_left

controller.button_left.released(callback, arg) — Mygtukas Kairė

button_right

controller.button_right.released(callback, arg) — Mygtukas Dešinėn

button_stick

controller.button_stick.released(callback, arg) — Valdymo svirties mygtukas

VEX AIM vienos lazdelės valdiklis su vairasvirte kairėje ir keturiais mygtukais dešinėje. Vairasvirtė ir keturi mygtukai yra paryškinti.

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.

# Clear the screen after the Up button is released
def clear_screen():
    robot.screen.clear_screen()

controller.button_up.released(clear_screen)

robot.screen.print("Press Up, then")
robot.screen.next_row()
robot.screen.print("Release 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š dviejų galimų ašių objektų:

Ašis

Komanda

axis1

controller.axis1.changed(callback, arg) — Vertikali ašis

axis2

controller.axis2.changed(callback, arg) — Horizontali ašis

VEX AIM valdiklis su vairasvirte kairėje ir keturiais mygtukais dešinėje. Paryškintos vairasvirtės 1 ir 2 ašys.

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.

# Show an emoji when the joystick moves up or down
def move_joystick():
    robot.screen.show_emoji(CONFUSED)

controller.axis1.changed(move_joystick)