ESP32 - Lichtsensor
Dieses Tutorial zeigt Ihnen, wie man den ESP32 mit dem Lichtsensor verwendet. Im Detail lernen wir:
- Wie der Lichtsensor funktioniert.
- Wie man den Lichtsensor mit dem ESP32 verbindet.
- Wie man den ESP32 programmiert, um den Wert eines Lichtsensors zu lesen.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables ESP32 Starter-Kit (ESP32 enthalten) | |
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Der LDR-Lichtsensor ist sehr günstig, aber er benötigt einen Widerstand für die Verkabelung, was die Einrichtung komplexer machen kann. Um die Verkabelung zu vereinfachen, können Sie ein LDR-Lichtsensor-Modul als Alternative verwenden.
Über den Lichtsensor
Der am weitesten verbreitete Lichtsensor ist ein Fotowiderstand (auch bekannt als Fotowiderstand, oder lichtabhängiger Widerstand, LDR).
Es kann verwendet werden, die Anwesenheit des Lichts zu erkennen. Es kann auch dazu verwendet werden, die Beleuchtungsstärke bzw. den Helligkeitsgrad des Lichts zu messen.
Lichtsensor Pinbelegung
Ein Lichtsensor hat zwei Pins. Wie bei einem normalen Widerstand müssen wir diese Pins nicht unterscheiden.

Wie Lichtsensoren funktionieren
Der Widerstand des Fotowiderstands verhält sich umgekehrt proportional zur Lichtintensität. Je weniger Licht dem Fotowiderstand ausgesetzt ist, desto größer ist sein Widerstand. Daher lässt sich aus der Messung des Widerstands des Fotowiderstands ableiten, wie hell das Umgebungslicht ist.

WARNING
Der durch den Fotowiderstand gemessene Wert spiegelt die ungefähre Tendenz der Lichtintensität wider. Er repräsentiert jedoch nicht exakt den Lichtstrom. Daher sollte der Fotowiderstand in einer Anwendung, die eine hohe Genauigkeit erfordert, nicht verwendet werden. Eine Kalibrierung ist auch für einige Anwendungen erforderlich.
ESP32 - Lichtsensor
Der Analogeingangspin des ESP32 wandelt die Spannung (zwischen 0 V und ADC_VREF – standardmäßig 3,3 V) in Ganzzahlwerte um (zwischen 0 und 4095), die als Analogwert oder ADC-Wert bezeichnet werden. Durch das Verbinden eines Analogeingangspins des ESP32 mit dem Fotowiderstand lässt sich der Analogwert lesen, indem man die Funktion analogRead() verwendet.
Verdrahtungsdiagramm zwischen Lichtsensor und ESP32

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.
ESP32-Code
Der folgende ESP32-Code liest den Wert eines Lichtsensors aus und ermittelt das Lichtniveau.
Schnelle Schritte
- Wenn Sie ESP32 zum ersten Mal verwenden, sehen Sie sich wie man die ESP32-Entwicklungsumgebung in der Arduino IDE einrichtet an.
- Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
- Kompilieren und den Code auf das ESP32-Board hochladen, indem Sie auf die Hochladen-Schaltfläche in der Arduino IDE klicken
- Öffnen Sie den seriellen Monitor in der Arduino IDE

- Strahlt Licht auf den Sensor.
- Sehen Sie das Ergebnis im Serial Monitor. Es sieht wie folgt aus:
Lichtsensor und LED
Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
ESP32-Quellcode
Der untenstehende Code schaltet die LED ein, wenn es dunkel ist; andernfalls schaltet er die LED aus.
※ Notiz:
Dieses Tutorial verwendet die Funktion analogRead(), um Werte von einem an einen Lichtsensor angeschlossenen ADC (Analog-Digital-Wandler) zu lesen. Der ESP32-ADC ist gut geeignet für Projekte, die KEINE hohe Genauigkeit benötigen. Allerdings, für Projekte, die präzise Messungen benötigen, beachten Sie bitte:
- Der ESP32-ADC ist nicht völlig genau und muss möglicherweise für korrekte Ergebnisse kalibriert werden. Jedes ESP32-Board kann etwas unterschiedlich sein, daher müssen Sie den ADC für jedes einzelne Board kalibrieren.
- Die Kalibrierung kann schwierig sein, besonders für Anfänger, und liefert möglicherweise nicht immer die gewünschten genauen Ergebnisse.
Für Projekte, die eine hohe Präzision benötigen, ziehen Sie in Betracht, einen externen ADC (z. B. ADS1115) mit dem ESP32 zu verwenden oder einen Arduino zu verwenden, der einen zuverlässigeren ADC hat. Wenn Sie den ESP32-ADC dennoch kalibrieren möchten, beziehen Sie sich auf 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.