Raspberry Pi Lichtsensor Tutorial – LDR verdrahten und Lichtpegel mit Python auslesen
In diesem umfassenden Raspberry Pi Lichtsensor-Tutorial führe ich Sie durch das Verdrahten eines Fotowiderstands an die GPIO-Pins und das Auslesen der Daten mit einem prägnanten Python-Skript. Ziel ist es, Ihnen ein praktisches Verständnis der Schaltung, des Codes und praktischer Anwendungen wie einem lichtaktivierten Wecker zu vermitteln.
Dieses Projekt ist ideal für Einsteiger, die Sensorintegration erkunden wollen, dient aber auch als Fundament für anspruchsvollere Projekte.
Im Folgenden beschreibe ich die Komponenten, die schrittweise Verdrahtung und die Python-Logik, die die digitalen Pins des Pi in eine provisorische analoge Messung verwandelt.
Ausrüstung
Alles, was Sie benötigen, ist hier aufgelistet. Ein Breadboard ist nicht zwingend erforderlich, vereinfacht aber den Zusammenbau erheblich, besonders wenn Sie weiter experimentieren möchten.
Empfohlen
Raspberry Pi
8 GB SD-Karte oder Micro SD-Karte für Pi 2/B+
Ethernet-Kabel oder Wi-Fi-Dongle
Lichtsensor (LDR)
1 µF Kondensator
Optional
Raspberry Pi Gehäuse
USB-Tastatur
USB-Maus
GPIO Breakout Kit
Breadboard
Breadboard-Kabel
Video
Für visuelle Lerner demonstriert das begleitende Video die vollständige Verdrahtung und zeigt den Echtzeit-Sensoroutput. Die gleichen Informationen werden im Text unten bereitgestellt.
Lichtsensor-Schaltung aufbauen
Die Schaltung ist absichtlich einfach: ein LDR, ein 1 µF Kondensator und ein einzelner GPIO-Pin. Der Widerstand des LDR fällt auf wenige hundert Ohm bei hellem Licht und steigt auf mehrere Megaohm in Dunkelheit. Durch Messen der RC-Zeitkonstante des Kondensators kann der Pi den Lichtpegel ableiten, auch ohne analoge Eingänge.
- Verbinden Sie Pin #1 (3,3 V) mit der + Rail des Breadboards.
- Verbinden Sie Pin #6 (GND) mit der – Rail des Breadboards.
- Platzieren Sie den LDR auf dem Breadboard und führen Sie einen Draht von einem Ende zur + Rail.
- Führen Sie einen Draht vom anderen Ende des LDR zu Pin #7 am Pi.
- Setzen Sie den 1 µF Kondensator zwischen den Draht von Pin #7 und die – Rail, wobei der negative Pol zur – Rail zeigt.
Beziehen Sie sich auf das Diagramm unten für ein visuelles Layout. Sobald die Hardware platziert ist, wandelt der Python-Code den digitalen Pin in eine grobe analoge Messung um.
Python-Code
Das folgende Skript misst, wie lange es dauert, bis der Kondensator auf 75 % der Versorgungsspannung geladen ist. Diese RC-Zeit ist proportional zum Widerstand des LDR und gibt eine grobe Schätzung des Umgebungslichts.
#!/usr/local/bin/python
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BOARD)
# Pin, der mit dem RC-Netzwerk verbunden ist
pin_to_circuit = 7
def rc_time(pin):
count = 0
GPIO.setup(pin, GPIO.OUT)
GPIO.output(pin, GPIO.LOW)
time.sleep(0.1)
GPIO.setup(pin, GPIO.IN)
while GPIO.input(pin) == GPIO.LOW:
count += 1
return count
try:
while True:
print(rc_time(pin_to_circuit))
except KeyboardInterrupt:
pass
finally:
GPIO.cleanup()
Bereitstellung & Ausführung
Auf einem Raspberry Pi mit Raspbian sind die erforderlichen Bibliotheken vorinstalliert. Falls Sie sie manuell installieren müssen, führen Sie aus:
sudo apt-get update
sudo apt-get install python3-rpi.gpio
Klonen Sie das Repository und führen Sie das Skript aus:
git clone https://github.com/pimylifeup/Light_Sensor/
cd Light_Sensor
sudo python3 light_sensor.py
Alternativ fügen Sie den Code in eine neue Datei ein, speichern Sie sie als light_sensor.py und führen Sie denselben Befehl aus.
Genauigkeit verbessern & Mögliche Anwendungen
Während ein LDR eine schnelle, kostengünstige Lösung bietet, können sein begrenzter Dynamikbereich und Temperaturempfindlichkeit für Präzisionsarbeiten unzureichend sein. Für Anwendungen, die höhere Genauigkeit erfordern, ziehen Sie Sensoren wie den Adafruit High-Dynamic-Range Digital Light Sensor in Betracht.
- Lichtaktiver Wecker: Nutzen Sie den LDR, um einen Alarm auszulösen, der mit zunehmendem Tageslicht lauter wird.
- Garten-Sonnenlicht-Monitor: Protokollieren Sie die Lichtintensität in verschiedenen Gartenbereichen, um Pflanzentscheidungen zu unterstützen.
- Raumbelegungs-Alarm: Erkennen Sie unerwartetes Licht in einem dunklen Raum und senden Sie eine Benachrichtigung.
Fühlen Sie sich frei zu experimentieren, das RC-Netzwerk anzupassen oder den Sensor in größere Projekte zu integrieren. Bei Problemen oder Vorschlägen hinterlassen Sie gerne einen Kommentar unten.
Quelle: Raspberry Pi Light Sensor – A Simple LDR Tutorial
Herstellungsprozess
- Raspberry Pi Temperaturlogger mit 5 $ I2C Sensor bauen
- Fern-Temperatursensor mit Raspberry Pi & Python bauen – Schritt-für-Schritt-Anleitung
- Raspberry Pi Wetterstation bauen, die tägliche Wetterdaten per E-Mail sendet
- DS1820 One-Wire Temperatursensor an Raspberry Pi GPIO anschließen
- HC-SR04 Ultraschallsensor an Raspberry Pi 3 anschließen – Komplettanleitung
- Sicheres Home Monitoring mit Home Assistant auf Raspberry Pi: Bewegung, Alarm & Video-Capture
- LED mit PIR-Bewegungsmelder am Raspberry Pi steuern
- Günstiger Raspberry Pi Bodenfeuchtesensor für smarte Bewässerung
- Linearen Hall-Sensor mit Raspberry Pi auslesen: Java-Anleitung & ADC0832 Einblicke
- Multi-Sensor Temperatur- & Licht-Überwachung mit Raspberry Pi & DS18B20