Skip to main content

Leçon 3 : Utilisation des énoncés If

Navigation dans le labyrinthe du disque à l'aide des instructions If 

Dans le défi du labyrinthe de disques, le robot VR vérifie l'état du capteur oculaire avant pour voir quelle couleur est signalée. Chacune des couleurs s'aligne sur un comportement différent que le robot VR doit effectuer.

Pour votre information

L'instruction if accepte uniquement les conditions booléennes. En utilisant les modèles observés lors de la résolution du labyrinthe de disques dans la leçon 2, un projet peut être créé où le robot VR prend une décision si la condition est déclarée comme vraie ou fausse.

si condition : 
	réussite

L'instruction if sera exécutée une fois dans un projet. Dans cet exemple, le capteur oculaire avant signalera Vrai si un objet vert est détecté et exécutera la commande à l'intérieur de l'instruction if - tournez à droite sur 90 degrés. Si aucun objet vert n'est détecté, le projet passera à la commande suivante.

def main() :
    if front_eye.detect(GREEN) :
        drivetrain.turn_for(RIGHT, 90, DEGREES)
    drivetrain.stop()
  • Démarrez un nouveau projet et sélectionnez le Disk Maze Playground lorsque vous y êtes invité. Tuile de sélection Disk Maze Playground dans VEXcode VR.
  • Nommez-le Unit7Lesson3.Barre d'outils dans VEXcode VR avec la boîte de nom de projet appelée. Le nom du projet indique Unité 7 Leçon 3.

     

  • Ajoutez des commentaires pour décrire l' intention des comportements du robot VR au cours de chaque section suivante du projet. 
def main() :
    # Si l'œil avant détecte le vert, tournez à droite

    # Si l'œil avant détecte le bleu, tournez à gauche
  • Faites glisser ou saisissez l'instruction if sous le premier commentaire.
def main() :
    # Si l'œil avant détecte le vert, tournez à droite
    si condition : 
    	pass

    # Si l'œil avant détecte le bleu, tournez à gauche
  • Définissez la condition de l'instruction if sur la commande front_eye.detect et définissez le paramètre sur « VERT ».
def main() :
    # Si l'œil avant détecte le vert, tournez à droite
	si front_eye.detect(VERT) : 
    	pass
    	
    # Si l'œil avant détecte le bleu, tournez à gauche
  • Faites glisser ou tapez une commande turn_for à l'intérieur de l'instruction if pour remplacer la commande 'pass'. Réglez les paramètres pour tourner à droite de 90 degrés. Maintenant, si le capteur oculaire avant détecte « VERT », le robot VR tournera à droite de 90 degrés.
def main() :
    # Si l'œil avant détecte le vert, tournez à droite
	si front_eye.detect(VERT) : 
    	drivetrain.turn_for(DROITE, 90, DEGRÉS)
    	
    # Si l'œil avant détecte le bleu, tournez à gauche
  • Nous suivrons ces mêmes étapes pour ajouter des instructions si supplémentaires pour les trois couleurs du labyrinthe de disques (vert, bleu et rouge). Chaque couleur est associée à un comportement différent. Les commandes à l'intérieur des instructions if devront correspondre au comportement prévu. Ajoutez les commandes suivantes au projet sous le deuxième commentaire, de sorte que si le capteur oculaire frontal détecte la couleur « BLEU », le robot VR tournera à gauche de 90 degrés.
	# Si l'œil avant détecte le bleu, tournez à gauche
	si front_eye.detect (BLEU) 
    	:     	drivetrain.turn_for (GAUCHE, 90, DEGRÉS)
  • Lorsque le robot VR atteint la fin du labyrinthe, le capteur oculaire avant détecte la couleur « ROUGE ».

    Une vue rapprochée du robot VR arrivant au disque rouge au bout du labyrinthe de disques, et s'arrêtant devant lui.
  • Pour arrêter le robot VR, une autre instruction si doit être ajoutée avec des instructions sur ce qu'il faut faire si le capteur oculaire avant détecte « ROUGE ». Ajoutez le commentaire et les commandes suivants au projet afin que le robot VR arrête de conduire s'il détecte « ROUGE ». 
	# If front eye detects red then stop
	if front_eye.detect(RED) : 
    	drivetrain.stop()

Si aucune des couleurs n'est détectée

Le robot VR peut également prendre une décision s'il ne voit pas une couleur en utilisant la valeur « aucun ». Par exemple, au point de départ du labyrinthe de disques, le capteur oculaire avant ne détecte aucune couleur.

La vue du terrain de jeu VR avec le tableau de bord ouvert et une boîte rouge mettant en évidence les valeurs de détection Front Eye du robot. La valeur « Objet » actuelle est fausse et la valeur « Couleur » actuelle est nulle.

Étant donné que le capteur oculaire avant ne détecte pas de couleur au début du labyrinthe de disques, le robot VR devra avancer jusqu'à ce qu'il détecte le disque vert. Une autre instruction si  peut être ajoutée pour indiquer au robot VR ce qu'il doit faire lorsqu'aucune couleur n'est détectée. 

  • Ajoutez le commentaire et les commandes suivants au projet, de sorte que si le capteur oculaire avant ne détecte aucune couleur, le robot VR avancera.
	# If front eye detects none then drive forward
	if front_eye.detect(NONE) : 
    	drivetrain.drive(FORWARD)
  • Le robot VR a maintenant des instructions pour chaque couleur détectée par le capteur oculaire avant.
    • Si le capteur oculaire avant détecte « VERT » – Tourner à droite à 90 degrés
    • Si le capteur oculaire avant détecte « BLEU » –  Tourner à gauche à 90 degrés
    • Si le capteur oculaire avant détecte « ROUGE » – Arrêter de conduire
    • Si le capteur oculaire avant détecte « AUCUN » – Conduire vers l'avant
  • 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. L'ensemble du projet devrait ressembler à ceci : 
def main() :
    # If front eye detects green then turn right
    if front_eye.detect (GREEN) :
        drivetrain.turn_for (RIGHT, 90, DEGREES)

    # If front eye detects blue then turn left
    if front_eye.detect (BLUE) :
        drivetrain.turn_for (LEFT, 90, DEGREES)

    # If front eye detects red then stop
    if front_eye.detect (RED) : 
        drivetrain.stop ()

    # If front eye detects none then drive forward
    if front_eye.detect (NONE) : 
        drivetrain.drive(FORWARD)
  • Le robot VR se comporte-t-il comme prévu ? Pourquoi ou pourquoi pas ? Sur la page suivante de la leçon, nous en apprendrons plus sur ce projet.

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