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:

  1. Verstehen, was ein LDR-Lichtsensormodul ist und wie es funktioniert
  2. Das LDR-Lichtsensormodul mit Ihrem ESP32 S3 verdrahten
  3. Den ESP32 S3 so programmieren, dass er Licht über den digitalen Ausgang (DO) erkennt
  4. Den ESP32 S3 so programmieren, dass er Lichtstärken über den analogen Ausgang (AO) misst
ESP32 S3 - LDR-Modul

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

1×ESP32 S3 WROOM N16R8
1×(Alternativ) ESP32 S3 SuperMini Dev Module
1×(Alternativ) ESP32 S3 Uno-form Board
1×(Alternativ) ESP32 S3 Camera Board
1×USB-Kabel Typ-A zu Typ-C (für USB-A PC)
1×USB-Kabel Typ-C zu Typ-C (für USB-C PC)
1×LDR Lichtsensor-Modul
1×Breadboard
1×Verbindungskabel
1×(Empfohlen) Screw Terminal Expansion Board for ESP32 S3
1×(Empfohlen) Breakout Expansion Board for ESP32 S3
1×(Empfohlen) Power Splitter for ESP32 S3

Oder Sie können die folgenden Kits kaufen:

1×DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten)
1×DIYables Sensor-Kit (18 Sensoren/Displays)
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.

Ü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:

  1. VCC: Versorgungs-Pin – mit 3,3 V am ESP32 S3 verbinden
  2. GND: Masse-Pin – mit GND am ESP32 S3 verbinden
  3. DO: Digitaler Ausgang – gibt bei Dunkelheit HIGH und bei Helligkeit LOW aus (Schwelle über das Potentiometer auf der Platine einstellbar)
  4. AO: Analoger Ausgang – gibt eine variable Spannung proportional zur Lichtintensität aus (niedrigerer Wert = helleres Licht)
LDR-Lichtsensormodul Pinbelegung
image source: diyables.io

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.

ESP32 S3 LDR-Lichtsensormodul Schaltplan

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.

/* * Dieser ESP32 S3 Code wurde von newbiely.de entwickelt * Dieser ESP32 S3 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32-s3/esp32-s3-ldr-module */ #define DO_PIN 7 // The ESP32 S3 pin connected to DO pin of the ldr module void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(115200); // initialize the ESP32's pin as an input pinMode(DO_PIN, INPUT); } void loop() { int light_state = digitalRead(DO_PIN); if (light_state == HIGH) Serial.println("It is dark"); else Serial.println("It is light"); }

Schnelle Schritte

  1. Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
  2. Komponenten verdrahten: Schließen Sie das LDR-Lichtsensormodul gemäß dem obigen Schaltplan an den ESP32 S3 an.
  3. ESP32 S3 anschließen: Verbinden Sie den ESP32 S3 über ein USB-Type-C-Kabel mit Ihrem Computer.
  4. Board auswählen: Öffnen Sie die Arduino IDE und wählen Sie das ESP32-S3-Board und den zugehörigen COM-Port aus.
  5. 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.
  6. Sensor testen: Decken Sie das LDR-Lichtsensormodul mit der Hand oder einem Gegenstand ab und wieder auf, um die Lichterkennung zu testen.
  7. Ergebnisse ansehen: Öffnen Sie den seriellen Monitor, um den Status der Lichterkennung in Echtzeit zu sehen.
  8. Empfindlichkeit einstellen: Drehen Sie bei Bedarf am Potentiometer des Moduls, um die Schwelle für die Lichterkennung anzupassen.
  9. Profi-Tipp: Markieren Sie die Position des Potentiometers, sobald Sie die perfekte Empfindlichkeit für Ihre Lichtverhältnisse gefunden haben.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
[14:02:11.324] It is light [14:02:11.826] It is light [14:02:12.331] It is dark [14:02:12.836] It is dark [14:02:13.341] It is dark [14:02:13.846] It is light [14:02:14.351] It is light [14:02:14.856] It is light
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

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.

/* * Dieser ESP32 S3 Code wurde von newbiely.de entwickelt * Dieser ESP32 S3 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt. * Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte: * https://newbiely.de/tutorials/esp32-s3/esp32-s3-ldr-module */ #define AO_PIN 8 // The ESP32 S3 pin connected to AO pin of the ldr module void setup() { // Initialize the Serial to communicate with the Serial Monitor. Serial.begin(115200); // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); } void loop() { int light_value = analogRead(AO_PIN); Serial.print("The AO value: "); Serial.println(light_value); }

Schnelle Schritte

  1. Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
  2. Code hochladen: Kopieren Sie den obigen Code, öffnen Sie ihn in der Arduino IDE und klicken Sie auf die Schaltfläche Upload.
  3. Sensor testen: Decken Sie das LDR-Lichtsensormodul mit der Hand ab und wieder auf oder bringen Sie es in unterschiedliche Lichtverhältnisse.
  4. Werte beobachten: Öffnen Sie den seriellen Monitor, um die analogen Messwerte der Lichtstärke zu sehen.
  5. Änderungen beobachten: Achten Sie darauf, wie die Werte steigen, wenn Sie das Licht abschirmen, und sinken, wenn der Sensor mehr Licht erhält.
  6. Profi-Tipp: Notieren Sie die minimalen und maximalen Werte in Ihrer Umgebung, um sie auf sinnvolle Bereiche wie Prozent- oder Lux-Werte abzubilden.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32S3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32S3 Dev Module' on 'COM15')
New Line
9600 baud
[14:05:03.112] The AO value: 145 [14:05:03.614] The AO value: 146 [14:05:04.117] The AO value: 146 [14:05:04.619] The AO value: 572 [14:05:05.122] The AO value: 1678 [14:05:05.625] The AO value: 1945 [14:05:06.128] The AO value: 2956 [14:05:06.631] The AO value: 3001 [14:05:07.134] The AO value: 3098 [14:05:07.637] The AO value: 4005 [14:05:08.140] The AO value: 4005 [14:05:08.643] The AO value: 1645 [14:05:09.146] The AO value: 1546 [14:05:09.649] The AO value: 346 [14:05:10.152] The AO value: 172
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

※ 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.

  1. Automatisches Nachtlicht: Schalten Sie das Licht automatisch ein, wenn es in Ihrem Zimmer dunkel wird.
  2. Smarte Vorhangsteuerung: Öffnen oder schließen Sie Vorhänge je nach Sonnenlichtintensität.
  3. Solarpanel-Nachführung: Optimieren Sie die Ausrichtung eines Solarpanels zur hellsten Lichtquelle.
  4. Energiesparsystem: Schalten Sie unnötige Lampen automatisch aus, wenn genügend Tageslicht vorhanden ist.
  5. Pflanzenwachstumsmonitor: Verfolgen Sie die Lichteinstrahlung für Zimmerpflanzen und Gärten.
  6. Sicherheitssystem: Erkennen Sie, wann in überwachten Bereichen das Licht ein- oder ausgeschaltet wird.
  7. 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.

  1. Anfänger: Fügen Sie eine LED hinzu, die sich einschaltet, wenn der Raum dunkel ist, und ausschaltet, wenn es hell ist.
  2. Anfänger: Zeigen Sie je nach Bereich des analogen Werts "Hell", "Mittel" oder "Dunkel" im seriellen Monitor an.
  3. Fortgeschritten: Steuern Sie einen Servomotor so, dass er sich je nach Lichtintensität dreht.
  4. Fortgeschritten: Erstellen Sie einen lichtaktivierten Alarm, der einen Summer auslöst, wenn Licht erkannt wird.
  5. Experte: Bauen Sie einen Datenlogger, der Lichtstärken mit Zeitstempeln auf einer SD-Karte aufzeichnet.
  6. Experte: Erstellen Sie ein automatisches Pflanzenbewässerungssystem, das nur bei optimalen Lichtverhältnissen gießt.

Verwandte Tutorials

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!