liteqz.com
Étiquettes: Arduino, C/C++, Capteur, Programmation Le capteur de distance GP2Y0A21 est un capteur infrarouge de chez Sharp permettant de détecter des obstacles situés à une distance entre 10 et 80cm. Ce capteur infrarouge existe en plusieurs versions ayant des caractéristiques et performances différentes. Ce tutoriel reste valable pour la majorité d'entre elles à condition de modifier la règle de conversion (Exemple de version: GP2Y0A02, GP2Y0A710). Matériel Ordinateur Arduino UNO Câble USB A/B GP2Y0A21 Principe de fonctionnement Les capteurs de distance à infrarouge utilisent la lumière infrarouge pour calculer la distance à un objet par triangulation. Une led infrarouge envoie un signal lumineux invisible à l'oeil nu qui est réfléchi en présence d'un objet. Une barrette photorésistive capte la lumière réfléchit ce qui permet d'en déduire l'angle de réflexion et donc la distance. Le capteur renvoie une valeur analogique comprise entre 0 et 5V. Schéma Le capteur de distance GP2Y0A21 est alimenté en 5V.
034/2; // Affichage de la distance dans le Moniteur Série intln(distance); delay(500); // Délai d'attente pour éviter d'afficher trop de résultats à la seconde} Capteur de distance relié à une Led Dans le programme si dessous l'intensité de la led va changer en fonction de la distance de l'obstacle. Son intensité est exprimée en pourcentage dans le tableau ci-dessous: 0% 1 mètre < Distance 50% 30 centimètres < Distance < 1 mètre 75% 15 centimètres < Distance < 30 centimètres 100% 0 centimètre < Distance < 15 centimètres Voici le programme avec la librairie: #include "SR04.
println ( distance);} delay ( 1000);} Télécharger Caractéristiques du capteur VL53L0X Documentation du capteur: communication avec la carte Arduino via le bus I2c (broches SDA et SCL). sortie numérique Alimentation du capteur en 5V (présence d'un régulateur 3, 3V sur la carte du capteur) Branchements du capteur VL53L0X Programme Pour le mettre en œuvre, j'utilise la bibliothèque d'Adafruit sous licence BSD. Cette bibliothèque est installable depuis le gestionnaire de bibliothèques de l'IDE Arduino ( croquis -> inclure une bibliothèque -> gérer les bibliothèques) #include "Adafruit_VL53L0X. h" Adafruit_VL53L0X capteur = Adafruit_VL53L0X (); VL53L0X_RangingMeasurementData_t mesure; void setup () { Serial. begin ( 9600); // initialisation du capteur if (! capteur. begin ()) { Serial. println ( F ( "Echec de connexion au capteur VL53L0X")); while ( 1);}} void loop () { capteur. rangingTest ( & mesure, false); // 'true' informations de debuggage // RangeStatus = 4 signifie que le mesure est erronée if ( mesure.
Pour cela on va devoir nous-même calculer la durée de l'écho, c'est-à-dire le temps que met le capteur à ultrason à recevoir le faisceau. Puis nous calculerons la distance entre le capteur et l'objet. Pour pouvoir se passer de la librairie, il y faut ajouter certains éléments dans votre programme. Etape 1 Tout d'abord vous allez devoir démarrer un faisceau de 10 microsecondes sur la borne trig afin de démarrer le signal. digitalWrite(trigPin, LOW); delayMicroseconds(5); digitalWrite(trigPin, HIGH); delayMicroseconds(10); On peut voir ici que le signal est éteint puis allumé pendant 10 microsecondes puis éteint une deuxième fois. Etape 2 On récupère le temps que met le signal à revenir au capteur: duree = pulseIn(echoPin, HIGH); On calcule ensuite cette distance avec la formule donnée précédemment: Distance = (signal reçu * vitesse du son) /2 Vitesse du son dans l'air: 340 m/s On a donc: distance = durée*0.
Puis en vous rendant sur Fritzing, vous choisissez le capteur à partir des composants mine, en cliquant sur import: Vous pouvez ensuite utiliser le capteur.