⭐⭐ Gevorderde beginner
⏱️ 20 minuten
Parkeersensor
Je bouwt een parkeersensor, net als in een auto. Hoe dichter je bij de sensor komt, hoe sneller de zoemer piept. Heel dichtbij? Dan klinkt er één lange toon.
🧰 Wat heb je nodig?
🗺️ Aansluitschema
Volg de draden van de Arduino naar elk onderdeel. De kleuren van de draden mag je zelf kiezen.
| Van | Naar |
|---|---|
Arduino UNO · D9 |
Afstandssensor HC-SR04 · Trig |
Arduino UNO · D10 |
Afstandssensor HC-SR04 · Echo |
Arduino UNO · 5V |
Afstandssensor HC-SR04 · Vcc |
Arduino UNO · GND |
Afstandssensor HC-SR04 · Gnd |
Arduino UNO · D8 |
Actieve zoemer · S |
Arduino UNO · 5V |
Actieve zoemer · + |
Arduino UNO · GND |
Actieve zoemer · - |
🛠️ Zo bouw je het
- Sluit de HC-SR04 aan: Trig naar pin 9, Echo naar pin 10, Vcc naar 5V en Gnd naar GND.
- Sluit de zoemer aan: S naar pin 8, + naar 5V en − naar GND.
- Gebruik de + en − strips van je breadboard voor 5V en GND.
💻 De code
// Parkeersensor
// Hoe dichter je bij de sensor komt, hoe sneller de zoemer piept. Net als in een auto!
const int TRIG_PIN = 9; // Trig van de HC-SR04 op pin 9
const int ECHO_PIN = 10; // Echo van de HC-SR04 op pin 10
const int ZOEMER_PIN = 8; // S van de zoemer op pin 8
void setup() {
Serial.begin(9600);
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
pinMode(ZOEMER_PIN, OUTPUT);
}
// Meet de afstand in centimeters
long meetAfstand() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH); // Stuur een kort geluidje (dat jij niet hoort)
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
long tijd = pulseIn(ECHO_PIN, HIGH, 30000); // Hoe lang duurt het voor de echo terugkomt?
if (tijd == 0) return 999; // Geen echo: niets in de buurt
return tijd / 58; // Tijd omrekenen naar centimeters
}
void loop() {
long afstand = meetAfstand();
Serial.print(F("Afstand: "));
Serial.print(afstand);
Serial.println(F(" cm"));
if (afstand < 5) {
digitalWrite(ZOEMER_PIN, HIGH); // Heel dichtbij: één lange toon
delay(100);
} else if (afstand < 50) {
digitalWrite(ZOEMER_PIN, HIGH); // Korte piep
delay(50);
digitalWrite(ZOEMER_PIN, LOW);
delay(afstand * 10); // Dichterbij = kortere pauze = sneller piepen
} else {
digitalWrite(ZOEMER_PIN, LOW); // Ver weg: stil
delay(100);
}
}
🧠 Wat doet de code?
meetAfstand()stuurt een geluidje en meet hoe lang het duurt voor de echo terugkomt. Dat rekenen we om naar centimeters.- Verder dan 50 cm: de zoemer is stil.
- Dichterbij: de pauze tussen de piepjes wordt korter. Onder de 5 cm piept hij aan één stuk door.
🎯 Probeer eens…
- Laat de parkeersensor al vanaf 1 meter beginnen met piepen
- Voeg een rode LED toe die gaat branden als het te dichtbij is
- Laat de afstand zien in de seriële monitor, met een balkje van sterretjes
🚀 Bouw dit project met Codey: open codey.online/nl/starter-kits/uno/projects/parking-sensor en klik op MAAK DIT. Dan staan de code en het aansluitschema meteen klaar.
Codey Online is een product van OTRONIC