Umgebungslichtsensor mit Fotowiderstand & LED: Schritt-für-Schritt-Anleitung
Komponenten und Zubehör
| Komponente | Menge | Hinweise |
|---|---|---|
| Arduino UNO | 1 | Jedes Board mit analogem Pin, mind. 2 digitale Pins, 3 GND |
| Fotowiderstand (LDR) | 1 | |
| LED (generisch) | 2 | Zwei verschiedene Farben |
| Widerstand 1 kΩ | 1 | für LDR-Spannungsteiler |
| Widerstand 100 Ω | 2 | für LEDs (220 Ω gehen auch, 100 Ω sind besser) |
| Jumper-Kabel (generisch) | 1 | |
| Steckbrett (Breadboard) | 1 |
Apps und Online-Dienste
- Arduino IDE
- Arduino Web Editor
Über dieses Projekt
Ich nutze Arduino schon eine Weile und entschied, es ist Zeit, ein eigenes Projekt von Grund auf zu entwerfen. Ich modifizierte Schaltungen von Alex Glow und Joe Coburn, damit sie besser zu diesem Projekt passen. Bei Problemen oder Verbesserungsvorschlägen – bitte kommentieren!
Verkabelung
Der Fotowiderstand ist an Analogpin A0 (jeder analoge Pin geht) und 5 V (rechte Breadboard-Schiene) angeschlossen. Er läuft über einen 1 kΩ Widerstand gegen Masse. Auf der gegenüberliegenden Breadboard-Seite sitzt eine LED (beliebige Farbe) an Digitalpin 13 (jeder digitale Pin geht) mit 220 Ω (oder 100 Ω) gegen Masse. Etwas weiter rechts eine zweite LED anderer Farbe, genauso angeschlossen, aber an einem anderen Digitalpin.
Funktionsweise
Der Code liest den analogen Wert des Fotowiderstands (0–1023) und schaltet die LEDs entsprechend:
- Wert > 450 (hell): „It is quite light!“ im Serial Monitor, beide LEDs AUS.
- Wert 230–450 (mittel): „It is average light!“, linke LED AN, rechte AUS.
- Wert < 230 (dunkel): „It is pretty dark!“, beide LEDs AN.
Ein delay(1000) am Loop-Ende verhindert Serial-Monitor-Spam.
Prüfen Sie vor dem Hochladen Schaltplan und Code.
Code
LED_PR_Light_Read Arduino
int light = 0; // aktueller Lichtwert
void setup() {
Serial.begin(9600);
pinMode(13, OUTPUT); // linke LED
pinMode(12, OUTPUT); // rechte LED
}
void loop() {
light = analogRead(A0); // Wert vom LDR lesen
Serial.println(light); // Wert ausgeben
if (light > 450) { // Hell
Serial.println("It is quite light!");
digitalWrite(13, LOW);
digitalWrite(12, LOW);
}
else if (light > 229 && light < 451) { // Mittel
Serial.println("It is average light!");
digitalWrite(13, HIGH);
digitalWrite(12, LOW);
}
else { // Dunkel
Serial.println("It is pretty dark!");
digitalWrite(13, HIGH);
digitalWrite(12, HIGH);
}
delay(1000); // Serial Monitor nicht spammen
}
Schaltpläne
Herstellungsprozess
- Farbsensoren: Funktionsweise und Schlüsselanwendungen
- OPT3007 Ultra-dünner Umgebungslichtsensor – Präzise Lichtmessung für Smart Devices
- Umgebungslichtsensoren: Funktionalität, Design und Hauptanwendungen
- Optische Sensoren: Grundlagen, Typen und praktische Anwendungen
- Fern-Temperatursensor mit Raspberry Pi & Python bauen – Schritt-für-Schritt-Anleitung
- LED mit PIR-Bewegungsmelder am Raspberry Pi steuern
- Multi-Sensor Temperatur- & Licht-Überwachung mit Raspberry Pi & DS18B20
- Raspberry Pi Badezimmer-Belegungssensor mit Sprach- & SMS-Benachrichtigung via Twilio
- Smart IoT-Glas bauen: Füllstand überwachen mit ESP8266, Arduino & Ultraschall
- Armaturenbrett-Symbole verstehen: Warnleuchten, Farben & Bedeutung