Bouw een Omgevingslichtsensor met Fotoweerstand en LED: Stapsgewijze Handleiding
Onderdelen en Benodigdheden
| Onderdeel | Aantal | Opmerkingen |
|---|---|---|
| Arduino UNO | 1 | Elk bord met een analoge pin, min. 2 digitale pinnen en min. 3 massa-verbindingen werkt. |
| Fotoweerstand (LDR) | 1 | |
| LED (generiek) | 2 | Twee verschillende kleur. |
| Weerstand 1k ohm | 1 | |
| Weerstand 100 ohm | 2 | Ik gebruikte 220 ohm, maar 100 ohm werkt beter. |
| Draadjes (generiek) | 1 | |
| Breadboard (generiek) | 1 |
Apps en Online Diensten
| Arduino IDE |
| Arduino Web Editor |
Over dit Project
Ik gebruik al even Arduino en besloot dat het tijd was om mijn eigen project vanaf nul te ontwerpen. Ik heb wat circuits die ik online vond (van Alex Glow en Joe Coburn) aangepast zodat ze beter bij dit project pasten. Als je problemen vindt of betere oplossingen hebt, laat het dan weten in de reacties!
Aansluitingen
Ik heb een fotoweerstand aangesloten op analoge pin A0 (elke analoge pin werkt) en 5V aan de rechterkant van het breadboard. Deze loopt via een 1k ohm weerstand naar massa. Aan de overkant van het breadboard zit een LED (elke kleur) op digitale pin 13 (elke digitale pin werkt) met een 220 ohm weerstand naar massa (100 ohm werkt ook). Iets rechts ervan zit een LED van een andere kleur, op dezelfde manier maar met een andere digitale pin.
Hoe het Werkt
Als de fotoweerstand een waarde boven 450 meet, print het "Het is best licht!" op de seriële monitor en zet het alle LEDs uit:
if (light > 450) { // Als het helder is...
Serial.println("Het is best licht!");
digitalWrite(13, LOW); // linkse LED uit
digitalWrite(12, LOW); // rechter LED uit
}
Als de waarde tussen 230 en 450 ligt, print het "Het is gemiddeld licht!" en zet het de linkse LED aan:
else if (light > 229 && light < 451) { // Gemiddeld licht
Serial.println("Het is gemiddeld licht!");
digitalWrite(13, HIGH); // linkse LED aan
digitalWrite(12, LOW); // rechter LED uit
}
Voor waarden onder 230 print het "Het is best donker!" en zetten beide LEDs aan:
else { // Donker
Serial.println("Het is best donker!");
digitalWrite(13, HIGH); // linkse LED aan
digitalWrite(12, HIGH); // rechter LED aan
}
Ik voegde een delay van 1000 ms toe aan het einde van de loop om de seriële monitor niet te overladen:
delay(1000); // niet de computer spammen!
Controleer het schema en je code voordat je uploadt of runt.
Code
LED_PR_Light_Read (Arduino)
int light = 0; // houdt huidige lichtwaarde
void setup() {
Serial.begin(9600);
pinMode(13, OUTPUT); // digitale pin 13 als uitgang
pinMode(12, OUTPUT); // digitale pin 12 als uitgang
}
void loop() {
light = analogRead(A0); // lees en bewaar waarde van fotoweerstand
Serial.println(light); // print huidige lichtwaarde
if (light > 450) { // Helders
Serial.println("Het is best licht!");
digitalWrite(13, LOW);
digitalWrite(12, LOW);
} else if (light > 229 && light < 451) { // Gemiddeld
Serial.println("Het is gemiddeld licht!");
digitalWrite(13, HIGH);
digitalWrite(12, LOW);
} else { // Donker
Serial.println("Het is best donker!");
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
}
delay(1000); // niet de computer spammen!
}
Schema's

Productieproces
- Een externe temperatuursensor bouwen met Raspberry Pi en Python – Stap-voor-stap handleiding
- Een LED Besturen met een PIR-bewegingssensor op Raspberry Pi
- Een Multi-sensor Temperatuur- & Lichtmonitoringssysteem Bouwen met Raspberry Pi & DS18B20
- Raspberry Pi-gebaseerde badkamerbezet-sensor met spraak- en SMS-waarschuwingen via Twilio
- Bouw een Slimme IoT Pot met ESP8266, Arduino & Ultrasonische Sensor – Real-time Monitoring
- Draadloze Dataoverdracht via LED (Li-Fi) – Arduino Project
- Uw autodashboard ontcijferd: lampjes, indicatoren en hun betekenis
- Kleursensoren: Hoe Ze Werken & Belangrijkste Toepassingen
- OPT3007 Ultra-dun Omgevingslichtsensor – Precieze Lichtmeting voor Slimme Apparaten
- Omgevingslichtsensoren: Functionaliteit, Ontwerp en Belangrijke Toepassingen
- Optische Sensoren: Fundamenten, Typen en Praktische Toepassingen