Skip to main content

Contrôleurs et boucles

Exemple de projet VEXcode IQ. Sous le bloc Au démarrage se trouvent 4 blocs pour régler l'arrêt du moteur du bras en position de maintien, régler l'arrêt du moteur à griffes en position de maintien, régler la vitesse du moteur du bras à 60 % et la vitesse du moteur à griffes à 30 %. Vient ensuite un bloc Forever avec 4 blocs de mouvement à l'intérieur. Dans l'ordre, ils lisent régler la vitesse du moteur gauche sur le % de la position du contrôleur A, régler la vitesse du moteur droit sur le % de la position du contrôleur D, faire tourner le moteur gauche vers l'avant, faire tourner le moteur droit vers l'avant. Exemple de projet
Clawbot Control de VEXcode IQ

Contrôleurs et boucles

Dans les compétitions, les équipes utilisent des contrôleurs pour contrôler sans fil leurs robots. 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.

L'image ci-dessus montre l'exemple de projet Clawbot Control de VEXcode IQ. La boucle Forever de ce projet vérifie les positions des axes A et D pour toujours afin de régler la vitesse des moteurs.

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 Motiver la discussion Motiver la discussion - Comportements en boucle

Passez en revue le jeu de la compétition VEX IQ de cette année avec les étudiants en cliquant sur ce lien. Ou, avoir la discussion suivante basée sur les jeux des années précédentes.

Q : Quels comportements sont susceptibles d'être répétés par le robot lors d'une compétition ?
R : Les élèves réagiront probablement immédiatement avec des mouvements, mais le projet est moins susceptible d'utiliser des boucles pour les mouvements que d'utiliser des boucles pour vérifier les capteurs.

Q : Comment transformeriez-vous ces comportements répétitifs en une boucle ?
R : Peu importe le (s) comportement(s) répété (s), faire glisser les blocs à l'intérieur d'une boucle est une étape obligatoire. Les élèves doivent être à l'aise pour nicher des blocs à l'intérieur des blocs en boucle.

Q : Demandez aux élèves quel bloc dans VEXcode IQ pourrait les aider à programmer le comportement de leurs robots après avoir appuyé sur un seul bouton du contrôleur. Demandez également de quel groupe de blocs il fait partie.
R : Ce bloc s'appelle le bloc de boutons Quand le contrôleur et il est situé sous les blocs Événements dans VEXcode IQ.

Icône Étendre votre apprentissage Prolongez votre apprentissage - Examen d'exemples de projets

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 IQ. Il existe quatre exemples de projets : Left Arcade, Right Arcade, Split Arcade et Tank Drive.

Barre d'outils VEXcode IQ avec le menu Fichier ouvert et Ouvrir les exemples sélectionnés avec une boîte rouge. « Ouvrir les exemples » est le quatrième élément du menu.

Exemple de fenêtre de sélection de projet avec les icônes de projet suivantes surlignées avec des cases rouges : Left Arcade, Right Arcade, Split Arcade et Tank Drive.

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. Les lectures de la position de l'axe X capturent les mouvements horizontaux gauche-droite du ou des joystick(s) tandis que les lectures de la position de l'axe Y capturent les mouvements verticaux haut-bas du ou des joystick(s).