SunuLab
Notre savoir
Tous les projets
Intermédiaire45 minKit Capteurs

Radar à ultrasons

Le capteur HC-SR04 envoie un « ping », mesure le temps de retour et calcule la distance d'un objet devant lui. Comme les chauves-souris.

Vidéo du tutoriel — à venir
Radar à ultrasons
Tu auras besoin du

SunuMake Capteurs

Mesure ton environnement7 composants inclus.

15 000 FCFAVoir le kit
Pas à pas

Les étapes

  1. 1

    Matériel

    1 capteur HC-SR04 (le module avec 2 « yeux » blancs et 4 broches : VCC, TRIG, ECHO, GND), 5 fils.

  2. 2

    Câble le capteur

    VCC → 5 V. GND → GND. TRIG → broche 7 de l'Arduino. ECHO → broche 8 de l'Arduino. Le capteur n'a besoin de rien d'autre.

  3. 3

    Téléverse et ouvre le moniteur série

    Téléverse, puis ouvre le moniteur série (à 9600 bauds). Tu vois la distance défiler en cm. Approche ta main du capteur, recule, observe.

  4. 4

    Teste les limites

    Le HC-SR04 fonctionne de 2 cm à 400 cm environ. En-dessous de 2 cm il devient imprécis, et au-delà de 4 m il commence à perdre l'écho. Pour les objets très absorbants (tissus, mousse), la portée diminue aussi.

  5. 5

    Bonus : ajoute un LCD

    Si tu as un LCD I2C connecté, ajoute les lignes `lcd.print(distance)` du projet « Thermomètre à écran » pour afficher la distance sur l'écran au lieu du moniteur série. Tu obtiens un vrai télémètre portable.

Code Arduino

Le programme à téléverser

Copie ce code dans l'IDE Arduino, branche ta carte en USB et clique sur le bouton « Téléverser » (la flèche en haut à gauche).

sketch.ino
// Radar à ultrasons — HC-SR04 sur TRIG=7, ECHO=8
const int TRIG = 7;
const int ECHO = 8;
void setup() {
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
Serial.begin(9600);
}
void loop() {
// 1. Envoie un pulse de 10 µs sur TRIG
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
// 2. Mesure combien de temps ECHO reste à HIGH (aller-retour du son)
long duree = pulseIn(ECHO, HIGH);
// 3. Convertit en cm : son = 343 m/s = 0.0343 cm/µs, on divise par 2
float distance = duree * 0.0343 / 2;
Serial.print("Distance : ");
Serial.print(distance, 1);
Serial.println(" cm");
delay(200);
}
Mini-cours

Comment ça marche ?

Le HC-SR04 fonctionne exactement comme un sonar de sous-marin ou les chauves-souris : il envoie une onde sonore inaudible (40 kHz, trop aigu pour nos oreilles), puis il écoute combien de temps met l'écho à revenir.

Le son se déplace à environ 343 m/s dans l'air — autrement dit 0,0343 cm par microseconde. Si l'écho met 1000 µs à faire l'aller-retour, l'objet est à 1000 × 0,0343 / 2 = 17,15 cm (on divise par 2 parce que le son a fait l'aller ET le retour).

La fonction pulseIn(broche, HIGH) est très pratique : elle mesure pour toi combien de temps la broche reste à HIGH. Sans elle, il faudrait écrire une boucle qui lit la broche en permanence et chronomètre — beaucoup plus de code, pour le même résultat.

Continuer

D'autres projets à essayer