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 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 :
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. 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.
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) |
| 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) |
|
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. |