Skip to main content
Portail des enseignants

Le contrôleur en tant qu'interface utilisateur

Projet VEXcode IQ avec 3 blocs chapeau. À gauche attaché au bloc Au démarrage, les blocs pour régler le moteur du bras et le moteur à griffes s'arrêtent pour tenir, une vitesse de moteur à griffes réglée à 60 % et une vitesse de moteur du bras réglée à 30 %. Ensuite, une boucle Forever contient un bloc if then else. Le bloc if indique If Controller R Up pressé, puis tournez le moteur Claw fermé. La branche else contient un bloc If then else qui indique If Controller R Down pressé puis le moteur à griffes rotatif ouvert, sinon arrêter le moteur à griffes. À droite a Lorsque le bloc d'événements pressé du contrôleur L Up a un moteur de bras de rotation vers le haut, attendez jusqu'à ce que le contrôleur L ne soit pas pressé vers le haut, arrêtez les blocs de moteur attachés. En dessous du fait qu'un bloc d'événements appuyé sur le bouton Lorsque le contrôleur L vers le bas a un moteur de bras de rotation vers le bas, attendez jusqu'à ce que le contrôleur L vers le bas ne soit pas enfoncé, arrêtez le moteur du bras attaché.
L'exemple de projet Controller Buttons de VEXcode IQ

Contrôle à distance du robot

Nous utilisons le plus souvent des télécommandes pour interagir avec nos téléviseurs. Nous appuyons sur les boutons qui font que la télévision affiche une chaîne ou un écran d'information/d'accès que nous voulons. Techniquement, la télécommande de votre téléviseur est une interface utilisateur. Cependant, il s'agit d'une interface utilisateur beaucoup moins sophistiquée que celle que votre smartphone utilise.

La programmation de votre contrôleur IQ est beaucoup plus sophistiquée. Lors des matchs contrôlés par le pilote d'une compétition, vous voulez que votre pilote/équipe ait autant d'avantages que possible. Vous pouvez programmer les boutons et les joysticks pour faire plus d'un comportement simple, et vous pouvez les programmer pour faire des comportements complexes lorsque les boutons/joysticks sont utilisés en combinaison - similaire à la façon dont certains contrôleurs de jeu fonctionnent. En tant que programmeur de votre contrôleur, vous réfléchissez aux boutons à utiliser en combinaison en déterminant comment vos doigts et vos mains devraient être placés pour atteindre tous les boutons impliqués.

L'image ci-dessus montre le projet de l'exemple de projet Controller Buttons de VEXcode IQ. Voyez-vous comment la boucle [Forever] a deux blocs [If then else] imbriqués à l'intérieur ? Il permet au projet de vérifier si les boutons R Up ou R Down sont enfoncés, et le robot fait tourner le moteur à griffes fermé ou ouvert en fonction de l'enfoncement de l'un d'eux. Cette boucle [Forever] est très importante. Il permet à votre contrôleur IQ de vérifier à plusieurs reprises sur quel (s) bouton(s) vous appuyez afin que le robot effectue le (s) comportement(s) approprié (s).

Considérez que vous pourriez mettre deux blocs <Controller Pressed> de détection dans un bloc <and> opérateur. Cela permettrait au projet de vérifier si deux boutons étaient enfoncés. Vous pouvez également placer un <and> bloc à l'intérieur d'un autre <and> bloc et faire vérifier trois conditions avant qu'un comportement ne soit effectué. Cela vous permettrait de programmer des séquences de comportement qui peuvent être démarrées simplement en appuyant sur les boutons de votre contrôleur.

Considérez le nombre de combinaisons de conditions supplémentaires que vous pourriez créer avec tous les boutons et leurs combinaisons sur le contrôleur. Bien sûr, à mesure que vous programmez des comportements plus complexes dans le fonctionnement du contrôleur, le projet se rapproche de l'autonomie du robot. Une équipe de compétition doit déterminer quels sont les meilleurs comportements à programmer dans ses contrôleurs en tant que séquences complexes et quels comportements doivent être décomposés en plusieurs parties afin que le contrôleur permette au conducteur (utilisateur) d'avoir plus de contrôle sur la vitesse et la précision du comportement.

Icône Conseils pour l'enseignant Conseils à l'enseignant - Modélisation

Modélisez comment combiner des <and> blocs pour les élèves s'ils ont du mal à imaginer combiner <and> des blocs pour inclure plus d'une condition. Voici un exemple :

Extrait de code montrant les blocs d'opérateur imbriqués dans l'état de la branche If. Un opérateur ET a un contrôleur E enfoncé dans la première moitié et un emboîté et dans la seconde moitié avec le contrôle F enfoncé et le contrôleur F enfoncé.

Cet exemple ne montre que le premier bloc de commandes et demi du suivant, mais il pourrait y avoir toute une séquence de comportements à effectuer par le robot lorsque ces trois boutons (E Down, F Up et F Down) sont tous enfoncés.

Icône Motiver la discussion Motiver la discussion

Chaque année, VEX met ses utilisateurs au défi avec un nouveau jeu. Les équipes s'affrontent dans des matchs comprenant une période autonome d'une minute (60 secondes) (sans contrôleur), suivie d'une période contrôlée par le conducteur d'une minute (60 secondes) (contrôleur). Certains étudiants peuvent avoir déjà participé à des compétitions de robotique dans le cadre d'un club ou d'une équipe. Les questions ci-dessous demandent aux élèves de partager leurs expériences et/ou leurs intérêts dans les compétitions.

Q : Quelqu'un ici, ou quelqu'un que vous connaissez, a-t-il participé à une compétition de robotique ?
R : Encouragez les élèves qui ont participé à la compétition à partager leurs expériences. Faites un suivi avec d'autres questions, telles que « quel robot avez-vous utilisé ? » et/ou « quelle a été votre partie préférée de l'expérience ? ».

Q : Quelqu'un est-il intéressé à en savoir plus sur la compétition/le jeu VEX de cette année ?
R : Lorsque les élèves répondent oui, vous pouvez les diriger vers le site Web du concours VEX et montrer la vidéo du défi de cette année.