Contrôleur#
Introduction#
La manette VEX AIM One Stick possède quatre boutons et un joystick. Ce dernier peut être déplacé sur deux axes et peut également être utilisé comme bouton.
Les méthodes du contrôleur peuvent être utilisées pour vérifier les appuis sur les boutons, lire les mouvements du joystick, vérifier la connexion et l’état de la batterie, ou exécuter des fonctions lorsque des événements du contrôleur se produisent.
Vous trouverez ci-dessous la liste de toutes les méthodes :
Indicateurs de lecture : bouton, joystick, connexion et état de la batterie.
.pressing— Renvoie si un bouton spécifié est en cours d’appui..position— Renvoie la position du joystick le long d’un axe spécifié.is_connected— Renvoie si le contrôleur est connecté.get_battery_level— Renvoie le niveau de batterie de la manette.
Rappels — Exécuter des fonctions lorsque l’entrée du contrôleur change.
Getters#
.pressing#
.pressing renvoie si un bouton spécifique de la manette est actuellement enfoncé. Cette méthode doit être appelée sur un objet bouton spécifique, tel que controller.button_up.
True— Le bouton spécifié est enfoncé.False— Le bouton spécifié n’est pas enfoncé.
Utilisation :
L’un des cinq objets bouton disponibles peut être utilisé avec cette méthode :
Bouton |
Commande |
|---|---|
|
|
|
|
|
|
|
|
|
|
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
# 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 renvoie la position d’un axe de joystick sous forme d’un nombre compris entre -100 et 100.
Cette méthode doit être appelée sur un objet axe spécifique, tel que controller.axis1.
Utilisation :
L’un des deux objets d’axe disponibles peut être utilisé avec cette méthode :
Axe |
Commande |
|---|---|
|
|
|
|
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
# 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 indique si la manette est connectée.
True— La manette est connectée.False— La manette n’est pas connectée.
Usage:
controller.is_connected()
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
# 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 renvoie le niveau de batterie du contrôleur sous forme de nombre de 0 à 100.
Usage:
controller.get_battery_level()
Paramètres |
Description |
|---|---|
Cette méthode ne comporte aucun paramètre. |
# Display the controller's battery level
robot.screen.print(controller.get_battery_level())
Rappels#
.pressed#
La commande .pressed exécute une fonction lorsque le bouton spécifié est enfoncé. Une fois utilisée, cette fonction s’exécutera automatiquement à chaque pression sur ce bouton.
Utilisation :
L’un des cinq objets bouton disponibles peut être utilisé avec cette méthode :
Bouton |
Commande |
|---|---|
|
|
|
|
|
|
|
|
|
|
Paramètre |
Description |
|---|---|
|
Une fonction précédemment définie à exécuter chaque fois que le bouton spécifié est pressé. |
|
Facultatif. Un tuple contenant les arguments à transmettre à la fonction de rappel. Voir Utilisation des événements avec des paramètres pour plus d’informations. |
# Kick hard when the Up button is pressed
def kick_object():
robot.kicker.kick(HARD)
controller.button_up.pressed(kick_object)
.released#
La commande .released exécute une fonction lorsque le bouton spécifié est relâché. Une fois utilisée, cette fonction s’exécutera automatiquement à chaque relâchement de ce bouton.
Utilisation :
L’un des cinq objets bouton disponibles peut être utilisé avec cette méthode :
Bouton |
Commande |
|---|---|
|
|
|
|
|
|
|
|
|
|
Paramètre |
Description |
|---|---|
|
Une fonction précédemment définie à exécuter chaque fois que le bouton spécifié est relâché. |
|
Facultatif. Un tuple contenant les arguments à transmettre à la fonction de rappel. Voir Utilisation des événements avec des paramètres pour plus d’informations. |
# 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#
La fonction changed (valeur .changed exécute une fonction lorsque la position du joystick change le long de l’axe spécifié. Une fois utilisée, cette fonction s’exécutera automatiquement à chaque changement de position du joystick le long de cet axe.
Utilisation :
L’un des deux objets d’axe disponibles peut être utilisé avec cette méthode :
Axe |
Commande |
|---|---|
|
|
|
|
Paramètre |
Description |
|---|---|
|
Une fonction précédemment définie à exécuter chaque fois que la position du joystick change le long de l’axe spécifié. |
|
Facultatif. Un tuple contenant les arguments à transmettre à la fonction de rappel. Voir Utilisation des événements avec des paramètres pour plus d’informations. |
# Show an emoji when the joystick moves up or down
def move_joystick():
robot.screen.show_emoji(CONFUSED)
controller.axis1.changed(move_joystick)