Skip to main content

Leçon 3 : Utilisation de capteurs et de l'électroaimant pour ramasser un disque

Utilisation du capteur Down Eye avec l'électroaimant

Cette leçon utilisera les commentaires des capteurs pour résoudre le même défi que la leçon 2. Le robot VR va ramasser et déplacer le premier disque bleu dans le but bleu.

  • Démarrez un nouveau projet et sélectionnez le Disk Mover Playground lorsque vous y êtes invité. Disk Mover Playground selection tile, lit Disk Mover en bas.
  • Nommez le projet Unit8Lesson3.Barre d'outils VEXcode VR avec la zone de nom du projet en surbrillance. Le nom du projet indique Unité 8 Leçon 3.

     

  • Ajoutez quatre commentaires au projet. Ajoutez des commentaires pour chacune des étapes nécessaires pour que le robot VR se dirige vers le premier disque, le ramasse et le renvoie à l'objectif bleu.

    def main() :
        # 1. Lancez sur le premier disque
    
        n ° 2. Prenez le premier disque
    
        n ° 3. Atteignez l'objectif
    
        n ° 4. Déposez le disque dans l'objectif

     

  • Faites glisser ou saisissez une boucle while avec une condition not dans l'espace de travail sous le premier commentaire, de sorte que votre projet ressemble à ceci :

    def main() :
        #1. Lancez sur le premier disque
        sans condition :
            attendez(5, MSEC)
    
        # 2. Prenez le premier disque
    
        n ° 3. Atteignez l'objectif
    
        n ° 4. Déposez le disque dans l'objectif
  • La  commande down_eye.near_object signale True lorsque le capteur Down Eye du robot VR détecte un disque coloré sur le terrain de jeu du déplaceur de disque. Les disques sont sur le sol de l'aire de jeu et ne peuvent pas être détectés par le capteur oculaire avant. Par conséquent, le capteur oculaire inférieur détectera les disques. Faites glisser ou tapez la commande down_eye.near_object comme condition de la boucle while , de sorte que la première section de votre projet ressemble à ceci :

    def main() :
        #1. Drive to the first disk
        while not down_eye.near_object() :
            wait(5, MSEC)
  • Les commandes à l'intérieur de la boucle  while s'exécuteront lorsque le robot VR ne détecte PAS d'objet. Pour atteindre l'un des disques, le robot VR devra avancer jusqu'à ce que le disque soit détecté.

    Vue arrière de l'aire de jeux Disk Mover, montrant le robot VR à l'emplacement de départ, et les trois disques bleus d'une rangée étiraient la longueur de l'aire de jeux devant le robot.
  • Faites glisser ou tapez une commande drive command à l'intérieur de la boucle  while , de sorte que la première section de commentaires du projet ressemble à ceci :

    	#1. Drive to the first disk
        while not down_eye.near_object() :
            drivetrain.drive(FORWARD)
            wait(5, MSEC)
  • Lorsqu'un disque est détecté, le robot VR devra arrêter de conduire pour pouvoir le ramasser. Faites glisser ou tapez une commande stop en dehors de la boucle while , de sorte que la première section de commentaires du projet ressemble à ceci :

    	#1. Drive to the first disk
        while not down_eye.near_object() :
            drivetrain.drive(FORWARD)
            wait(5, MSEC)
        drivetrain.stop()
  • Notez que les commandes drive et wait sont en retrait sous l'en-tête de boucle while , ce qui signifie que les commandes sont à intérieur de la boucle. La ligne grise peut également aider à indiquer quelles commandes sont correctement indentées et à l'intérieur d'une boucle. La commande stop est conforme à l'en-tête de la boucle, ce qui signifie que la commande stop est en dehors de la boucle. Assurez-vous que les commandes sont correctement indentées, sinon le projet risque de ne pas fonctionner comme prévu. 
  • Maintenant, demandez au robot VR de récupérer le disque avec l'électroaimant en faisant glisser ou en tapant une commande energize après le deuxième commentaire, de sorte que la deuxième section du projet ressemble à ceci :

    	# 2. Ramassez le premier aimant à
        disque.energize(BOOST)
  • Ouvrez la fenêtre Playground si elle n'est pas déjà ouverte. Assurez-vous que le Disk Mover Playground s'ouvre et exécutez le projet.
  • Le robot VR avance jusqu'à ce que le premier disque bleu soit détecté par le capteur Down Eye, arrête de conduire et active l'électroaimant pour saisir le disque.

    Une vue latérale du robot VR sur le terrain de jeu au premier emplacement du disque bleu, avec le disque attaché à l'électroaimant.

Flux de projet pour ramasser le premier disque

Remarquez comment la boucle while avec une condition not utilise le retour du capteur pour récupérer avec succès le premier disque :

  • Le robot VR avance tandis que le capteur oculaire vers le bas ne détecte pas  objet.
  • Une fois que le capteur oculaire vers le bas du robot VR détecte un objet, le projet passe à la commande suivante en dehors de la boucle while et arrête de conduire.
  • Le projet continue, donc le Robot VR alimente l'électroaimant pour récupérer le disque.
Un organigramme du projet ci-dessus, illustrant le flux avec la boucle while. Les deux premières sections du projet sont montrées à gauche, et à droite, la première section a une flèche cyclique rouge illustrant que si l'œil vers le bas ne détecte pas d'objet, le robot avancera, car la condition est signalée comme fausse. Ensuite, une flèche verte vers le bas à côté de la commande d'arrêt indique que lorsque l'œil en bas détecte un objet, le projet quitte la boucle et le robot s'arrête. Ensuite, une deuxième flèche verte vers le bas s'aligne sur la deuxième section du projet, indiquant que l'électroaimant sera alors mis sous tension.

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