⭐⭐ Débutant avancé
⏱️ 20 minutes
Capteur de stationnement
Tu construis un capteur de stationnement, comme dans une voiture. Plus tu t'approches du capteur, plus le buzzer bipe vite. Très près ? Alors il fait un long son.
🧰 De quoi as-tu besoin ?
🗺️ Schéma de branchement
Suis les fils de l’Arduino vers chaque pièce. Tu peux choisir toi-même les couleurs des fils.
| De | Vers |
|---|---|
Arduino UNO · D9 |
Capteur de distance HC-SR04 · Trig |
Arduino UNO · D10 |
Capteur de distance HC-SR04 · Echo |
Arduino UNO · 5V |
Capteur de distance HC-SR04 · Vcc |
Arduino UNO · GND |
Capteur de distance HC-SR04 · Gnd |
Arduino UNO · D8 |
Buzzer actif · S |
Arduino UNO · 5V |
Buzzer actif · + |
Arduino UNO · GND |
Buzzer actif · - |
🛠️ Voici comment le construire
- Branche le HC-SR04 : Trig sur la broche 9, Echo sur la broche 10, Vcc sur 5V et Gnd sur GND.
- Branche le buzzer : S sur la broche 8, + sur 5V et − sur GND.
- Utilise les bandes + et − de ta breadboard pour 5V et GND.
💻 Le code
// Capteur de stationnement
// Plus tu t'approches du capteur, plus le buzzer bipe vite. Comme dans une voiture !
const int TRIG_PIN = 9; // Trig du HC-SR04 sur pin 9
const int ECHO_PIN = 10; // Echo du HC-SR04 sur pin 10
const int BUZZER_PIN = 8; // S du buzzer sur pin 8
void setup() {
Serial.begin(9600);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(BUZZER_PIN, OUTPUT);
}
// Mesure la distance en centimètres
long mesureDistance() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH); // Envoie un petit son (que tu n'entends pas)
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
long duree = pulseIn(ECHO_PIN, HIGH, 30000); // Combien de temps avant le retour de l'écho ?
if (duree == 0) return 999; // Pas d'écho : rien tout près
return duree / 58; // Transformer le temps en centimètres
}
void loop() {
long distance = mesureDistance();
Serial.print(F("Distance: "));
Serial.print(distance);
Serial.println(F(" cm"));
if (distance < 5) {
digitalWrite(BUZZER_PIN, HIGH); // Très près : un long son
delay(100);
} else if (distance < 50) {
digitalWrite(BUZZER_PIN, HIGH); // Petit bip
delay(50);
digitalWrite(BUZZER_PIN, LOW);
delay(distance * 10); // Plus près = pause plus courte = bips plus rapides
} else {
digitalWrite(BUZZER_PIN, LOW); // Loin : silence
delay(100);
}
}
🧠 Que fait le code ?
mesureDistance()envoie un petit son et mesure le temps que met l'écho pour revenir. On le transforme en centimètres.- Plus loin que 50 cm : le buzzer est silencieux.
- Plus près : la pause entre les bips devient plus courte. Sous 5 cm, il bipe sans s'arrêter.
🎯 Essaie un peu…
- Fais commencer les bips du capteur dès 1 mètre
- Ajoute une LED rouge qui s'allume quand c'est trop près
- Montre la distance dans le moniteur série, avec une petite barre d'étoiles
🚀 Construis ce projet avec Codey : ouvre codey.online/fr/starter-kits/uno/projects/parking-sensor et clique sur FAIS ÇA. Alors le code et le schéma de branchement sont tout de suite prêts.
Codey Online est un produit de OTRONIC