Le HY-SRF05 est un capteur de distance ultrasonique populaire qui fonctionne parfaitement avec l'ESP8266. Dans ce guide, je te montre comment le câbler et lire des valeurs de distance en temps réel.
Ce qu'il te faut
- ESP8266 (NodeMCU ou n'importe quelle variante)
- Capteur ultrasonique HY-SRF05
- Fils de connexion
Câblage
Le capteur a cinq broches : VCC, GND, TRIG, ECHO et OUT. Pour ce montage on n'utilise que TRIG et ECHO — c'est suffisant pour mesurer une distance.
- VCC → 5V
- GND → GND
- TRIG → D1
- ECHO → D2
Le capteur fonctionne mieux à 5V, donc on l'alimente depuis la broche 5V plutôt que la broche 3,3V.
Fonctionnement
Le sketch envoie une courte impulsion sur TRIG puis écoute le retour sur ECHO. Le temps écoulé entre l'émission et la réception permet de calculer la distance grâce à la vitesse du son (0,0343 cm par microseconde).
Le code
Code source complet : github.com/viktoriabuilds/esp8266-ultrasonic-sensor
#define TRIG_PIN D1
#define ECHO_PIN D2
long duration;
float distance;
void setup() {
Serial.begin(115200);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
}
void loop() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
duration = pulseIn(ECHO_PIN, HIGH);
distance = duration * 0.0343 / 2;
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
delay(500);
}Téléverse le sketch et ouvre le Moniteur Série à 115200 bauds. Tu verras les distances s'afficher toutes les demi-secondes.
Utilisations courantes
- Détection d'obstacles dans les robots
- Mesure de distance pour l'automatisation
- Détection d'objets pour les projets IoT