ESP32 S3 - LDR-Modul
Das LDR-Lichtsensormodul ist ein einfaches, aber leistungsfähiges Bauteil, um mit Ihrem ESP32 S3 Lichtstärken zu erkennen und zu messen. Dieses einsteigerfreundliche Tutorial führt Sie durch das Anschließen und Programmieren des LDR-Moduls, um das Umgebungslicht in realen Projekten zu erfassen.
In diesem Tutorial lernen wir, wie man einen ESP32 S3 und ein LDR-Lichtsensormodul zusammen verwendet, um Licht zu erkennen und die Lichtmenge zu messen. Was Sie umsetzen werden:
- Verstehen, was ein LDR-Lichtsensormodul ist und wie es funktioniert
- Das LDR-Lichtsensormodul mit Ihrem ESP32 S3 verdrahten
- Den ESP32 S3 so programmieren, dass er Licht über den digitalen Ausgang (DO) erkennt
- Den ESP32 S3 so programmieren, dass er Lichtstärken über den analogen Ausgang (AO) misst

Anschließend können Sie den Code so ändern, dass eine LED oder eine Glühbirne (über ein Relais) eingeschaltet wird, wenn Licht erkannt wird.
Wenn Sie sich für einen Lichtsensor in seiner Rohform interessieren, empfehle ich Ihnen das Tutorial ESP32 S3 - Lichtsensor.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Überblick über LDR Light Sensor Module
Das LDR-Lichtsensormodul ist ein digitaler und analoger Sensor, der die Intensität des Umgebungslichts erkennt und misst. Es kombiniert einen lichtabhängigen Widerstand mit einer Signalaufbereitungsschaltung auf der Platine, sodass es sich ohne zusätzliche Bauteile einfach mit dem ESP32 S3 verwenden lässt. Mit dem eingebauten Potentiometer können Sie die Erkennungsschwelle an Ihre jeweiligen Lichtverhältnisse anpassen.
Wichtige Spezifikationen
Das Modul arbeitet mit einer Versorgungsspannung zwischen 3,3 V und 5 V und ist damit direkt mit der 3,3-V-GPIO-Logik des ESP32 S3 kompatibel. Es bietet zwei Ausgangsarten – einen digitalen Ausgang (DO) und einen analogen Ausgang (AO) –, sodass Sie je nach Projekt zwischen schwellenwertbasierter Erkennung und kontinuierlicher Messung der Lichtstärke wählen können. Eine Betriebs-LED und eine Status-LED auf der Platine ermöglichen eine Überwachung auf einen Blick, und die kompakte Bauform passt problemlos auf ein Standard-Breadboard.
Pinbelegung
Das LDR-Lichtsensormodul hat vier Pins zum Anschluss an Ihren ESP32 S3:
- VCC: Versorgungs-Pin – mit 3,3 V am ESP32 S3 verbinden
- GND: Masse-Pin – mit GND am ESP32 S3 verbinden
- DO: Digitaler Ausgang – gibt bei Dunkelheit HIGH und bei Helligkeit LOW aus (Schwelle über das Potentiometer auf der Platine einstellbar)
- AO: Analoger Ausgang – gibt eine variable Spannung proportional zur Lichtintensität aus (niedrigerer Wert = helleres Licht)

Zusätzlich ist das LDR-Lichtsensormodul mit zwei LED-Anzeigen ausgestattet:
- Die PWR-LED zeigt den Betriebszustand an.
- Die DO-LED spiegelt den Lichtzustand am DO-Pin wider: Sie leuchtet, wenn Licht vorhanden ist, und bleibt aus, wenn es dunkel ist.
Funktionsweise
Zum DO-Pin:
- Das LDR-Lichtsensormodul hat ein Potentiometer, mit dem Sie die Empfindlichkeit bzw. die Schwelle für die Lichterkennung einstellen können.
- Liegt die Lichtintensität in der Umgebung über der eingestellten Schwelle (gilt als hell), wird der Ausgang des Sensors am DO-Pin LOW und die DO-LED leuchtet.
- Liegt die Lichtintensität in der Umgebung unter der eingestellten Schwelle (gilt als dunkel), wird der Ausgang des Sensors am DO-Pin HIGH und die DO-LED erlischt.
Zum AO-Pin:
- Der am AO-Pin gelesene Wert ist umgekehrt proportional zur Lichtintensität in der Umgebung. Mit anderen Worten: Wenn die Lichtintensität zunimmt (heller), sinkt der Wert am AO-Pin.
- Entsprechend steigt der Wert am AO-Pin, wenn die Lichtintensität abnimmt (dunkler).
Beachten Sie, dass das Verstellen des Potentiometers den Wert am AO-Pin nicht beeinflusst.
Verdrahtungsdiagramm
Schließen Sie das LDR-Lichtsensormodul an Ihren ESP32 S3 an, indem Sie jeden Modul-Pin wie im folgenden Schaltplan gezeigt mit dem entsprechenden Pin des ESP32 S3 verbinden. Je nach Anforderungen Ihres Projekts können Sie den digitalen Ausgang (DO), den analogen Ausgang (AO) oder beide gleichzeitig verwenden.
Sicherheitshinweise
Verbinden Sie den VCC-Pin immer mit der 3,3-V-Schiene des ESP32 S3 statt mit der 5-V-Schiene, um innerhalb der Spannungstoleranz der GPIOs des Boards zu bleiben. Prüfen Sie vor dem Einschalten, dass Modul und Board eine gemeinsame Masse haben, da eine schwebende Masse zu unregelmäßigen Messwerten führt.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
| LDR-Modul-Pin | ESP32-S3-Pin |
|---|---|
| VCC | 3.3V |
| GND | GND |
| DO | GPIO7 |
| AO | GPIO8 (GPIO8 / ADC1_CH7) |
ESP32-S3-Code - Wert vom DO-Pin lesen
Der folgende Code zeigt, wie Sie mit dem ESP32 S3 den digitalen Ausgang des LDR-Lichtsensormoduls auslesen. Er konfiguriert einen GPIO-Pin als digitalen Eingang, liest das vom Sensor erzeugte HIGH- oder LOW-Signal und gibt den aktuellen Lichtstatus im seriellen Monitor aus. Die Erkennungsschwelle wird durch Drehen des Potentiometers auf dem Modul selbst eingestellt.
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Komponenten verdrahten: Schließen Sie das LDR-Lichtsensormodul gemäß dem obigen Schaltplan an den ESP32 S3 an.
- ESP32 S3 anschließen: Verbinden Sie den ESP32 S3 über ein USB-Type-C-Kabel mit Ihrem Computer.
- Board auswählen: Öffnen Sie die Arduino IDE und wählen Sie das ESP32-S3-Board und den zugehörigen COM-Port aus.
- Code hochladen: Kopieren Sie den obigen Code, öffnen Sie ihn in der Arduino IDE und klicken Sie auf die Schaltfläche Upload, um den Code auf den ESP32 S3 hochzuladen.
- Sensor testen: Decken Sie das LDR-Lichtsensormodul mit der Hand oder einem Gegenstand ab und wieder auf, um die Lichterkennung zu testen.
- Ergebnisse ansehen: Öffnen Sie den seriellen Monitor, um den Status der Lichterkennung in Echtzeit zu sehen.
- Empfindlichkeit einstellen: Drehen Sie bei Bedarf am Potentiometer des Moduls, um die Schwelle für die Lichterkennung anzupassen.
- Profi-Tipp: Markieren Sie die Position des Potentiometers, sobald Sie die perfekte Empfindlichkeit für Ihre Lichtverhältnisse gefunden haben.
Wenn Sie feststellen, dass der LED-Status unabhängig vom Licht ständig an oder aus bleibt, können Sie das Potentiometer verstellen. So lässt sich die Lichtempfindlichkeit des Sensors fein abstimmen.
Außerdem können Sie den Code nach Ihren Anforderungen anpassen. Sie können zum Beispiel eine LED aktivieren oder eine Lampe einschalten lassen, wenn Licht erkannt wird. Ebenso können Sie einen Servomotor drehen lassen. Ausführliche Anleitungen und Tutorials zu diesen Anpassungsmöglichkeiten finden Sie am Ende dieser Anleitung.
ESP32-S3-Code - Wert vom AO-Pin lesen
Der folgende Code zeigt, wie Sie analoge Werte vom LDR-Lichtsensormodul für eine kontinuierliche, präzise Messung der Lichtstärke auslesen. Der 12-Bit-ADC des ESP32 S3 liefert Werte von 0 bis 4095, wobei niedrigere Werte helleres Licht und höhere Werte dunklere Bedingungen bedeuten. Dieser Ansatz ist nützlich, wenn Sie allmähliche Helligkeitsänderungen verfolgen möchten, statt nur eine einfache Hell/Dunkel-Schwelle zu nutzen.
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Code hochladen: Kopieren Sie den obigen Code, öffnen Sie ihn in der Arduino IDE und klicken Sie auf die Schaltfläche Upload.
- Sensor testen: Decken Sie das LDR-Lichtsensormodul mit der Hand ab und wieder auf oder bringen Sie es in unterschiedliche Lichtverhältnisse.
- Werte beobachten: Öffnen Sie den seriellen Monitor, um die analogen Messwerte der Lichtstärke zu sehen.
- Änderungen beobachten: Achten Sie darauf, wie die Werte steigen, wenn Sie das Licht abschirmen, und sinken, wenn der Sensor mehr Licht erhält.
- Profi-Tipp: Notieren Sie die minimalen und maximalen Werte in Ihrer Umgebung, um sie auf sinnvolle Bereiche wie Prozent- oder Lux-Werte abzubilden.
※ Notiz:
Dieses Tutorial verwendet die Funktion analogRead(), um Werte von einem ADC (Analog-Digital-Wandler) zu lesen, der mit einem Sensor oder einer Komponente verbunden ist. Der ADC des ESP32 S3 eignet sich für Projekte, die keine hohe Genauigkeit erfordern. Für Projekte, die präzise Messungen benötigen, beachten Sie jedoch Folgendes:
- Der ADC des ESP32 S3 ist nicht vollkommen genau und muss für korrekte Ergebnisse möglicherweise kalibriert werden. Jedes ESP32-S3-Board kann leicht abweichen, daher ist eine Kalibrierung für jedes einzelne Board notwendig.
- Die Kalibrierung kann anspruchsvoll sein, besonders für Einsteiger, und liefert nicht immer genau die gewünschten Ergebnisse.
Für Projekte mit hohen Genauigkeitsanforderungen sollten Sie einen externen ADC (z. B. ADS1115) mit dem ESP32 S3 verwenden oder einen anderen Arduino wie den Arduino Uno R4 WiFi einsetzen, der einen zuverlässigeren ADC besitzt. Wenn Sie den ADC des ESP32 S3 dennoch kalibrieren möchten, lesen Sie den ESP32 ADC Calibration Driver.
Anwendungsideen
Das LDR-Lichtsensormodul lässt sich mit dem ESP32 S3 für eine Vielzahl realer Projekte kombinieren, die intelligent auf die Umgebungshelligkeit reagieren.
- Automatisches Nachtlicht: Schalten Sie das Licht automatisch ein, wenn es in Ihrem Zimmer dunkel wird.
- Smarte Vorhangsteuerung: Öffnen oder schließen Sie Vorhänge je nach Sonnenlichtintensität.
- Solarpanel-Nachführung: Optimieren Sie die Ausrichtung eines Solarpanels zur hellsten Lichtquelle.
- Energiesparsystem: Schalten Sie unnötige Lampen automatisch aus, wenn genügend Tageslicht vorhanden ist.
- Pflanzenwachstumsmonitor: Verfolgen Sie die Lichteinstrahlung für Zimmerpflanzen und Gärten.
- Sicherheitssystem: Erkennen Sie, wann in überwachten Bereichen das Licht ein- oder ausgeschaltet wird.
- Belichtungsmesser für die Fotografie: Messen Sie das Umgebungslicht für Kameraeinstellungen.
Video-Tutorial
Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32-S3-Projekt an.
Fordern Sie sich selbst heraus
Diese Herausforderungen sollen Ihnen helfen, mit dem ESP32 S3 und dem LDR-Lichtsensormodul weiterzukommen – von schnellen Erfolgen bis hin zu aufwendigeren Projekten.
- Anfänger: Fügen Sie eine LED hinzu, die sich einschaltet, wenn der Raum dunkel ist, und ausschaltet, wenn es hell ist.
- Anfänger: Zeigen Sie je nach Bereich des analogen Werts "Hell", "Mittel" oder "Dunkel" im seriellen Monitor an.
- Fortgeschritten: Steuern Sie einen Servomotor so, dass er sich je nach Lichtintensität dreht.
- Fortgeschritten: Erstellen Sie einen lichtaktivierten Alarm, der einen Summer auslöst, wenn Licht erkannt wird.
- Experte: Bauen Sie einen Datenlogger, der Lichtstärken mit Zeitstempeln auf einer SD-Karte aufzeichnet.
- Experte: Erstellen Sie ein automatisches Pflanzenbewässerungssystem, das nur bei optimalen Lichtverhältnissen gießt.