ESP32 S3 - Lichtsensor schaltet Relais

Dieses Tutorial zeigt Ihnen, wie Sie den ESP32 S3 zusammen mit einem Lichtsensor verwenden, um ein Relais automatisch abhängig von der Umgebungshelligkeit zu steuern. Durch die Kombination von analoger Lichtmessung und Relaisschaltung lernen Sie praktisch, wie Sie mit dem ESP32 S3 Verbraucher mit hoher Leistung als Reaktion auf reale Sensordaten schalten.

Was Sie bauen werden:

  1. Eine Schaltung, die einen Lichtsensor (Fotowiderstand/LDR) und ein Relaismodul mit dem ESP32 S3 verbindet
  2. Einen Sketch, der kontinuierlich den Analogwert des Lichtsensors ausliest
  3. Ein System, das das Relais automatisch einschaltet, wenn die Umgebungshelligkeit unter einen festgelegten Schwellenwert fällt, und es wieder ausschaltet, wenn das Licht zurückkehrt
  4. Eine Grundlage für lichtgesteuerte Automatisierungssysteme wie automatische Nachtlichter, Straßenlaternensteuerungen und intelligente Gewächshaussysteme

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 Relay and Light Sensor

Ein Lichtsensor (Fotowiderstand) ist ein analoges Bauteil, dessen Widerstand mit zunehmender Umgebungshelligkeit sinkt. Dadurch entsteht eine veränderliche Spannung, die der ESP32 S3 über seinen ADC ausliest, um die Helligkeit zu bestimmen. In Kombination mit einem Relais kann der ESP32 S3 diesen Helligkeitswert nutzen, um Verbraucher mit hoher Spannung oder hohem Strom – etwa Glühbirnen, Lüfter oder Sirenen – sicher zu schalten, die seine GPIO-Pins nicht direkt ansteuern können.

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 das Relais gemäß dem folgenden Schaltplan an Ihren ESP32 S3 an. Überprüfen Sie alle Verbindungen, bevor Sie die Stromversorgung einschalten, insbesondere die Hochspannungsverdrahtung an den Ausgangsklemmen des Relais.

ESP32 S3 Lichtsensor Relais Schaltplan

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

Wenn Sie diese Schaltung behalten möchten, denken Sie an Schraubklemmen. Probieren Sie ein Schraubklemmen-Board für ESP32 S3: Der ESP32 S3 sitzt darauf, und jeder Pin bekommt seine eigene Schraubklemme. Jedes Kabel geht an die Schraubklemme desselben Pins, wie im Bild unten.

ESP32 S3 Lichtsensor Relais Schaltplan (Screw Terminal)

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

Ein GPIO-Breakout-Board für ESP32 S3 geht ebenfalls. Neben den S-, 3,3V- und GND-Pins für jeden GPIO hat es zusätzliche 3,3V- und 5V-Pins:

ESP32 S3 Lichtsensor Relais Schaltplan (GPIO Breakout Board)

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

Sicherheitshinweise

Vergewissern Sie sich immer, dass die COM- und NO- (oder NC-) Klemmen des Relais fest angezogen sind und keine blanken Drähte freiliegen, bevor Sie die Schaltung mit Strom versorgen. Halten Sie die Niederspannungs-Steuerleitungen zum ESP32 S3 räumlich getrennt von der Hochspannungs-Lastverdrahtung, um das Risiko einer versehentlichen Berührung zu verringern.

Komponente Pin ESP32 S3 Pin
Lichtsensor Pin 1 3.3V
Lichtsensor Pin 2 GPIO4 (Analog-Pin) + 10kΩ-Widerstand
10kΩ-Widerstand (anderes Ende) GND
Relais DC- GND
Relais DC+ 5V
Relais IN GPIO10

ESP32 S3 Code

Der folgende Code liest den Analogwert des Lichtsensors am ESP32 S3 aus, vergleicht ihn mit einem einstellbaren Schwellenwert und schaltet das Relais ein, wenn die Helligkeit unter diesen Schwellenwert fällt. Der Schwellenwert kann direkt im Code angepasst werden, um ihn an unterschiedliche Lichtverhältnisse und Empfindlichkeitsanforderungen 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-relay */ /* * 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-triggers-relay */ #define LIGHT_SENSOR_PIN 4 // ESP32-S3 pin GPIO4 (ADC0) connected to light sensor #define RELAY_PIN 10 // ESP32-S3 pin GPIO10 connected to Relay #define ANALOG_THRESHOLD 500 void setup() { // set the ADC attenuation to 11 dB (up to ~3.3V input) analogSetAttenuation(ADC_11db); pinMode(RELAY_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(RELAY_PIN, HIGH); // turn on Relay else digitalWrite(RELAY_PIN, LOW); // turn off Relay }

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. Decken Sie den Lichtsensor mit der Hand ab, um die Helligkeit zu verringern, und beobachten Sie, wie das Relais einschaltet (Sie hören ein Klicken).
  3. Setzen Sie den Sensor hellem Licht aus und beobachten Sie, wie das Relais ausschaltet.
  4. Prüfen Sie den Serial Monitor, um die aktuellen Analogwerte und den Relaiszustand in Echtzeit zu sehen.
  5. Profi-Tipp: Passen Sie den Schwellenwert im Code an, um den Auslösepunkt fein abzustimmen – bei einem niedrigeren Schwellenwert muss es fast dunkel sein, damit das Relais schaltet, während ein höherer Wert es schon bei gedämpftem Licht aktiviert. Das ist für verschiedene Lichtautomatisierungs-Szenarien nützlich.

Ausgabe im Serial Monitor

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

∞
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 09:14:01] Analog Value: 3812 | Relay: OFF [2026-06-16 09:14:02] Analog Value: 2104 | Relay: OFF [2026-06-16 09:14:03] Analog Value: 987 | Relay: ON [2026-06-16 09:14:04] Analog Value: 312 | Relay: ON
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 Lichtsensor verbunden ist. Der ADC des ESP32 S3 eignet sich für Projekte, die keine hohe Genauigkeit erfordern. Bei Projekten, die präzise Messungen benötigen, beachten Sie jedoch Folgendes:

  • Der ADC des ESP32 S3 ist nicht perfekt genau und muss für korrekte Ergebnisse eventuell kalibriert werden. Jedes ESP32 S3 Board kann leicht abweichen, daher ist eine Kalibrierung für jedes einzelne Board notwendig.
  • Die Kalibrierung kann besonders für Anfänger schwierig sein 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. Wenn Sie den ADC des ESP32 S3 dennoch kalibrieren möchten, lesen Sie den ESP32 ADC Calibration Driver.

Anwendungs- und Projektideen

Sobald Sie ein Relais über einen Lichtsensor-Messwert am ESP32 S3 schalten können, lässt sich dieses Muster auf viele lichtempfindliche Automatisierungs- und Steuerungsprojekte übertragen.

  1. Automatisches Nachtlicht: Schalten Sie eine relaisgesteuerte Glühbirne oder einen LED-Streifen automatisch ein, wenn die Umgebungshelligkeit in der Dämmerung unter einen festgelegten Wert fällt.
  2. Intelligente Straßenlaternensteuerung: Schalten Sie Straßenlaternen mit dem Lichtsensor bei Sonnenuntergang ein und bei Sonnenaufgang aus – ganz ohne manuelle Zeitschaltuhr.
  3. Pflanzenlicht-Steuerung im Gewächshaus: Schalten Sie zusätzliche Pflanzenlampen per Relais ein, wenn das natürliche Licht im Gewächshaus unter den für das Pflanzenwachstum nötigen Schwellenwert fällt.
  4. Sicherheits-Außenlicht: Lösen Sie per Relais eine 12V-Warnleuchte oder Sirene aus, wenn ein Bereich unerwartet dunkel wird – ein möglicher Hinweis auf ein Hindernis oder einen Eindringling.
  5. Energiesparende Lüftungssteuerung: Kombinieren Sie die Lichterkennung mit einem relaisgesteuerten Lüfter, um die Belüftung anhand der Sonneneinstrahlung als Näherung für die Raumtemperatur anzupassen.
  6. Dunkelkammer-Steuerung: Schalten Sie relaisgesteuerte Geräte automatisch ein, wenn das Licht in der Dunkelkammer unter einen sicheren Schwellenwert fällt, um lichtempfindliche Materialien zu schützen.

Relais vs. MOSFET-Modul

Ein Relais ist nicht die einzige Möglichkeit, ein Gerät zu schalten. Wenn Ihr Gerät mit Gleichstrom (DC) läuft, zum Beispiel ein 12V-LED-Streifen, ein 12V-Magnetschloss oder ein 12V-Lüfter, kann ein MOSFET-Modul die gleiche Aufgabe übernehmen.

Relais MOSFET-Modul
Was es kann Gerät ein- oder ausschalten Gerät ein- oder ausschalten und die Leistung einstellen (PWM)
Geräusch beim Schalten jedes Mal ein Klicken kein Geräusch
Schaltgeschwindigkeit langsam, einige Millisekunden sehr schnell
Lebensdauer die Kontakte verschleißen nach vielen Schaltvorgängen nichts bewegt sich, daher hält es lange
Stromart AC oder DC nur DC
Stromversorgung des Geräts jede Spannung, für die das Relais ausgelegt ist etwa 6V oder mehr
Trennung vom ESP32 S3 ja, zwischen Spule und Kontakten ja, durch den PC817-Optokoppler
Geeignet für AC-Geräte oder einfaches EIN/AUS DC-Geräte oder Dimmen und Drehzahlregelung

Sowohl das Relais als auch das MOSFET-Modul schalten ein, wenn der Pin des ESP32 S3 HIGH ist. Der 3,3V-Pegel des ESP32 S3 reicht völlig aus, weil die LED im PC817-Optokoppler nur wenige Milliampere braucht. Für ein einfaches EIN/AUS bleibt der obige Code also gleich. Nur die Verdrahtung ändert sich. Für Geräte am Wechselstromnetz verwenden Sie immer das Relais.

Pinbelegung, Verdrahtung, PWM-Code und Sicherheitstipps zum MOSFET-Modul finden Sie im Tutorial ESP32 S3 - MOSFET-Modul.

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 ein Relais 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 lichtgesteuerte Automatisierungssysteme zu bauen.

  1. Anfänger: Ändern Sie den Schwellenwert im Code und beobachten Sie, wie sich die Helligkeit ändert, bei der das Relais schaltet; geben Sie anschließend eine Bestätigungsmeldung im Serial Monitor aus, die den aktiven Schwellenwert anzeigt.
  2. Anfänger: Fügen Sie eine Anzeige-LED an einem separaten GPIO-Pin hinzu, die leuchtet, sobald das Relais angezogen ist, sodass Sie zusätzlich zum hörbaren Relaisklicken eine optische Bestätigung mit Niederspannung haben.
  3. Fortgeschritten: Implementieren Sie eine Hysterese in der Schwellenwertlogik, sodass das Relais bei einer Helligkeit einschaltet (z. B. ADC-Wert unter 1000), aber erst ausschaltet, wenn die Helligkeit über einen höheren Wert steigt (z. B. ADC-Wert über 1500). So verhindern Sie schnelles Relaisflattern nahe der Grenze.
  4. Fortgeschritten: Fügen Sie ein I2C-OLED-Display hinzu, um den aktuellen ADC-Wert und den Relaiszustand formatiert anzuzeigen, ohne zur Überwachung 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: Erweitern Sie das Projekt um WiFi, sodass das Relais überwacht und der Lichtschwellenwert aus der Ferne über eine vom ESP32 S3 bereitgestellte Webseite angepasst werden kann.

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