Welkom terug! In de vorige projecten heb je geleerd hoe je een enkele LED kunt laten knipperen en hoe je meerdere LEDs om de beurt kunt laten knipperen. Vandaag gaan we een stapje verder door te leren hoe je een LED kunt aansturen met een knopje. Dit is een leuke manier om te leren hoe je input van de buitenwereld kunt gebruiken om je Arduino te bedienen. Laten we beginnen!
Stap 1: het circuit bouwen
We gaan een led aansturen met een knopje; zorg ervoor dat je deze onderdelen bij de hand hebt:
Benodigdheden:
- 1x Arduino Uno
- 1x LED
- 1x Weerstand van 220 ohm (voor de LED)(kleuren: rood-rood-bruin-goud)
- 1x drukknop (push button)
- 1x weerstand van 10k ohm (voor het knopje)(kleuren: bruin-zwart-oranje-goud)
- 5x man-man jumper wires
Verbind zoals op het schema:
- LED Aansluiten:
- Neem een jumper wire en verbind pin 13 met het ene beentje van de 220 ohm weerstand(kleuren: rood-rood-bruin-goud).
- Plaats het andere beentje van de 220 ohm weerstand in dezelfde rij als het lange beentje (de anode) van de LED. (dit voorkomt dat de LED doorbrandt)
- Verbind het korte beentje (de kathode) van de LED met de GND-pin (grond) op je Arduino
- Knopje Aansluiten:
- Verbind de pin linksboven op je knopje met de 5V-pin van je Arduino.
- Verbind de pin rechtsboven op je knopje met pin 2 van je Arduino.
- Verbind de pin rechtsonder op je knopje met het ene beentje van je 10KΩ weerstand(kleuren: bruin-zwart-oranje-goud),
- Verbind het andere beentje van de weerstand met de GND-pin op je Arduino.
Schema:

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:
void setup() {
pinMode(13, OUTPUT); // Pin 13 instellen als uitgang voor de LED
pinMode(2, INPUT); // Pin 2 instellen als ingang voor het knopje
}
void loop() {
int knopStatus = digitalRead(2); // Lees de status van het knopje
if (knopStatus == HIGH) {
digitalWrite(13, HIGH); // Zet de LED aan als het knopje is ingedrukt
} else {
digitalWrite(13, LOW); // Zet de LED uit als het knopje niet is ingedrukt
}
}
Wat doet deze code?
- pinMode(13, OUTPUT); stelt pin 13 in als uitgang om de LED aan te sturen.
- pinMode(2, INPUT); stelt pin 2 in als ingang om het knopje te lezen.
- digitalRead(2); leest de status van het knopje. Als het knopje is ingedrukt, geeft dit HIGH (hoog) terug, anders LOW (laag).
- if (knopStatus == HIGH) controleert of het knopje is ingedrukt. Als dat zo is, wordt de LED aangezet (digitalWrite(13, HIGH);).
- else betekent dat als het knopje niet is ingedrukt, de LED wordt uitgezet (digitalWrite(13, LOW);).
Stap 3: De code uploaden
- Sluit je Arduino aan op je computer met de USB-kabel.
- (Klik op select board, dan op Arduino Uno)
- Klik op de uploadknop (pijltje) in de Arduino IDE om de code naar je Arduino te sturen.
Als alles goed is gegaan, zal de LED gaan branden wanneer je het knopje indrukt en weer uitgaan wanneer je het loslaat.
Gefeliciteerd!
Je hebt nu geleerd hoe je een LED kunt aansturen met een knopje. Dit is een belangrijke stap, omdat het je leert hoe je interactie met de buitenwereld kunt maken via een Arduino. Wat ga je nu als volgende proberen? Misschien wil je een combinatie maken van knoppen en LEDs, of een nieuw project bedenken. De mogelijkheden zijn eindeloos!
