Arduino Nano ESP32 – LDR-Modul
Das LDR-Lichtsensor-Modul kann Licht in seiner Umgebung erfassen und messen. Es hat zwei Ausgänge: einen digitalen Ausgang, der entweder LOW oder HIGH sein kann, und einen analogen Ausgang.
In diesem Tutorial lernen wir, wie man einen Arduino Nano ESP32 und ein LDR-Lichtsensor-Modul gemeinsam verwendet, um die Lichtmenge zu erkennen und zu messen. Folgendes werden wir behandeln:
- So schließen Sie das LDR-Lichtsensor-Modul an einen Arduino Nano ESP32 an.
- Wie programmieren Sie den Arduino Nano ESP32 so, dass er Licht erkennt, indem Sie das digitale Signal des LDR-Lichtsensor-Moduls auslesen.
- Wie programmieren Sie den Arduino Nano ESP32 so, dass er das Lichtniveau misst, indem Sie das analoge Signal des LDR-Lichtsensor-Moduls auslesen.

Anschließend kannst du den Code so ändern, dass eine LED oder eine Glühbirne eingeschaltet wird (unter Verwendung eines Relays), wenn der Sensor Licht erkennt.
Wenn Sie an einem Lichtsensor in seiner rohen Form interessiert sind, empfehle ich Ihnen, das Tutorial zum Arduino Nano ESP32 - Lichtsensor anzusehen.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über das LDR-Lichtsensor-Modul
Das 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: Dies ist ein digitaler Ausgangspin. Er liefert ein HIGH-Signal, wenn es dunkel ist, und ein LOW-Signal, wenn es hell ist. Den Schwellenwert zwischen Dunkel und Hell können Sie mit einem eingebauten Potentiometer einstellen.
- AO-Pin: Dies 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-Indikatoren ausgestattet:
- Die PWR-LED-Anzeige zeigt den Leistungsstatus.
- 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 Sie die Empfindlichkeit oder den Schwellenwert zur Erkennung von Licht einstellen können.
- Wenn die Lichtintensität in der Umgebung den festgelegten Schwellenwert überschreitet (als Licht betrachtet), wird der DO-Pin-Ausgang auf LOW-Pegel gesetzt, und die DO-LED leuchtet auf.
- Wenn die Lichtintensität in der Umgebung unterhalb des festgelegten Schwellenwerts liegt (als Dunkelheit angesehen), wird der DO-Pin-Ausgang auf HIGH-Pegel gesetzt, und die DO-LED geht aus.
Bezüglich des AO-Pins:
- Der vom AO-Pin gelesene Wert ist umgekehrt proportional zur Lichtintensität der Umgebung. Mit anderen Worten, wenn die Lichtintensität zunimmt (heller wird), nimmt der Wert am AO-Pin ab.
- Ebenso nimmt der Wert am AO-Pin zu, wenn die Lichtintensität abnimmt (dunkler wird).
Es ist wichtig zu beachten, dass das Einstellen des Potentiometers den Wert am AO-Pin nicht beeinflusst.
Verdrahtungsdiagramm
Da das Lichtsensor-Modul zwei Ausgänge hat, können Sie je nach Bedarf einen oder beide verwenden.
- Der Verdrahtungsplan zwischen dem Arduino Nano ESP32 und dem LDR-Lichtsensor-Modul, wenn nur DO verwendet wird.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
- Schaltplan der Verdrahtung zwischen dem Arduino Nano ESP32 und dem LDR-Lichtsensor-Modul, wenn nur AO verwendet wird.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
- Der Verdrahtungsplan zwischen dem Arduino Nano ESP32 und dem LDR-Lichtsensor-Modul, wenn sowohl AO als auch DO verwendet werden.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Arduino Nano ESP32 Code - Wert des DO-Pins lesen
Schnelle Schritte
Um mit dem Arduino Nano ESP32 zu beginnen, befolgen Sie diese Schritte:
- Wenn Sie neu bei Arduino Nano ESP32 sind, lesen Sie das Tutorial zur Einrichtung der Umgebung für Arduino Nano ESP32 in der Arduino IDE wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet.
- Verdrahten Sie die Bauteile gemäß dem bereitgestellten Diagramm.
- Schließen Sie das Arduino Nano ESP32-Board über ein USB-Kabel an Ihren Computer an.
- Öffnen Sie die Arduino IDE auf Ihrem Computer.
- Wählen Sie das Arduino Nano ESP32-Board und den entsprechenden COM-Port aus.
- Kopieren Sie den obigen Code und öffnen Sie ihn in der Arduino IDE.
- Klicken Sie in der Arduino IDE auf die Upload-Schaltfläche, um den Code auf den Arduino Nano ESP32 hochzuladen.
- Decken Sie das LDR-Lichtsensor-Modul mit der Hand ab oder decken Sie es wieder auf.
- Sehen Sie sich das Ergebnis im seriellen Monitor an.
Wenn Sie feststellen, dass der Status der LED konstant ein- oder ausgeschaltet bleibt, unabhängig davon, ob Licht vorhanden ist, haben Sie die Möglichkeit, das Potentiometer zu justieren. Mit dieser Anpassung können Sie die Lichtempfindlichkeit des Sensors fein abstimmen.
Darüber hinaus kann der Code entsprechend Ihren Anforderungen angepasst werden. Beispielsweise können Sie die LED so programmieren, dass sie aktiviert wird, oder das Licht einschaltet, wenn Licht erkannt wird. Zusätzlich haben Sie die Möglichkeit, einen Servomotor rotieren zu lassen. Detaillierte Anweisungen und Tutorials zu diesen Anpassungsoptionen finden Sie am Ende dieses Leitfadens.
Arduino Nano ESP32 Code - Wert vom AO-Pin auslesen
Schnelle Schritte
- Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE
- Klicken Sie in der Arduino IDE auf die Upload-Schaltfläche, um den Code auf den Arduino Nano ESP32 hochzuladen
- Decken Sie das LDR-Lichtsensor-Modul mit Ihrer Hand oder etwas Ähnlichem ab und decken Sie es wieder auf
- Überprüfen Sie das Ergebnis im Serial Monitor
※ Notiz:
Diese Anleitung verwendet die analogRead() Funktion, um Werte von einem ADC (Analog-Digital-Wandler) zu lesen, der an einen Sensor oder eine Komponente angeschlossen ist. Der ADC des Arduino Nano ESP32 ist für Projekte geeignet, die keine hohe Genauigkeit erfordern. Für Projekte, die jedoch präzise Messungen benötigen, beachten Sie Folgendes:
- Der ADC des Arduino Nano ESP32 ist nicht vollkommen genau und muss möglicherweise kalibriert werden, um korrekte Ergebnisse zu liefern. Jedes Arduino Nano ESP32-Board kann sich leicht unterscheiden, daher ist für jedes einzelne Board eine Kalibrierung notwendig.
- Die Kalibrierung kann herausfordernd sein, insbesondere für Anfänger, und liefert möglicherweise nicht immer die gewünschten genauen Ergebnisse.
Für Projekte mit hoher Präzision sollten Sie in Betracht ziehen, einen externen ADC (z. B. ADS1115) mit dem Arduino Nano ESP32 zu verwenden oder einen anderen Arduino zu nutzen, z. B. den Arduino Uno R4 WiFi, der einen zuverlässigeren ADC besitzt. Wenn Sie den ADC des Arduino Nano ESP32 dennoch kalibrieren möchten, konsultieren Sie den 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.