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.

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. 
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.
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.

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é.

-
Nommez le projet Unit7Lesson2.

- 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.

- 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.