Welkom terug bij je volgende avontuur in de wereld van Arduino! Vandaag gaan we een nachtlampje maken dat automatisch aan gaat als het donker is. We gebruiken een fototransistor om te meten hoeveel licht er is, en een LED die oplicht wanneer het donker wordt. Dit project leert je hoe je sensoren gebruikt om je Arduino aan te sturen. Laten we beginnen!
Stap 1: het circuit bouwen
We hebben een paar onderdelen nodig om dit project te maken. Zorg ervoor dat je de volgende componenten bij de hand hebt:
Benodigdheden:
- 1x Arduino Uno
- 1x LED
- 1x Weerstand van 220 ohm (voor de LED)
- 1x Fototransistor (of LDR)
- 1x Weerstand van 10k ohm (voor de fototransistor)
- 4x man-man jumper wires
Hier is hoe je alles met elkaar verbindt:
- LED Aansluiten:
- Verbind een jumper wire van pin 13 van je Arduino naar het ene beentje van de 220 ohm weerstand.
- Plaats het andere beentje van de 220 ohm weerstand in dezelfde rij op het breadboard als het lange beentje van de LED.
- Verbind het korte beentje van de LED met de GND-pin (grond) op je Arduino.
- Fototransistor Aansluiten:
- Verbind één pootje van de fototransistor met de 5V-pin op je Arduino.
- Verbind het andere pootje van de fototransistor met de analoge pin A0 op je Arduino.
- Verbind een 10k ohm weerstand tussen het pootje van de fototransistor dat naar A0 gaat en GND-pin op je Arduino.
Schema:

Stap 2: De code schrijven
Nu het circuit is opgebouwd, gaan we de code schrijven die de LED automatisch laat branden als het donker wordt.
Open de Arduino IDE en volg deze stappen:
int sensorPin = A0;//Zegt dat de fototransistor op analoge pin 0 zit
int ledPin = 13;//Zegt dat de LED op pin 13 zit.
void setup() {
pinMode(ledPin, OUTPUT); // Stel de LED pin in als uitgang
}
void loop() {
int sensorValue = analogRead(sensorPin); // Lees de waarde van de fototransistor
if (sensorValue > 512) { // Als de sensorwaarde boven 512 ligt
digitalWrite(ledPin, LOW); // Zet de LED aan
} else { // Anders
digitalWrite(ledPin, HIGH); // Zet de LED uit
}
delay(100); // Wacht 100 milliseconden
}
Wat doet deze code?
- Servo myServo;: Dit maakt een object aan waarmee we de servo kunnen aansturen.
- myServo.attach(9);: Dit verbindt de servo met pin 9 van de Arduino.
- digitalRead(2);: Leest de status van het knopje. Als het knopje is ingedrukt (HIGH), dan…
- myServo.write(180);: Draaien we de servo naar 180 graden.
- delay(1000);: Wacht 1 seconde.
- myServo.write(0);: Draai de servo terug naar 0 graden.
- delay(1000);: Wacht weer 1 seconde.
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) om de code naar je Arduino te uploaden.
Als alles goed is gegaan, zou de LED moeten oplichten wanneer je de fototransistor afdekt of als de kamer donker genoeg is.
