Leçon 3 : Lorsque la couleur rouge est détectée
Il n'y a pas de commandes pour dire au robot VR quoi faire une fois qu'il détecte la couleur rouge. Afin d'éviter la bordure rouge, le robot VR doit faire marche arrière et tourner une fois qu'il détecte la couleur rouge, comme il le fait dans cette vidéo.
-
Ajoutez un commentaire à la fin de la boucle while pour indiquer ce qui doit se passer lorsque le capteur Down Eye détecte la bordure rouge. Votre projet devrait maintenant ressembler à ceci :
def main() : # Rechercher un bâtiment alors que la bordure rouge n'est pas détectée alors quedown_eye.detect (ROUGE) : # Le capteur de distance détecte-t-il un château ? if front_distance.found_object() : # Crash castle detected by Distance Sensor drivetrain.drive(FORWARD) else : # Turn to find a castle using the Distance Sensor drivetrain.turn(RIGHT) wait(5, MSEC) # Reverse and turn when red border detected -
Ajoutez une commande drive_for et turn_for sous le commentaire pour permettre au robot VR de faire marche arrière et de tourner une fois que le capteur Down Eye détecte la couleur rouge.
def main() : # Rechercher un bâtiment alors que la bordure rouge n'est pas détectée alors quedown_eye.detect (ROUGE) : # Le capteur de distance détecte-t-il un château ? if front_distance.found_object() : # Crash castle detected by Distance Sensor drivetrain.drive(FORWARD) else : # Turn to find a castle using the Distance Sensor drivetrain.turn(RIGHT) wait(5, MSEC) # Reverse and turn when red border detected drivetrain.drive_for(REVERSE, 300, MM) drivetrain.turn_for(RIGHT, 90, DEGREES) - Ouvrez le terrain de jeu Dynamic Castle Crasher s'il n'est pas déjà ouvert et exécutez le projet. Le robot VR se comporte-t-il comme prévu ?
- Lorsque ce projet est exécuté, deux conditions sont vérifiées. La première est la condition du capteur Down Eye détectant la couleur rouge à l'intérieur de la boucle while Notez que le flux du projet passe à la condition suivante d'un objet détecté UNIQUEMENT si le capteur Down Eye ne voit pas la couleur rouge. Si le capteur Down Eye détecte du rouge, le flux du projet ignore l'instruction if else et passe à la conduite en marche arrière et en virage.

- La deuxième condition qui est vérifiée est l'instruction if else. Tant que le capteur Down Eye ne détecte pas le rouge, le projet continuera dans la boucle while pour vérifier l'état du capteur de distance. Le robot VR utilisera les données du capteur de distance pour prendre la décision d'avancer ou de tourner à droite.

-
Cependant, une fois que le capteur Down Eye détecte la couleur rouge, le robot VR roule en marche arrière, tourne, puis s'arrête car c'est la fin du flux du projet. Aucune boucle n'est utilisée pour répéter les comportements.

Ajout d'une boucle infinie while
-
Une boucle infinie while est nécessaire pour que les comportements se répètent sur une boucle. Faites glisser ou tapez a while en haut du projet et définissez la condition sur Vrai pour créer une boucle infinie. Ensuite, copiez et collez le code précédent à l'intérieur de la boucle infinie while . Assurez-vous que les commandes sont correctement indentées sous les en-têtes corrects, sinon le projet risque de ne pas fonctionner comme prévu. Votre projet devrait maintenant ressembler à ceci :
def main() : while True : # Cherche un bâtiment alors que la bordure rouge n'est pas détectée alors quedown_eye.detect (ROUGE) : # Le capteur de distance détecte-t-il un château ? if front_distance.found_object() : # Crash castle detected by Distance Sensor drivetrain.drive(FORWARD) else : # Turn to find a castle using the Distance Sensor drivetrain.turn(RIGHT) wait(5, MSEC) # Reverse and turn when red border detected drivetrain.drive_for(REVERSE, 300, MM) drivetrain.turn_for(RIGHT, 90, DEGREES) - Ouvrez le terrain de jeu Dynamic Castle Crasher s'il n'est pas déjà ouvert et exécutez le projet. Le robot VR se comporte-t-il comme prévu ?
-
Lorsque ce projet est exécuté, le robot VR se dirigera vers un château détecté et tournera à droite si aucun château n'est signalé. Une fois que le capteur Down Eye détecte la couleur rouge, le robot VR roule en marche arrière, tourne et continue de rouler vers un autre château.

Questions
Veuillez sélectionner un lien ci-dessous pour accéder au questionnaire de la leçon.
Google Doc / .docx / .pdf