LDR (Fotowiderstand)
SensorEin lichtabhaengiger Widerstand (Light Dependent Resistor). Je heller es ist, desto kleiner wird sein Widerstand. Mit einem Spannungsteiler kann der Arduino die Helligkeit messen.
Tipps:
Der LDR hat keine Polaritaet — man kann ihn nicht falsch herum einbauen! Er braucht einen zweiten Widerstand (10k Ohm) als Spannungsteiler, sonst kann der Arduino nichts messen.
Technische Daten
| Kategorie | Licht |
|---|---|
| Schnittstelle | Analog |
| Pinbelegung | Pin 1, Pin 2 (kein Plus/Minus — Widerstand hat keine Polaritaet) |
| Anzahl Pins | 2 |
| Messgroesse | Helligkeit (relativ) |
| Messbereich | Dunkel (>1 MOhm) bis Hell (<100 Ohm) |
| Genauigkeit | Relativ — keine kalibrierten Lux-Werte |
| Betriebsspannung | 3.3V – 5.0V |
| Stromverbrauch | 0.5 mA |
| Datenblatt | PDF oeffnen |
Anschluss
Arduino Uno R3
Pins:
5V=Pin1, A0=Pin2 (ueber Spannungsteiler), GND=10k-Widerstand
Hinweise: Spannungsteiler: LDR zwischen 5V und A0, 10k-Ohm-Widerstand zwischen A0 und GND.
Codebeispiele
Helligkeit messen mit dem Fotowiderstand Anfaenger
Der LDR aendert seinen Widerstand je nach Helligkeit. Mit einem Spannungsteiler wandeln wir das in eine messbare Spannung um. Der analoge Eingang des Arduino liest Werte von 0 (dunkel) bis 1023 (hell).
Benoetigte Bibliotheken: Keine (nur Arduino-Standardfunktionen)
// ============================================
// LDR: Helligkeit messen mit Fotowiderstand
// ============================================
// Anschluss: LDR zwischen 5V und A0
// 10k-Ohm Widerstand zwischen A0 und GND
// (= Spannungsteiler)
#define LDR_PIN A0 // Analoger Eingang
#define LED_PIN 13 // Onboard-LED als Indikator
// Schwellenwert: unter diesem Wert ist es "dunkel"
#define DUNKEL_SCHWELLE 300
void setup() {
Serial.begin(9600);
pinMode(LED_PIN, OUTPUT);
Serial.println("LDR Lichtsensor bereit!");
Serial.println("Werte: 0 = sehr dunkel, 1023 = sehr hell");
}
void loop() {
// Analogen Wert lesen (0 bis 1023)
int helligkeit = analogRead(LDR_PIN);
// Wert ausgeben
Serial.print("Helligkeit: ");
Serial.print(helligkeit);
// Einfache Bewertung
if (helligkeit < DUNKEL_SCHWELLE) {
Serial.println(" -> DUNKEL (LED an)");
digitalWrite(LED_PIN, HIGH); // LED einschalten wenn dunkel
} else {
Serial.println(" -> HELL (LED aus)");
digitalWrite(LED_PIN, LOW); // LED ausschalten wenn hell
}
delay(500);
}
Projekte mit diesem Bauteil
Probleme mit LDR (Fotowiderstand)?
KI-Lernhelfer fragen