ESP32 S3 - Lichtsensor schaltet LED

Dieses Tutorial zeigt Ihnen, wie Sie den ESP32 S3 zusammen mit einem Lichtsensor (LDR) verwenden, um eine LED automatisch abhängig von der Umgebungshelligkeit zu steuern. Indem Sie die analoge Spannung eines lichtabhängigen Widerstands auslesen und mit einem festgelegten Schwellenwert vergleichen, sehen Sie an einem praktischen Beispiel, wie analoge Sensordaten digitale GPIO-Ausgänge des ESP32 S3 steuern können.

Was Sie bauen werden:

  1. Eine Schaltung, die einen LDR-Lichtsensor und eine LED mit dem ESP32 S3 verbindet
  2. Einen Sketch, der kontinuierlich den Analogwert des Lichtsensors über den ADC des ESP32 S3 ausliest
  3. Ein System, das die LED automatisch einschaltet, wenn die gemessene Helligkeit unter einen Schwellenwert fällt (d. h. wenn es dunkel ist)
  4. Eine Grundlage für automatische Nachtlichter, tageslichtgesteuerte Relais und Projekte zur Überwachung der Umgebungshelligkeit

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×Lichtsensor
1×LED Kit
1×LED (red)
1×LED Module
1×(Alternativ) Button and LED Kit
1×220Ω Resistor
1×10 kΩ Resistor
1×Breadboard
1×Verbindungskabel
1×(Optional) DC-Stromanschluss
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.

Kaufhinweis: Um den Verdrahtungsprozess zu vereinfachen, empfehlen wir die Verwendung des LED Module, das mit einem eingebauten Widerstand geliefert wird.

Der LDR-Lichtsensor ist sehr günstig, benötigt für die Verdrahtung aber einen Widerstand, was den Aufbau komplizierter machen kann. Um die Verdrahtung zu vereinfachen, können Sie alternativ ein LDR-Lichtsensormodul verwenden.

Überblick über LED and Light Sensor

Der LDR-Lichtsensor und die LED sind eine naheliegende Kombination für lichtgesteuerte Projekte mit dem ESP32 S3. Wenn die Lichtintensität abnimmt, steigt der Widerstand des LDR, wodurch sich die Spannung am analogen Eingangspin ändert; der ESP32 S3 liest diese Spannung über seinen ADC aus und vergleicht sie mit einem Schwellenwert, um zu entscheiden, ob die LED über einen GPIO-Ausgang ein- oder ausgeschaltet wird.

Wichtige Spezifikationen

Wir haben eigene Tutorials, die jede Komponente ausführlich behandeln. Jedes Tutorial enthält detaillierte Informationen und Schritt-für-Schritt-Anleitungen zu Pinbelegung, Funktionsprinzip, Verdrahtung mit dem ESP32 S3 und Arduino-Code. Mehr dazu finden Sie unter den folgenden Links:

Verdrahtungsdiagramm

Schließen Sie den Lichtsensor und die LED gemäß dem folgenden Schaltplan an Ihren ESP32 S3 an. Überprüfen Sie alle Verbindungen, bevor Sie die Stromversorgung einschalten, und achten Sie besonders auf die Polarität der LED, den 220-Ohm-Vorwiderstand und den 10-kΩ-Pull-down-Widerstand, der mit dem LDR einen Spannungsteiler bildet.

ESP32 S3 Lichtsensor LED Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Sie können diese Schaltung auch ohne Steckbrett aufbauen. Hier ist dieselbe Verdrahtung:

ESP32 S3 Lichtsensor LED Schaltplan (ohne Steckbrett)

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Sicherheitshinweise

Schalten Sie immer den 220-Ohm-Vorwiderstand in Reihe mit der LED, damit kein zu hoher Strom durch den GPIO-Pin des ESP32 S3 fließt, was den Mikrocontroller dauerhaft beschädigen kann. Der LDR und der 10-kΩ-Widerstand bilden einen Spannungsteiler, der das Analogsignal im sicheren Eingangsbereich von 0–3,3V hält, den der ADC des ESP32 S3 erwartet – schließen Sie den LDR-Ausgang niemals ohne Spannungsteiler direkt an eine 5V-Quelle an.

Komponente Pin ESP32 S3 Pin
Lichtsensor (LDR) Ein Bein 3.3V
Lichtsensor (LDR) Anderes Bein GPIO6 (und 10kΩ nach GND)
LED Anode (+) GPIO4 (über 220Ω-Widerstand)
LED Kathode (-) GND

ESP32 S3 Code

Der folgende Code liest den Analogwert des Lichtsensors am ESP32 S3 aus, vergleicht ihn mit einem vordefinierten Schwellenwert und schaltet die LED ein, wenn der Messwert unter diesen Schwellenwert fällt – ein Zeichen für wenig Umgebungslicht. Der Schwellenwert kann direkt im Code angepasst werden, um den Auslösepunkt an Ihre Lichtverhältnisse anzupassen.

/* * 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-light-sensor-triggers-led */ /* * This ESP32-S3 code is created by esp32io.com * * This ESP32-S3 code is released in the public domain * * For more detail (instruction and wiring diagram), visit https://esp32io.com/tutorials/esp32-s3-light-sensor */ // constants won't change #define LIGHT_SENSOR_PIN 6 // ESP32-S3 pin GPIO6 (ADC1_CH5) connected to light sensor #define LED_PIN 4 // ESP32-S3 pin GPIO4 connected to LED #define ANALOG_THRESHOLD 500 void setup() { // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); pinMode(LED_PIN, OUTPUT); // set ESP32-S3 pin to output mode } void loop() { int analogValue = analogRead(LIGHT_SENSOR_PIN); // read the value on analog pin if (analogValue < ANALOG_THRESHOLD) digitalWrite(LED_PIN, HIGH); // turn on LED else digitalWrite(LED_PIN, LOW); // turn off LED }

Schnelle Schritte

  1. Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
  2. Verdrahten Sie die Komponenten gemäß dem obigen Schaltplan.
  3. Verbinden Sie das ESP32 S3 Board über ein USB-Type-C-Kabel mit Ihrem PC.
  4. Öffnen Sie die Arduino IDE auf Ihrem PC.
  5. Wählen Sie im Menü Werkzeuge das richtige ESP32 S3 Board und den COM-Port aus.
  6. Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
  7. Klicken Sie auf die Schaltfläche Upload, um den Code zu kompilieren und auf den ESP32 S3 hochzuladen.
Arduino IDE Code hochladen
  1. Öffnen Sie den Serial Monitor mit 115200 Baud.
  2. Richten Sie ein helles Licht direkt auf den Lichtsensor und beobachten Sie, wie die LED ausgeht.
  3. Decken Sie den Lichtsensor mit der Hand ab und beobachten Sie, wie die LED angeht.
  4. Prüfen Sie den Serial Monitor, um die aktuellen Analogwerte in Echtzeit zu sehen.
  5. Profi-Tipp: Passen Sie den Schwellenwert im Code an, um den Auslösepunkt auf die Lichtverhältnisse Ihres Raums abzustimmen – geben Sie zuerst den rohen ADC-Wert im Serial Monitor aus, um den besten Schwellenwert zu ermitteln, bevor Sie ihn fest im Code eintragen.

Ausgabe im Serial Monitor

Die folgende Ausgabe im Serial Monitor zeigt, wie der ESP32 S3 die Analogdaten des Lichtsensors in Echtzeit ausliest. Jede Zeile zeigt den aktuellen ADC-Wert und den entsprechenden, durch den Lichtschwellenwert ausgelösten LED-Zustand.

∞
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
[2026-06-16 10:22:01] Light value: 3120 | LED: OFF [2026-06-16 10:22:02] Light value: 1854 | LED: OFF [2026-06-16 10:22:03] Light value: 612 | LED: ON [2026-06-16 10:22:04] Light value: 205 | LED: ON
Ln 11, Col 1
ESP32S3 Dev Module on COM15
2

Anwendungs- und Projektideen

Sobald Sie eine LED über einen Lichtsensor-Messwert am ESP32 S3 schalten können, lässt sich dieses Muster auf viele lichtempfindliche Automatisierungsprojekte übertragen.

  1. Automatisches Nachtlicht: Schalten Sie eine Raumbeleuchtung oder einen LED-Streifen automatisch ein, wenn die Umgebungshelligkeit in der Dämmerung oder bei abgedunkeltem Raum unter einen Schwellenwert fällt.
  2. Tageslichtgesteuertes Relais: Schalten Sie ein Relais (und damit eine netzbetriebene Lampe oder ein Gerät) abhängig vom natürlichen Licht statt über einen manuellen Schalter.
  3. Gewächshaus-Lichtsteuerung: Halten Sie ein Mindestlichtniveau für Pflanzen aufrecht, indem Sie Pflanzenlampen einschalten, sobald der Sensor zu wenig natürliches Licht erkennt.
  4. Sicherheitsbeleuchtung: Lösen Sie helle LEDs oder eine Kamera aus, wenn ein Bereich plötzlich dunkel wird, etwa wenn in einer überwachten Zone das Licht ausgeschaltet wird.
  5. Solarlade-Monitor: Erkennen Sie mit dem Lichtsensor, ob Sonnenlicht verfügbar ist, und leiten Sie das Signal an eine Ladesteuerung weiter.
  6. Intelligente Vorhangsteuerung: Kombinieren Sie den Lichtsensor mit einem Servo- oder Schrittmotor, um Vorhänge je nach Tageszeit und Helligkeit automatisch zu öffnen oder zu schließen.

Video-Tutorial

Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32 S3 Projekt an.

Fordern Sie sich heraus

Da Sie nun eine LED mit einem Lichtsensor am ESP32 S3 steuern können, probieren Sie diese zunehmend anspruchsvollen Erweiterungen aus, um Ihr Verständnis zu vertiefen und leistungsfähigere Systeme zur Lichterkennung zu bauen.

  1. Anfänger: Ändern Sie den Schwellenwert im Code und beobachten Sie, wie sich die Helligkeit ändert, bei der die LED einschaltet; geben Sie anschließend eine Meldung im Serial Monitor aus, die den aktiven Schwellenwert bestätigt.
  2. Anfänger: Fügen Sie eine zweite LED an einem anderen GPIO-Pin hinzu und lassen Sie sie bei einem anderen (höheren ADC-Wert) Schwellenwert leuchten, sodass Sie zwei Lichtzonen mit getrennten Anzeigen haben.
  3. Fortgeschritten: Ersetzen Sie das einfache Ein/Aus-Verhalten der LED durch eine PWM-Helligkeitssteuerung, sodass die LED bei zunehmender Dunkelheit allmählich heller und bei mehr Licht dunkler wird.
  4. Fortgeschritten: Fügen Sie ein I2C-OLED-Display hinzu, um den aktuellen ADC-Wert und den LED-Zustand formatiert anzuzeigen, ohne auf den Serial Monitor angewiesen zu sein.
  5. Experte: Speichern Sie einen konfigurierbaren Schwellenwert im nichtflüchtigen Speicher des ESP32 S3 (Preferences-Bibliothek), damit die Einstellung auch nach einem Neustart ohne erneutes Hochladen erhalten bleibt.
  6. Experte: Übertragen Sie die Messwerte des Lichtsensors per WiFi an eine einfache Webseite, die vom ESP32 S3 bereitgestellt wird, und steuern Sie den Erkennungsschwellenwert aus der Ferne über einen Schieberegler im Browser.

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