Ohjain#
Johdanto#
VEX AIM One Stick -ohjaimessa on neljä painiketta ja joystick. Joystickia voi liikuttaa kahdella akselilla ja sitä voi myös painaa kuten painiketta.
Ohjainmetodeja voidaan käyttää painikkeiden painallusten tarkistamiseen, joystickin liikkeiden lukemiseen, yhteyden ja akun tilan tarkistamiseen tai toimintojen suorittamiseen ohjaintapahtumien yhteydessä.
Alla on luettelo kaikista menetelmistä:
Getterit — Lue painike, joystick, yhteys ja akun tila.
.pressing— Palauttaa tiedon siitä, painetaanko määritettyä painiketta..position— Palauttaa joystickin asennon määritetyn akselin suuntaisesti.is_connected— Palauttaa, onko ohjain yhdistetty.get_battery_level— Palauttaa ohjaimen akun varaustason.
Takaisinkutsutoiminnot — Suorita funktioita, kun ohjaimen syöte muuttuu.
Getterit#
.pressing#
.pressing palauttaa tiedon, painetaanko tiettyä ohjaimen painiketta parhaillaan. Tätä metodia on kutsuttava tietylle painikeobjektille, kuten controller.button_up.
True— Määritettyä painiketta painetaan.False— Määritettyä painiketta ei paineta.
Käyttö:
Tämän metodin kanssa voidaan käyttää yhtä viidestä käytettävissä olevasta painikeobjektista:
Painike |
Komento |
|---|---|
|
|
|
|
|
|
|
|
|
|
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
# 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 palauttaa joystick-akselin asennon lukuna väliltä -100 - 100.
Tätä metodia täytyy kutsua tietylle akseliobjektille, kuten controller.axis1.
Käyttö:
Tällä metodilla voidaan käyttää yhtä kahdesta käytettävissä olevasta akseliobjektista:
Akseli |
Komento |
|---|---|
|
|
|
|
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
# 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 palauttaa, onko ohjain yhdistetty.
True— Ohjain on yhdistetty.False— Ohjainta ei ole yhdistetty.
Usage:
controller.is_connected()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
# 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 palauttaa ohjaimen akun varaustason lukuna väliltä 0 - 100.
Usage:
controller.get_battery_level()
Parametrit |
Kuvaus |
|---|---|
Tällä menetelmällä ei ole parametreja. |
# Display the controller's battery level
robot.screen.print(controller.get_battery_level())
Takaisinkutsut#
.pressed#
.pressed suorittaa funktion, kun määritettyä painiketta painetaan. Kun painiketta on käytetty, funktio suoritetaan automaattisesti joka kerta, kun painiketta painetaan.
Käyttö:
Tämän metodin kanssa voidaan käyttää yhtä viidestä käytettävissä olevasta painikeobjektista:
Painike |
Komento |
|---|---|
|
|
|
|
|
|
|
|
|
|
Parametri |
Kuvaus |
|---|---|
|
Aiemmin määritelty function, joka suoritetaan aina, kun määritettyä painiketta painetaan. |
|
Valinnainen. Tuple, joka sisältää argumentteja, jotka välitetään takaisinkutsufunktiolle. Lisätietoja on kohdassa Tapahtumien käyttö parametrien kanssa. |
# Kick hard when the Up button is pressed
def kick_object():
robot.kicker.kick(HARD)
controller.button_up.pressed(kick_object)
.released#
.released suorittaa funktion, kun määritetty painike vapautetaan. Kun painiketta on käytetty, funktio suoritetaan automaattisesti joka kerta, kun painike vapautetaan.
Käyttö:
Tämän metodin kanssa voidaan käyttää yhtä viidestä käytettävissä olevasta painikeobjektista:
Painike |
Komento |
|---|---|
|
|
|
|
|
|
|
|
|
|
Parametri |
Kuvaus |
|---|---|
|
Aiemmin määritelty function, joka suoritetaan aina, kun määritetty painike vapautetaan. |
|
Valinnainen. Tuple, joka sisältää argumentteja, jotka välitetään takaisinkutsufunktiolle. Lisätietoja on kohdassa Tapahtumien käyttö parametrien kanssa. |
# 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 suorittaa funktion, kun joystickin asento muuttuu määritetyn akselin suuntaisesti. Kun sitä käytetään, funktio suoritetaan automaattisesti joka kerta, kun joystickin asento muuttuu kyseisellä akselilla.
Käyttö:
Tällä metodilla voidaan käyttää yhtä kahdesta käytettävissä olevasta akseliobjektista:
Akseli |
Komento |
|---|---|
|
|
|
|
Parametri |
Kuvaus |
|---|---|
|
Aiemmin määritelty function, joka suoritetaan aina, kun joystickin asento muuttuu määritetyn akselin suuntaisesti. |
|
Valinnainen. Tuple, joka sisältää argumentteja, jotka välitetään takaisinkutsufunktiolle. Lisätietoja on kohdassa Tapahtumien käyttö parametrien kanssa. |
# Show an emoji when the joystick moves up or down
def move_joystick():
robot.screen.show_emoji(CONFUSED)
controller.axis1.changed(move_joystick)