Skip to main content

Contrôleurs et boucles

Dans les compétitions, les équipes doivent manipuler leurs robots sans fil avec des contrôleurs. Le contrôleur est programmé pour mettre à jour le robot en fonction des entrées de l'utilisateur. Les boucles sont utilisées dans le projet afin que le robot vérifie à plusieurs reprises les informations d'entrée mises à jour. Les boucles permettent au projet de vérifier rapidement quels boutons ont été pressés ou jusqu'où les joysticks ont été poussés. Une fois vérifiées, ces informations sont rapidement relayées au robot afin qu'il réponde rapidement aux instructions du contrôleur.

Ce qui suit montre l'exemple de projet Tank Control de VEXcode V5. La boucle while True Infinite dans ce projet vérifie les positions des axes 2 et 3 pour toujours afin de régler la vitesse des moteurs.

# Library imports
from vex import *

# Begin project code
# Main Controller loop to set engines to controller axis positions
while True :
    left_motor.set_velocity(controller_1.axis3.position(), PERCENT)
    right_motor.set_velocity(controller_1.axis2.position(), PERCENT)
    left_motor.spin(FORWARD)
    right_motor.spin(FORWARD)
    wait(5, MSEC)

Les boucles sont importantes même pour la programmation autonome sans contrôleur. Une boucle permet de simplifier et d'organiser les commandes répétées au sein d'un projet.

Icône Étendre votre apprentissage Étendez votre apprentissage

Pour développer cette activité, demandez à vos élèves d'explorer les différences entre le contrôle d'arcade et le contrôle de réservoir. Les étudiants peuvent suivre les exemples de projets trouvés dans VEXcode V5.Image du menu fichier ouvert dans VEXcode V5 avec exemples ouverts en surbrillance

Il existe quatre exemples de projets : Left Arcade, Right Arcade, Split Arcade et Tank Control. Image de l'exemple de menu de projet avec les projets susmentionnés mis en évidence

Discutez du fonctionnement des boucles dans les programmes, ainsi que des avantages et des inconvénients de chaque type de contrôle.

Pour relier cette activité aux mathématiques, utilisez les projets d'arcade gauche/droite (un joystick) et d'arcade divisée/d'entraînement de réservoir (les deux joysticks) ci-dessus pour discuter des rôles des axes X et Y dans le projet.