Welkom terug! Vandaag gaan we iets nieuws doen: we laten een LED reageren op geluid! Met een kleine sound sensor module en een paar jumper wires kun je de LED laten aan- of uitgaan door simpelweg in je handen te klappen. Dit is een leuke manier om te leren hoe je sensorinput kunt gebruiken om je Arduino met de omgeving te laten reageren. Laten we beginnen!
Stap 1: het circuit bouwen
We gaan een LED aansturen met geluid. Zorg ervoor dat je deze onderdelen bij de hand hebt:
Benodigdheden:
- 1× Arduino Uno
- 1× LED
- 1× Weerstand van 220 Ω (kleuren: rood-rood-bruin-goud)
- 1× Sound sensor module (met microfoon en potmeter, zoals KY-038 of LM393)
- Enkele man-man jumper wires
Verbindingen:
- LED Aansluiten:
- Verbind pin 13 op je Arduino met één beentje van de 220 Ω-weerstand.
- Plaats het andere beentje van de weerstand in dezelfde rij als het lange been (anode) van de LED.
- Verbind het korte been (kathode) van de LED met GND.
- Sound sensor module aansluiten
- Verbind de VCC-pin van de sound sensor met de 5 V-pin van je Arduino.
- Verbind de GND-pin met GND op de Arduino.
- Verbind de D0-pin van de sensor met pin 2 op de Arduino.
- (De A0-pin laat je los; die is niet nodig voor dit project.)
Dit is alles wat je nodig hebt om je circuit op te zetten!
Stap 2: De code schrijven
Nu we het circuit hebben opgezet, is het tijd om de code te schrijven die het knopje en de LED aanstuurt.
Open de Arduino IDE en volg deze stappen:
// --- Pin-definities ---
const int soundPin = 2; // D0-uitgang van de sound sensor (digitale uitgang)
const int ledPin = 13; // LED aangesloten op pin 13 (met serieweerstand)
// --- Setup() wordt één keer uitgevoerd bij het opstarten ---
void setup() {
pinMode(soundPin, INPUT); // soundPin als invoer: hier leest Arduino of er geluid is gedetecteerd
pinMode(ledPin, OUTPUT); // ledPin als uitvoer: hiermee sturen we de LED aan
}
// --- Variabele om bij te houden of de LED aan of uit staat ---
bool led_aan = false;
// --- Loop() wordt voortdurend herhaald ---
void loop() {
int clap = digitalRead(soundPin); // Lees de digitale uitgang van de geluidsmodule (HIGH of LOW)
// De meeste LM393- of KY-038-modules geven een LOW-signaal bij een plots geluid (zoals een klap)
if (clap == LOW) { // Controleer of er geluid werd gedetecteerd
// --- Wissel de LED-toestand om ---
if (led_aan == true) { // Als de LED momenteel AAN is...
digitalWrite(ledPin, LOW); // ...zet ze UIT
led_aan = false; // en onthoud dat ze nu uit staat
}
else if (led_aan == false) { // Als de LED momenteel UIT is...
digitalWrite(ledPin, HIGH); // ...zet ze AAN
led_aan = true; // en onthoud dat ze nu aan staat
}
// --- Vertraging om te voorkomen dat één klap meerdere keren wordt geregistreerd ---
delay(500); // 500 ms “debounce” zodat snelle trillingen of echo’s geen dubbelklikken veroorzaken
}
}
Stap 3: De code uploaden
- Sluit je Arduino aan op je computer via de USB-kabel.
- Kies in de IDE je juiste board (bijvoorbeeld Arduino Uno) en poort.
- Klik op de Upload-knop (het pijltje).
- Zodra de upload voltooid is, klap in je handen — en zie hoe de LED reageert!
🔧 Gevoeligheid afstellen
Reageert de LED te snel of juist niet op je klap? Gebruik dan een kleine schroevendraaier om aan de blauwe potmeter op de sound module te draaien:
- Met de klok mee → lagere gevoeligheid (moet harder geluid hebben)
- Tegen de klok in → hogere gevoeligheid (reageert sneller) Draai rustig tot je het punt vindt waarop hij goed reageert op een klap, maar niet op normaal achtergrondgeluid.
Gefeliciteerd!
Je hebt een geluidsgevoelige LED-schakelaar gebouwd. Je Arduino reageert nu op geluid — een echte interactie met de omgeving! Een mooie stap richting slimme en interactieve projecten.
