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.
Comment fonctionne le capteur de distance : écoute de la distance
Le capteur de distance utilise les mêmes principes que les appareils sonar pour mesurer le son. Il émet une minuscule impulsion ultrasonore grâce à son émetteur situé d'un côté du capteur, puis mesure le temps nécessaire pour que le son soit réfléchi par le récepteur situé de l'autre côté du capteur. Le capteur calcule la distance en fonction du temps que met 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 plane, comme un mur incurvé ou une sphère, l'onde ultrasonore ne se réfléchit pas sur toutes les parties de manière égale ou simultanément. 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 :
Ce capteur peut détecter s'il y a un objet devant lui.
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
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
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.
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.
Le bloc (Distance de) indique la distance de l'objet le plus proche du capteur de distance. Elle indique une plage de mesure allant de 24 mm à 1000 mm, soit de 1 pouce à 40 pouces. Le bloc (Distance de) est un bloc rapporteur utilisé à l'intérieur de blocs avec des espaces circulaires.
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 programmer un capteur de distance VEX IQ (1ère génération) en Python, il doit être connecté à un cerveau VEX IQ (2ème génération). Le VEX IQ (1ère génération) Brain 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.
|
| Dans cet exemple, une boucleTant que avec une condition 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 s'arrête de rouler, comme le montre 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. Elle indique une plage de mesure allant de 24 mm à 1000 mm, soit de 1 pouce à 40 pouces.
|
|
Dans cet exemple, une boucle Tant que avec une condition 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étectera un objet, le robot s'arrêtera 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 not . Le robot se déplacera alors jusqu'à ce que le capteur de distance détecte un objet à moins de 50 millimètres, puis s'arrêtera. Ceci est illustré dans la première vidéo ci-dessus. |