ESP32 - LDR-Modul
Das LDR-Lichtsensor-Modul kann das Licht in seiner Umgebung wahrnehmen und messen. Es besitzt zwei Ausgänge: einen digitalen Ausgang, der entweder LOW oder HIGH sein kann, und einen analogen Ausgang.
In diesem Tutorial lernen wir, wie man ein ESP32 und ein LDR-Lichtsensor-Modul zusammen verwendet, um die Lichtmenge zu erkennen und zu messen. Folgendes werden wir behandeln:
- Wie man das LDR-Lichtsensor-Modul mit einem ESP32 anschließt.
- Wie man den ESP32 programmiert, Licht zu erkennen, indem man das digitale Signal des LDR-Lichtsensor-Moduls ausliest.
- Wie man den ESP32 programmiert, den Helligkeitswert zu messen, indem man das analoge Signal des LDR-Lichtsensor-Moduls ausliest.

Anschließend kannst du den Code ändern, damit eine LED oder eine Glühbirne eingeschaltet wird (mittels eines Relais), wenn es Licht wahrnimmt.
Wenn Sie an einem Lichtsensor in seiner rohen Form interessiert sind, schlage ich vor, das Tutorial für den ESP32-Lichtsensor zu erkunden.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables ESP32 Starter-Kit (ESP32 enthalten) | |
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über das LDR-Lichtsensor-Modul
Dieses LDR-Lichtsensor-Modul kann verwendet werden, um festzustellen, ob Licht vorhanden ist oder wie viel Licht in seiner Umgebung vorhanden ist. Es verfügt über einen digitalen Ausgangspin und einen analogen Ausgangspin für verschiedene Optionen.
Pinbelegung
Das LDR-Lichtsensor-Modul hat vier Pins:
- VCC-Pin: Schließen Sie diesen Pin an die Stromquelle an (zwischen 3,3 V und 5 V).
- GND-Pin: Schließen Sie diesen Pin an die Masse (0 V) an.
- DO-Pin: Das ist ein digitaler Ausgangspin. Es liefert ein HIGH-Signal, wenn es dunkel ist, und LOW, wenn es hell ist. Den Schwellenwert zwischen Dunkelheit und Helligkeit können Sie mithilfe eines eingebauten Potentiometers einstellen.
- AO-Pin: Das ist ein analoger Ausgangspin. Der Wert sinkt, je heller das Licht wird, und steigt, je dunkler das Licht wird.

Zusätzlich ist das LDR-Lichtsensor-Modul mit zwei LED-Anzeigen ausgestattet:
- Die PWR-LED-Anzeige zeigt den Stromstatus.
- Die DO-LED-Anzeige spiegelt den Zustand des Lichts am DO-Pin wider: Sie leuchtet, wenn Licht vorhanden ist, und bleibt aus, wenn es dunkel ist.
Wie es funktioniert
Bezüglich des DO-Pins:
- Das LDR-Lichtsensor-Modul verfügt über ein Potentiometer, mit dem sich die Empfindlichkeit oder der Schwellenwert zur Erkennung von Licht einstellen lässt.
- Wenn die Lichtintensität in der Umgebung den festgelegten Schwellenwert (als Licht angesehen) überschreitet, wird der Ausgang des Sensors am DO-Pin LOW, und die DO-LED leuchtet auf.
- Wenn die Lichtintensität in der Umgebung unter dem festgelegten Schwellenwert (als Dunkelheit angesehen) liegt, wird der Ausgang des Sensors am DO-Pin HIGH, und die DO-LED schaltet aus.
Bezüglich des AO-Pins:
- Der vom AO-Pin gelesene Wert ist umgekehrt proportional zur Lichtintensität in der Umgebung. Mit anderen Worten: Wenn die Lichtintensität zunimmt (heller wird), nimmt der Wert am AO-Pin ab.
- Ebenso gilt: Wenn die Lichtintensität abnimmt (dunkler wird), nimmt der Wert am AO-Pin zu.
Es ist wichtig zu beachten, dass das Einstellen des Potentiometers den Wert am AO-Pin nicht beeinflusst.
Verdrahtungsdiagramm
Das Lichtsensor-Modul bietet zwei Ausgänge, DO und AO, die einzeln oder zusammen verwendet werden können.
- Wie man ESP32 und LDR-Modul mit Breadboard verbindet

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.
- Wie man ESP32 und LDR-Modul mit Schraubklemmen-Breakout-Board

ESP32-Code - Wert vom DO-Pin lesen
Schnelle Schritte
- Wenn dies das erste Mal ist, dass Sie ESP32 verwenden, sehen Sie sich wie man die Umgebung für ESP32 in der Arduino IDE einrichtet an.
- Verbinden Sie die Verdrahtung gemäß dem obigen Bild.
- Schließen Sie das ESP32-Board über ein Micro-USB-Kabel an Ihren PC an.
- Öffnen Sie die Arduino IDE auf Ihrem PC.
- Wählen Sie das richtige ESP32-Board (z. B. ESP32 Dev Module) und den COM-Port aus.
- Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE.
- Klicken Sie in der Arduino IDE auf die Schaltfläche Upload, um den Code auf das ESP32 hochzuladen.
- Decken Sie das LDR-Lichtsensor-Modul mit Ihrer Hand oder mit etwas anderem ab und wieder auf.
- Sehen Sie das Ergebnis im seriellen Monitor.
Wenn Sie feststellen, dass der LED-Status unabhängig von der Lichtverfügbarkeit ständig ein- oder ausgeschaltet bleibt, haben Sie die Möglichkeit, das Potentiometer einzustellen. Diese Einstellung ermöglicht es Ihnen, die Lichtempfindlichkeit des Sensors fein abzustimmen.
Darüber hinaus kann der Code entsprechend Ihren Anforderungen angepasst werden. Zum Beispiel können Sie die LED aktivieren oder das Licht einschalten, wenn Licht erkannt wird. Zusätzlich haben Sie die Flexibilität, einen Servomotor rotieren zu lassen. Detaillierte Anleitungen und Tutorials zu diesen Anpassungsoptionen finden Sie am Ende dieses Leitfadens.
ESP32-Code - Wert vom AO-Pin auslesen
Schnelle Schritte
- Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE.
- Klicken Sie auf die Hochladen-Schaltfläche in der Arduino IDE, um den Code auf den ESP32 hochzuladen.
- Decken Sie das LDR-Lichtsensor-Modul mit Ihrer Hand oder Ähnlichem ab und wieder auf.
- Sehen Sie das Ergebnis im seriellen Monitor.
※ Notiz:
In diesem Tutorial wird die Funktion analogRead() verwendet, um Werte von einem AD-Wandler auszulesen, der an ein LDR-Modul angeschlossen ist.
Der ESP32-AD-Wandler ist gut geeignet für Projekte, die keine hohe Genauigkeit benötigen.
Für Projekte, die präzise Messwerte benötigen, beachten Sie bitte:
- Der ESP32-AD-Wandler ist nicht ganz genau und könnte eine Kalibrierung für korrekte Ergebnisse benötigen. Jedes ESP32-Board kann etwas unterschiedlich sein, daher müssen Sie den AD-Wandler für jedes einzelne Board kalibrieren.
- Die Kalibrierung kann schwierig sein, insbesondere für Anfänger, und liefert möglicherweise nicht immer die exakten Ergebnisse, die Sie sich wünschen.
Für Projekte, die eine hohe Präzision benötigen, sollten Sie in Erwägung ziehen, einen externen AD-Wandler (z. B. ADS1115) zusammen mit dem ESP32 zu verwenden oder einen Arduino zu verwenden, der über einen zuverlässigeren AD-Wandler verfügt.
Falls Sie den ESP32-AD-Wandler dennoch kalibrieren möchten, lesen Sie die Dokumentation ESP32 ADC Calibration Driver.
Video Tutorial
Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.