Skip to main content

Leçon 2 : Utilisation du capteur oculaire avant avec des boucles

Dans cette leçon, vous allez créer un projet en utilisant le capteur oculaire avant avec une boucle while et une condition not  pour faire naviguer le robot VR à travers le terrain de jeu du labyrinthe à disques. Votre projet demandera au robot VR de tourner à droite lorsqu'un disque vert est détecté par le capteur oculaire avant, et à gauche lorsqu'un disque bleu est détecté. Dans le mini défi, vous appliquerez ces compétences pour conduire le robot VR sur chaque disque du terrain de jeu du labyrinthe de disques et terminer sur le disque rouge.

Vue latérale du robot VR sur le terrain de jeu du labyrinthe de disques avec des flèches noires en arrière-plan indiquant le chemin parcouru par le robot pour se déplacer d'un disque à l'autre. Le robot est au bout du labyrinthe devant le disque rouge.

Résultats d'apprentissage

  • Identifiez que la boucle while peut être utilisée avec les capteurs oculaires.
  • Identifiez que pour utiliser les données du capteur oculaire pour que le robot VR prenne une décision dans un projet, une condition doit être utilisée.
  • Décrivez comment l'identification d'un modèle dans un projet peut être utilisée pour simplifier votre code.

Naviguer vers les quatre premiers disques

Le capteur frontal peut être utilisé pour que le robot VR détecte les disques et leurs couleurs, et pour prendre des décisions en fonction de ces données. Le robot VR peut ensuite naviguer dans le labyrinthe de disques à l'aide de la rétroaction du capteur liée aux couleurs des objets détectés, afin de déterminer le mouvement du robot. Essentiellement, les données du capteur oculaire avant seront utilisées pour « coder par couleur » les virages du robot VR, de sorte que lorsqu'une couleur est détectée, elle tourne à gauche et lorsqu'une autre est détectée, elle tourne à droite.

Pour commencer, examinons le chemin que le robot VR empruntera pour naviguer dans la première partie du labyrinthe de disques. Vue de haut en bas de l'aire de jeux du labyrinthe de disques. Le robot est sur l'emplacement de départ. Les flèches indiquent le chemin que prendra le robot Vr en montrant le lecteur vers l'avant jusqu'au premier disque vert, en tournant à droite, en conduisant jusqu'au disque bleu, en tournant à gauche, en conduisant jusqu'à un deuxième disque bleu, en tournant à gauche et en s'arrêtant à un troisième disque bleu.

Pour votre information

L'aire de jeux de labyrinthe de disques contient des marques colorées sur le sol de l'aire de jeux à chacun des emplacements de disques colorés surélevés.Vue latérale du robot VR sur le terrain de jeu du labyrinthe de disques avec une flèche noire indiquant que le robot se dirigera vers le disque vert puis tournera à droite. 

Nous utiliserons le capteur oculaire avant pour détecter les disques de cette unité, mais la même logique et le même projet pourraient également être utilisés avec le capteur oculaire vers le bas. Au lieu de détecter les disques surélevés, le capteur Down Eye détecterait les couleurs sur le sol du terrain de jeu et prendrait des décisions avec ces données. Le capteur Down Eye ne détecte pas le sol du terrain de jeu en tant qu'objet, mais il détecte les espaces colorés. 

Utilisation d'une boucle While avec des données de capteur oculaire

Dans les unités précédentes, la boucle while a été utilisée pour faire rouler le robot VR alors qu'une condition était remplie, ou une boucle while avec une condition not pour faire rouler alors qu'une condition n'était pas remplie. Les données des capteurs oculaires peuvent être utilisées de la même manière. Examinons la première étape du chemin du labyrinthe de disques.

 Vue de haut en bas du robot VR sur le terrain de jeu du labyrinthe de disques avec une flèche noire indiquant que le robot se dirigera vers le disque vert directement en face de l'emplacement de départ, puis tournez à droite.

Le robot VR doit avancer lorsque le capteur oculaire avant ne détecte pas le vert. Lorsque le capteur oculaire avant détecte le vert, le robot VR doit tourner à droite de 90 degrés pour faire face au disque suivant dans le labyrinthe.

Nommez et enregistrez le projet

Commençons par construire le projet pour utiliser la boucle while  pour demander au robot VR de tourner lorsque le capteur oculaire avant détecte le premier disque de couleur (vert) sur le terrain de jeu du labyrinthe disques.

  • Démarrez un nouveau projet et sélectionnez le Disk Maze Playground lorsque vous y êtes invité. Tuile de sélection du terrain de jeu du labyrinthe de disque de VEXcode VR.
  • Nommez le projet Unit7Lesson2.Barre d'outils VEXcode VR avec la zone de nom du projet appelée. Le nom du projet indique Unité 7 Leçon 2.

     

  • Pour commencer, ajoutez un commentaire pour décrire le comportement du robot VR. Ce projet utilisera des commentaires pour rappeler à l'utilisateur quelle est l'intention pour les comportements du robot VR au cours de la section suivante du projet. N'oubliez pas que les commentaires dans VEXcode VR Python commencent par un symbole # (livre). 
def main() :
    # Lecteur vers le 1er disque (vert), tourner à droite
  • Le robot VR devra se diriger vers le premier disque sur le terrain de jeu Disk Maze. Faites glisser ou saisissez une boucle while avec une condition not dans l'espace de travail. Remember to include the wait command as part of the while loop, to ensure that the VR Robot executes the project correctly.
def main() :
    # Drive to 1st disk (green), turn right
    while not condition :
        wait(5, MSEC)
  • Définissez la condition de la boucle sur la commande detect du capteur oculaire avant et définissez le paramètre sur « VERT ».
def main() :
    # Drive to 1st disk (green), turn right
    while not front_eye.detect(GREEN) :
        wait(5, MSEC)
  • À l'intérieur de la boucle while , faites glisser ou tapez la commande non-waiting drive pour que votre projet ressemble à ceci :
def main() :
    # Drive to 1st disk (green), turn right
    while not front_eye.detect(GREEN) :
        drivetrain.drive(FORWARD)
        wait(5, MSEC)
  • En dehors de la boucle while , faites glisser ou tapez une commande turn_for  pour demander au robot VR de tourner à droite de 90 degrés lorsqu'il détecte un disque vert. Votre projet doit ressembler à ceci :
def main() :
    # Drive to 1st disk (green), turn right
    while not front_eye.detect(GREEN) :
        drivetrain.drive(FORWARD)
        wait(5, MSEC)

    drivetrain.turn_for(RIGHT, 90, DEGREES)
  • Ouvrez la fenêtre Playground si elle n'est pas déjà ouverte. Assurez-vous que le terrain de jeu Disk Maze s'ouvre et exécutez le projet.
  • Regardez le robot VR avancer vers le premier disque vert, puis tournez à droite.

    Vue latérale du robot VR sur le terrain de jeu du labyrinthe de disques avec une flèche noire indiquant que le robot se dirigera vers le disque vert puis tournera à droite.
  • Notez que le robot VR avance alors que l'état de la couleur du capteur oculaire avant signale Faux. Une fois le disque vert détecté, la couleur du capteur oculaire avant signale Vrai et quitte la boucle. Ensuite, il exécute la commande suivante, qui est de tourner à droite sur 90 degrés.

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