[Tuto] Mesurer une distance avec le capteur à ultrasons HC-SR04
Le HC-SR04 envoie une impulsion ultrasonore et mesure le temps que l'écho met à revenir. Il sert à détecter des obstacles ou à mesurer un niveau, par exemple sur un robot.
Câblage
- VCC vers 5 V
- GND vers GND
- Trig vers la broche 9
- Echo vers la broche 10
Principe de calcul
Le son parcourt environ 343 m/s dans l'air, soit 0,0343 cm par microseconde. Comme l'onde fait un aller-retour : distance (cm) = durée (µs) × 0,0343 / 2.
Le code
const int TRIG = 9;
const int ECHO = 10;
void setup() {
Serial.begin(9600);
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
}
void loop() {
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
long duree = pulseIn(ECHO, HIGH, 30000);
float distance = duree * 0.0343 / 2;
Serial.print("Distance : ");
Serial.print(distance);
Serial.println(" cm");
delay(200);
}
Si le résultat affiche 0, aucun écho n'a été reçu dans le délai : l'objet est trop loin ou mal orienté.
Bon à savoir
- La plage utile va d'environ 2 cm à 4 m.
- Les surfaces molles ou inclinées renvoient mal les ultrasons.
- Avec une carte en 3,3 V (ESP32), la sortie Echo à 5 V demande un pont diviseur de tension.
Voir nos capteurs de proximité et nos kits robotique.
Liquid error (sections/article-template line 60): The format option 'month_day_year' is not a supported format.
Translation missing: fr.blogs.comments.comments_with_count
[Guide] Bien souder ses composants électroniques
Arduino ou Raspberry Pi : lequel choisir pour votre projet ?