ESP32 S3 - Lichtsensor
Erfahren Sie, wie Sie einen Lichtsensor (Fotowiderstand/LDR) an Ihren ESP32 S3 anschließen und die Helligkeit in Ihren Arduino-Projekten messen. Diese einsteigerfreundliche Anleitung behandelt alles von der Verdrahtung bis zum Code und hilft Ihnen, Ihr erstes System zur Erkennung der Umgebungshelligkeit mit dem ESP32 S3 zu bauen.
Was Sie bauen werden:
- Eine Lichtsensor-Schaltung, die mit dem Analogeingang des ESP32 S3 verbunden ist
- Arduino-Code, der die Umgebungshelligkeit ausliest und in Stufen einteilt
- Eine Anzeige im Serial Monitor mit Helligkeitswerten in Echtzeit
- Eine automatische LED-Steuerung, die auf wechselnde Lichtverhältnisse reagiert

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables ESP32 S3 Starter-Kit (ESP32 S3 enthalten) | |
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Komponentenoptionen:
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 Light Sensor
Ein Lichtsensor (Fotowiderstand) ist ein analoges Bauteil, das seinen Widerstand abhängig von der Lichtmenge ändert, die auf seine Oberfläche fällt. Er ist einer der einfachsten und günstigsten Sensoren, die Sie mit einem Mikrocontroller wie dem ESP32 S3 verwenden können, und damit ideal für Einsteigerprojekte. Typische Anwendungen reichen von automatischen Nachtlichtern über Pflanzenlicht-Monitore bis hin zu Smart-Home-Systemen.
Wichtige Spezifikationen
Der Fotowiderstand wird auch Fotozelle oder lichtabhängiger Widerstand (LDR) genannt. Sein Widerstand liegt bei hellem Licht typischerweise bei etwa 200 Ω, kann bis auf 200 Ω sinken und steigt bei völliger Dunkelheit auf bis zu 10 MΩ. Die Reaktionszeit beträgt etwa 20–30 ms, sodass er sich gut zur Erfassung allmählicher Änderungen der Umgebungshelligkeit eignet. Er arbeitet mit einer einfachen Spannungsteilerschaltung und liefert ein Analogsignal, das der ESP32 S3 direkt über seine ADC-Pins auslesen kann.
Pinbelegung des Lichtsensors
Der Fotowiderstand hat zwei ungepolte Pins, die in beliebiger Ausrichtung angeschlossen werden können.
- Pin 1: Mit einer der beiden Seiten des Spannungsteilers verbinden
- Pin 2: Mit einer der beiden Seiten des Spannungsteilers verbinden
Hinweis: Anders als bei LEDs oder Dioden sind die Pins des Lichtsensors austauschbar – Sie müssen nicht auf die Polarität achten.

So funktioniert der Lichtsensor
Der Widerstand des Fotowiderstands verhält sich umgekehrt zur Lichtintensität – mehr Licht bedeutet weniger Widerstand, was eine höhere Spannung am Analogpin des ESP32 S3 erzeugt. Der ESP32 S3 liest diese Spannung aus und wandelt sie mit seinem eingebauten ADC in einen digitalen Wert zwischen 0 und 4095 um. Höhere Analogwerte stehen für hellere Bedingungen, niedrigere Werte für dunklere Umgebungen.

WARNING
Der vom Fotowiderstand gemessene Wert spiegelt nur die ungefähre Tendenz der Lichtintensität wider und entspricht NICHT genau dem Lichtstrom. Daher sollte der Fotowiderstand nicht in Anwendungen eingesetzt werden, die eine hohe Genauigkeit erfordern. Für manche Anwendungen ist außerdem eine Kalibrierung erforderlich.
ESP32 S3 - Lichtsensor
Der ESP32 S3 liest die Werte des Lichtsensors über seine analogen Eingangspins aus. Der ADC des ESP32 S3 wandelt eine Eingangsspannung von 0 V bis 3,3 V in einen ganzzahligen Wert zwischen 0 und 4095 um, den sogenannten ADC-Wert. Mit der Funktion analogRead() lesen Sie diesen Wert aus – höhere ADC-Werte entsprechen helleren Lichtverhältnissen, niedrigere Werte dunkleren Umgebungen.
Schaltplan zwischen Lichtsensor und ESP32 S3
Schließen Sie den Lichtsensor über eine Spannungsteilerschaltung mit einem 10-kΩ-Widerstand an Ihren ESP32 S3 an. Ein Bein des Fotowiderstands wird mit 3,3 V verbunden, das andere Bein sowohl mit einem analogen GPIO-Pin als auch mit einem Ende des 10-kΩ-Widerstands; das andere Ende des Widerstands geht an GND.
Sicherheitshinweise
Überprüfen Sie Ihre Verbindungen immer doppelt, bevor Sie das Board einschalten. Stellen Sie sicher, dass der Widerstand 10 kΩ hat, denn ein falscher Widerstandswert verändert das Teilerverhältnis des Spannungsteilers und führt zu ungenauen ADC-Werten.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
| Lichtsensor Pin 1 | 3.3V |
|---|---|
| Lichtsensor Pin 2 | GPIO6 (Analog-Pin) + 10kΩ-Widerstand |
| 10kΩ-Widerstand (anderes Ende) | GND |
ESP32 S3 Code
Der folgende Code liest den Analogwert des Lichtsensors an GPIO6 des ESP32 S3 aus und ordnet die Helligkeit einer von vier Stufen zu. Er gibt alle 500 Millisekunden sowohl den rohen ADC-Wert als auch die zugehörige Bezeichnung im Serial Monitor aus, sodass Sie leicht beobachten können, wie der Sensor in Echtzeit auf wechselnde Lichtverhältnisse reagiert.
Schnelle Schritte
- Neu beim ESP32 S3? Arbeiten Sie zuerst unsere Anleitung Erste Schritte mit dem ESP32 S3 durch.
- Code kopieren: Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
- Board auswählen: Stellen Sie sicher, dass unter Werkzeuge > Board der ESP32 S3 ausgewählt ist.
- ESP32 anschließen: Verbinden Sie Ihren ESP32 S3 über ein USB-Type-C-Kabel mit Ihrem Computer.
- Code hochladen: Klicken Sie in der Arduino IDE auf die Schaltfläche Upload.
- Serial Monitor öffnen: Klicken Sie auf das Serial-Monitor-Symbol oder drücken Sie Strg+Umschalt+M.
- Baudrate einstellen: Stellen Sie den Serial Monitor auf 115200 Baud ein.
- Sensor testen: Decken Sie den Lichtsensor mit der Hand ab und setzen Sie ihn dann hellem Licht aus.
- Ergebnisse beobachten: Verfolgen Sie, wie sich die Analogwerte und die Helligkeitsbeschreibungen in Echtzeit ändern.
- Profi-Tipp: Die Schwellenwerte (1000, 2000, 3000) können an Ihre Umgebungshelligkeit angepasst werden, um genauere Ergebnisse zu erhalten.

Erwartete Ausgabe im Serial Monitor:
Lichtsensor und LED
Erstellen wir nun ein automatisches Beleuchtungssystem, das eine LED einschaltet, wenn es dunkel wird.
Verdrahtungsdiagramm
Fügen Sie Ihrer Schaltung eine LED hinzu, um einen lichtgesteuerten Schalter zu erstellen.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Zusätzliche Verbindungen:
| LED-Anode (langes Bein) | GPIO8 (über 220Ω-Widerstand) |
|---|---|
| LED-Kathode (kurzes Bein) | GND |
ESP32 S3 Code
Der folgende Code liest den Lichtsensor kontinuierlich aus und vergleicht jeden Messwert mit einem festen Schwellenwert. Fällt die Umgebungshelligkeit unter den Schwellenwert, schaltet der ESP32 S3 die LED automatisch ein; ist wieder genügend Licht vorhanden, schaltet er die LED aus – so entsteht ein einfaches und wirkungsvolles automatisches Nachtlicht.
※ Notiz:
Dieses Tutorial verwendet die Funktion analogRead(), um Werte von einem ADC (Analog-Digital-Wandler) zu lesen, der mit einem Sensor oder Bauteil 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 oder einen anderen Arduino wie den Arduino Uno R4 WiFi einsetzen, der einen zuverlässigeren ADC hat. Wenn Sie den ADC des ESP32 S3 dennoch kalibrieren möchten, lesen Sie den ESP32 ADC Calibration Driver.
Anwendungs- und Projektideen
Da Sie nun wissen, wie Sie einen Lichtsensor mit dem ESP32 S3 verwenden, gibt es viele praktische Möglichkeiten, dieses Wissen in realen Projekten einzusetzen.
- Automatisches Nachtlicht: Die LED schaltet sich automatisch ein, wenn es im Raum dunkel wird.
- Intelligenter Pflanzenmonitor: Verfolgen Sie im Tagesverlauf, wie viel Sonnenlicht Ihre Zimmerpflanzen bekommen.
- Sicherheitssystem: Erkennen Sie, wenn in einem Raum das Licht ein- oder ausgeschaltet wird, und lösen Sie Warnungen aus.
- Wetterstation: Überwachen Sie Tageslichtstunden und Bewölkung als Teil einer umfassenderen Sensoranordnung.
- Energiesparer: Steuern Sie Jalousien automatisch abhängig von der Sonneneinstrahlung.
- Belichtungsmesser für Fotografie: Messen Sie die Umgebungshelligkeit als Hilfe für die Kameraeinstellungen.
Video-Tutorial
Sehen Sie sich unten die Schritt-für-Schritt-Videoanleitung für dieses ESP32 S3 Projekt an.
Fordern Sie sich heraus
Sobald der einfache Lichtsensor mit Ihrem ESP32 S3 funktioniert, erweitern Sie Ihre Fähigkeiten mit diesen aufeinander aufbauenden Herausforderungen.
- Anfänger: Fügen Sie einen Summer hinzu, der einmal piept, wenn die Helligkeit von hell zu dunkel wechselt.
- Anfänger: Zeigen Sie im Serial Monitor "Good morning!" an, wenn Licht erkannt wird, und "Good night!", wenn es dunkel ist.
- Fortgeschritten: Erstellen Sie einen Datenlogger, der jede Minute die Helligkeit aufzeichnet und auf einer SD-Karte speichert.
- Fortgeschritten: Bauen Sie eine intelligente Vorhangsteuerung, die anhand simulierter Schwellenwerte für Sonnenaufgang und Sonnenuntergang öffnet oder schließt.
- Experte: Implementieren Sie einen Solarpanel-Nachführer, der die Lichtintensität mehrerer Sensoren überwacht und einen Servo dreht, um der Lichtquelle zu folgen.
- Experte: Erstellen Sie ein Gewächshaus-Automatisierungssystem, das mit lichtbasierter Logik Bewässerungszeiten und Lüfter steuert.