ESP32 - Lichtsensor löst Relais aus
Dieses Tutorial zeigt dir, wie man ESP32, Lichtsensor und Relais verwendet, um ein Projekt zu realisieren, das:
- Schaltet das Relais ein, wenn der analoge Wert, der vom Lichtsensor gemessen wird, unter einem Schwellenwert liegt,
- Schaltet das Relais aus, wenn der analoge Wert, der vom Lichtsensor gemessen wird, über einem Schwellenwert liegt,
Wir können dieses Tutorial erweitern, um automatisch einen LED-Streifen oder eine Glühbirne einzuschalten, wenn es dunkel ist.
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 zum Verdrahten, was die Verkabelung komplizierter machen kann. Um die Verkabelung zu vereinfachen, können Sie alternativ ein LDR-Lichtsensor-Modul verwenden.
Über Relais und Lichtsensor
Wir haben spezifische Tutorials zu Relais und Lichtsensoren. Jedes Tutorial enthält detaillierte Informationen und Schritt-für-Schritt-Anleitungen zur Hardware-Pinbelegung, Funktionsweise, Verdrahtung zum ESP32, ESP32-Code... Weitere Informationen dazu finden Sie in den folgenden Links:
Verdrahtungsdiagramm

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
Schnelle Schritte
- Wenn Sie ESP32 zum ersten Mal verwenden, sehen Sie wie man die Umgebung für ESP32 in der Arduino IDE einrichtet.
- Schließen Sie die Verkabelung wie im obigen Bild.
- Schließen Sie das ESP32-Board über ein Mikro-USB-Kabel an Ihren PC an.
- Öffnen Sie die Arduino IDE auf Ihrem PC.
- Wählen Sie das richtige ESP32-Board (z. B. ESP32 Dev Module) und den COM-Port.
- Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
- Kompilieren Sie den Code und laden Sie ihn auf das ESP32-Board hoch, indem Sie in der Arduino IDE auf die Schaltfläche Upload klicken.

- Strahlt Licht auf den Sensor
- Beobachte die Änderung des Relaiszustands
Zeilenweise Code-Erklärung
Der obige ESP32-Code enthält eine zeilenweise Erklärung. Bitte lesen Sie die Kommentare im Code!
※ Notiz:
In diesem Tutorial wird die Funktion analogRead() verwendet, um Werte von einem ADC (Analog-Digital-Wandler) zu lesen, der an einen Lichtsensor angeschlossen ist. Der ESP32-ADC ist gut geeignet für Projekte, die keine hohe Genauigkeit benötigen. Für Projekte, die präzise Messungen erfordern, beachten Sie bitte:
- Der ESP32-ADC ist nicht völlig genau und muss möglicherweise kalibriert werden, um korrekte Ergebnisse zu erhalten. 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 genauen Ergebnisse, die Sie möchten.
Für Projekte mit hoher Präzision sollten Sie in Erwägung ziehen, einen externen ADC (z. B. ADS1115) mit dem ESP32 zu verwenden oder einen Arduino zu verwenden, der einen zuverlässigeren ADC hat. Falls Sie den ESP32-ADC dennoch kalibrieren möchten, verweisen Sie 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.