Skip to main content

Leçon 2 : Passez aux disques verts puis bleus

Conduisez vers les disques verts puis bleus

  • Dans le projet précédent, le robot VR tourne à droite lorsque le capteur oculaire frontal détecte un disque vert. Maintenant, construisez un projet où le robot VR se déplace vers quatre disques sur le terrain de jeu Disk Maze.
  • L'objectif est de créer un motif cohérent où le robot VR tourne à droite lorsque le capteur oculaire frontal détecte un disque vert, et à gauche lorsque le capteur oculaire frontal détecte un disque bleu.

    Une vue de haut en bas de l'aire de jeux Disc Maze, avec une flèche montrant la trajectoire prévue du robot VR. Le robot doit avancer à partir de la plate-forme de départ pour atteindre le premier disque vert et tourner à droite avant de tourner à gauche sur deux disques bleus.
  • Ajoutez le bloc suivant au projet existant pour demander au robot VR d'avancer après avoir tourné à droite.

    Le VEXcode VR bloque le projet d'avant, avec des blocs de commentaire et de Drive Forward ajoutés. L'ensemble du projet se lit désormais When Started suivi d'un commentaire indiquant « drive to first disk (green), then turn right » (lecteur sur le premier disque (vert), puis tournez à droite). Ensuite, avancez,  attendez que l'œil avant détecte le vert, puis tournez à droite sur 90 degrés. Ensuite, il y a un bloc de commentaires qui indique « lecteur sur le disque suivant (bleu), puis tournez à gauche ». Enfin, allez de l'avant.
  • Ajoutez un autre [Attendre jusqu'à] avec le <Color sensing> bloc défini pour détecter « bleu », car le prochain disque que le robot VR rencontrera est bleu.

    Le VEXcode VR bloque le projet d'avant, avec un bloc Wait Until ajouté après le dernier bloc Drive Forward. L'ensemble du projet se lit désormais When Started suivi d'un commentaire indiquant « drive to first disk (green), then turn right » (lecteur sur le premier disque (vert), puis tournez à droite). Ensuite, avancez,  attendez que l'œil avant détecte le vert, puis tournez à droite sur 90 degrés. Ensuite, il y a un bloc de commentaires qui indique « lecteur sur le disque suivant (bleu), puis tournez à gauche ». Enfin, avancez et attendez que Front Eye détecte le bleu.
  • Ajoutez un bloc [Turn for] et définissez le paramètre sur « left ».

    Le VEXcode VR bloque le projet précédent, avec un bloc Turn Left For 90 Degrees ajouté après le dernier bloc Wait Until. L'ensemble du projet se lit désormais When Started suivi d'un commentaire indiquant « drive to first disk (green), then turn right » (lecteur sur le premier disque (vert), puis tournez à droite). Ensuite, avancez,  attendez que l'œil avant détecte le vert, puis tournez à droite sur 90 degrés. Ensuite, il y a un bloc de commentaires qui indique « lecteur sur le disque suivant (bleu), puis tournez à gauche ». Suivant Avancez et attendez que l'œil avant détecte le bleu avant de tourner à gauche sur 90 degrés.
  • Exécutez le projet pour voir comment le robot VR se déplace dans le terrain de jeu du labyrinthe de disques.

    Une vue de haut en bas de l'aire de jeux Disc Maze, avec une flèche montrant la trajectoire prévue du robot VR. Le robot doit avancer à partir de la plate-forme de départ pour atteindre le premier disque vert et tourner à droite avant de tourner à gauche au premier disque bleu.
  • Notez que le robot VR tourne à droite lorsque le capteur oculaire frontal détecte un disque vert, et tourne à gauche lorsque le capteur oculaire frontal détecte un disque bleu.
  • Continuez à construire ce projet pour piloter le robot VR vers deux autres disques sur le terrain de jeu Disk Maze à l' aide du capteur oculaire avant. Ajoutez les blocs suivants pour naviguer dans le robot VR vers les deux disques suivants, puis arrêtez :

    VEXcode VR bloque l'extrait à ajouter à la fin de notre projet pour atteindre les troisième et quatrième disques bleus. Pour passer au troisième disque Drive Forward, attendez que Front Eye détecte le bleu et tournez à gauche sur 90 degrés. À côté de l'entraînement vers le quatrième disque, avancez, attendez que l'œil avant détecte le bleu, puis tournez à gauche sur 90 degrés. Enfin, arrêtez de conduire.
    L'extrait de bloc VEXcode pour atteindre les troisième et quatrième disques est maintenant ajouté au bas de notre projet. L'ensemble du projet atteint maintenant quatre disques, d'abord un disque vert, puis trois disques bleus. Utilisez la section de code suivante pour chaque disque : Drive Forward, Waits Until Front Eye détecte la couleur du disque, puis tournez à droite de 90 degrés si vert et tournez à gauche de 90 degrés si bleu. En répétant cette section de trois blocs quatre fois, nous pouvons atteindre quatre disques, d'abord un disque vert en tournant à droite, puis trois bleus en tournant à gauche. Après ces 12 blocs et commentaires supplémentaires marquant chaque section, arrêtez de conduire.
  • Remarquez qu'il y a un motif. Il y a une série de blocs qui sont répétés trois fois dans le projet. Cette section de code peut être condensée en utilisant un bloc [Répéter].

    Nous allons maintenant utiliser un bloc de répétition pour simplifier et raccourcir notre code. Une boîte rouge met en évidence les trois sections utilisées pour atteindre les disques bleus, car il s'agit du même code trois fois, nous pouvons l'ajouter à un bloc de répétition défini pour répéter 3 fois à la place. Maintenant, le projet indique Au démarrage, Avancez et Attendez que l'œil avant détecte le vert avant de tourner à droite sur 90 degrés. Ensuite, répétez le code pour atteindre un disque bleu trois fois : avancez, attendez que l'œil avant détecte le bleu, puis tournez à gauche sur 90 degrés. Après avoir fermé la boucle de répétition, arrêtez de conduire.
  • Ouvrez le Disk Maze Playground s'il n'est pas déjà ouvert et exécutez le projet.
  • Regardez le robot VR naviguer sur quatre disques sur le terrain de jeu Disk Maze.

    La vue de haut en bas du terrain de jeu Disk Maze d'avant, avec une flèche montrant la trajectoire prévue du robot VR. Le robot doit avancer à partir de la plate-forme de départ pour atteindre le premier disque vert et tourner à droite avant de tourner à gauche à deux disques bleus et de s'arrêter au troisième. Une case rouge indique que le robot s'arrête au troisième disque bleu.
  • Dans ce projet, le robot VR avance jusqu'à ce que le capteur oculaire frontal détecte la couleur verte.
    • Le robot VR tourne à droite à 90 degrés et avance à nouveau jusqu'à ce que la couleur bleue soit détectée.
    • Le robot VR tourne alors à gauche et avance jusqu'à ce que le capteur oculaire frontal détecte le bleu. Une fois la couleur bleue détectée, le robot VR tourne à nouveau à gauche.
    • Enfin, le robot VR avance jusqu'à ce que le capteur oculaire frontal détecte le bleu, puis s'arrête.
  • Notez que lorsque le capteur oculaire avant détecte le vert, le robot VR tourne à droite. Lorsque le capteur oculaire frontal détecte le bleu, le robot VR tourne à gauche dans ce projet.

Utilisation des blocs de commutation

Jusqu'à présent, vous avez créé un projet pour accéder au disque vert, puis aux trois disques bleus.

L'image ci-dessous montre l'ensemble du projet à l'aide de blocs VEXcode, avec les comportements répétés utilisés pour conduire vers les trois disques bleus encadrés en rouge.

Le projet de blocs VR VEXcode sur lequel nous avons travaillé, avec le bloc Répéter trois fois surligné en rouge. Le projet indique Au démarrage, avancez et attendez que l'œil avant détecte le vert avant de tourner à droite sur 90 degrés. Ensuite, répétez le code pour atteindre un disque bleu trois fois à l'aide d'un bloc de répétition : avancez, attendez que l'œil avant détecte le bleu, puis tournez à gauche sur 90 degrés. Après avoir fermé la boucle de répétition, arrêtez de conduire.

Le projet ci-dessous montre ces mêmes blocs VEXcode convertis en plusieurs blocs Switch.

projet de centre

Ce dernier projet affiche les mêmes commandes de bloc Switch converties en commandes Python dans un bloc Switch.

Les blocs VR VEXcode projettent d'atteindre les quatre premiers disques, mais avec toute la boucle Repeat convertie en blocs de commutation Python. L'ensemble du projet indique Au démarrage, avancez et attendez que l'œil avant détecte le vert avant de tourner à droite sur 90 degrés. Ensuite, se trouve le bloc de commutation contenant le code Python suivant : « for repeat_count in range(3) : drivetrain.drive (FORWARD) while not front_eye.detect (BLUE) : wait(5, MSEC) drivetrain.turn_for(LEFT, 90, DEGREES) ». Maintenant, à l'extérieur du bloc de commutation, enfin, arrêtez de conduire.

Le for repeat_count dans la plage(3) : est la commande Python qui indique au robot que les prochaines lignes de code en retrait doivent être répétées trois fois. Notez que vous devez inclure un deux-points (:) après la boucle for. 

Les lignes de code suivantes sont les comportements qui seront répétés. Notez que ces comportements sont indentés à une valeur par défaut de 4 espaces. 

De plus, notez que la condition inclut la commande wait (5, MSEC). Dans VEXcode VR, une commande wait est toujours ajoutée avec la boucle for. L'objectif de la commande wait est de garantir que VEXcode VR peut exécuter correctement le projet comme prévu, en raison de la nature Web de la plate-forme VEXcode VR. La commande wait ne doit jamais être supprimée lors de l'utilisation d'une boucle for, sinon votre projet risque de ne pas fonctionner comme prévu. 

La ligne wait (5, MSEC) est en retrait sous la commande while not front_eye.detect(BLUE) car le capteur Front Eye vérifiera la couleur bleue, en faisant une pause de 5 MSEC entre chaque vérification.

Sélectionnez le bouton Suivant pour continuer le reste de cette leçon.