Utilisation du capteur de distance VEX IQ (1ère génération)

Description

Ce capteur indique la distance qui le sépare de l'objet solide le plus proche (portée de 50 mm à 1 m). Il calcule la distance en utilisant le temps nécessaire aux ondes ultrasonores pour rebondir sur un objet et revenir au capteur.

Capteur de distance VEX IQ (1ère génération).


Comment fonctionne le capteur de distance : écoute de la distance

Schéma du capteur de distance envoyant des ultrasons pour frapper un cube vert, puis recevant le son réfléchi.

Le capteur de distance utilise les mêmes principes que les sonars pour mesurer le son. Il envoie une petite impulsion d'ultrasons avec son émetteur d'un côté du capteur, puis multiplie le temps qu'il faut pour entendre le son réfléchi par le récepteur de l'autre côté du capteur. Le capteur calcule la distance en fonction du temps qu'a mis l'impulsion sonore pour effectuer l'aller-retour. Le capteur de distance effectue ensuite un calcul basé sur la vitesse du son pour indiquer au cerveau du robot à quelle distance se trouve l'objet le plus proche. 

Si la surface n'est pas plate comme un mur incurvé ou une balle, l'onde ultrasonore ne rebondit pas sur toutes les parties de manière égale ou en même temps. La surface la plus proche suffisamment grande pour réfléchir une quantité détectable de l'onde détermine la distance détectée de l'objet.


Utilisations courantes du capteur de distance :

VEXcode IQ Objet trouvé bloc qui lit Distance a trouvé un objet ?

Deux diagrammes. Ci-dessus, le capteur de distance pointe vers un cube vert à proximité et est étiqueté avec une coche. Ci-dessous, le capteur de distance ne pointe vers rien à proximité et il est étiqueté avec un symbole X.

Ce capteur peut détecter s'il y a un objet devant lui.

VEXcode IQ Distance du bloc qui lit la distance en mm.

Ce capteur peut mesurer la distance qui le sépare d'un objet.

  • Un robot peut utiliser ce capteur pour s’éloigner d’un objet à une certaine distance. Regardez l'animation ci-dessous pour voir la valeur de distance changer lorsque le robot se déplace jusqu'à ce que la distance soit inférieure à 160 mm.

  • Un robot peut utiliser ce capteur pour se diriger vers un objet sans le toucher. Regardez cette animation pour voir deux robots utiliser des capteurs de distance pour coordonner leur conduite.

  • Les valeurs fournies par ce capteur peuvent être utilisées pour ajuster la vitesse du robot selon qu'il se trouve proche ou éloigné d'un objet ou d'une surface. Regardez cette animation pour voir un robot s’ajuster en fonction de la distance par rapport à un mur.


Utilisations du capteur de distance sur un robot de compétition

  • Le robot peut utiliser le capteur de distance pour lancer une séquence de comportements lorsqu'il se trouve au bon endroit pour le faire. Par exemple, le robot peut avancer jusqu'à ce qu'il détecte qu'il se trouve à 150 mm d'un mur, puis tourner à 90 degrés et lâcher un objet dans une zone de marquage.  
  • Le capteur de distance peut être utilisé pour déclencher des actions du robot, telles que ramasser une pièce de jeu, lorsqu'un objet est détecté à portée.
  • Le robot peut utiliser le capteur de distance pour se diriger vers un objet ou une surface jusqu'à ce qu'il se trouve à une distance spécifique, sans le toucher. Cela peut être utilisé pour s'assurer que le robot ne renverse pas les pièces du jeu.
  • Un robot peut utiliser le capteur de distance pour s'éloigner d'un objet ou d'une surface jusqu'à ce qu'il atteigne une distance spécifique. Cela peut être utilisé pour éviter les collisions avec d’autres robots sur le terrain.

Utilisation du capteur de distance dans VEXcode IQ

Ajout du capteur de distance en tant que périphérique dans VEXcode IQ

Menu Appareils VEXcode IQ après avoir sélectionné le bouton Ajouter un appareil. L'option Distance (1ère génération) est mise en surbrillance.

Pour coder le capteur de distance dans VEXcode IQ, vous devez d'abord configurer le capteur de distance. Consultez cet article pour en savoir plus sur la configuration d'un capteur dans VEXcode IQ.

Une fois le capteur configuré, des commandes apparaîtront dans la boîte à outils que vous pourrez utiliser dans votre projet.

Codage du capteur de distance en blocs

VEXcode IQ Objet trouvé bloc qui lit Distance7 a trouvé un objet ?

Le bloc <Object found> est un bloc rapporteur booléen qui signale une condition comme étant vraie ou fausse. Les blocs booléens, comme le bloc <Object found> , s'insèrent dans des blocs avec des entrées hexagonales (à six côtés) pour d'autres blocs.

Le bloc booléen <Object found> indique « vrai » si le capteur détecte un objet, et « faux » si le capteur ne le détecte pas. Pour en savoir plus sur les blocs booléens, visitez l'article Aide ou l'article Formes et signification des blocs.

 

VEXcode IQ bloque un projet qui utilise un capteur de distance pour avancer jusqu'à ce qu'il trouve un objet. Le projet se lit comme suit : Au démarrage, avancez, attendez que Distance7 trouve un objet, puis arrêtez de conduire.

Dans cet exemple, le bloc <Object found> est utilisé avec un bloc [Attendre jusqu'à] pour faire avancer le robot jusqu'à ce que le capteur de distance détecte un objet. Lorsque le capteur détecte un objet, le robot arrête de rouler, comme le montre l'image ci-dessus. 

VEXcode IQ Distance du bloc qui lit Distance7 distance en mm.

Le bloc (Distance de) indique la distance de l'objet le plus proche du capteur de distance. Il indique une plage demm à 1 000 mm, ou de 1 pouce à 40 pouces. Le bloc (Distance de) est un bloc rapporteur utilisé à l’intérieur de blocs avec des espaces circulaires.

 

VEXcode IQ bloque le projet qui utilise un capteur de distance pour avancer jusqu'à ce que sa distance soit inférieure à 50 mm. Le projet lit Au démarrage, avancez, imprimez la distance Distance7 en mm sur Brain, attendez que la distance Distance7 en mm soit inférieure à 50, puis arrêtez de conduire.

Dans cet exemple, le bloc (Distance de) est utilisé avec un bloc [Imprimer] pour afficher sur l'écran Cerveau la distance entre le capteur de distance et un objet. Le bloc (Distance de) est également affiché à l’intérieur d’un bloc <Less than> qui se trouve à l’intérieur d’un bloc {Wait until}. Cela amènera le robot à conduire jusqu'à ce que le capteur de distance détecte un objet à moins de 50 millimètres, puis arrêtera de conduire. Ceci est montré dans la première vidéo ci-dessus.

Codage du capteur de distance en Python

Remarque :Pour coder un capteur de distance VEX IQ (1ère génération) en Python, il doit être connecté à un cerveau VEX IQ (2e génération). Le cerveau VEX IQ (1ère génération) ne prend pas en charge Python.

distance_7.is_object_detected()

La commande distance.is_object_detected rapporte « vrai » si un objet est détecté, et « faux » si un objet n'est pas détecté.

Remarque :Le nom du Capteur de Distance qui apparaît dans la commande correspond au nom qui lui est donné dans la configuration. 

drivetrain.drive(FORWARD)
tant que non distance_7.is_object_detected()
wait(20, MSEC)
drivetrain.stop()
Dans cet exemple, une boucleWhile avec une condition et non est utilisée avec la commande distance.is_object_detected pour faire avancer le robot jusqu'à ce que le capteur de distance détecte un objet. Lorsque le capteur détecte un objet, le robot arrête de rouler, comme indiqué dans le code Python ci-dessus.
distance_7.distance(MM)

La commande distance.distance indique la distance de l'objet le plus proche du capteur de distance. Il indique une plage de24 mm à 1 000 mm, ou de 1 pouce à 40 pouces.

drivetrain.drive(FORWARD)
brain.screen.print(distance_7.distance(MM)
while not distance_7.distance(MM) < 50:
wait(20, MSEC)
drivetrain.stop()

Dans cet exemple, une boucle While avec une condition et non est utilisée avec la commande distance.is_object_detected pour faire avancer le robot jusqu'à ce que le capteur de distance détecte un objet. Lorsque le capteur détecte un objet, le robot arrête de rouler.

Dans cet exemple, la commande distance.distance est utilisée avec une commande brain.screen.print pour afficher sur l'écran Brain la distance entre le capteur de distance et un objet. La commande distance.distance est également affichée à l'intérieur d'une boucle While avec une condition et non . Cela amènera le robot à conduire jusqu'à ce que le capteur de distance détecte un objet à moins de 50 millimètres, puis arrêtera de conduire. Ceci est montré dans la première vidéo ci-dessus.

Pour en savoir plus sur le codage d'un capteur de distance en Python, consultez l'unité 5 du cours Informatique niveau 1 - Python. 

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: