ESP32 Tutorial 22/55 - Das Licht spüren mit LED Arduino | SunFounders ESP32 IoT-Lernkit
In diesem Tutorial werden wir erkunden, wie man einen lichtabhängigen Widerstand (LDR) mit dem ESP32-Mikrocontroller verwendet, um die Lichtintensität zu messen. Indem wir den Widerstand des LDR lesen, können wir Aktionen auslösen, wie z. B. ein Summer einzuschalten, wenn der Lichtpegel einen bestimmten Schwellenwert überschreitet. Dieses Projekt wird die Interaktion zwischen Lichtpegeln und den analogen Lesefähigkeiten des ESP32 demonstrieren und es uns ermöglichen, reaktionsfähige Anwendungen basierend auf Umgebungslicht zu erstellen.

Hardware erklärt
Die Hauptkomponenten, die wir in diesem Projekt verwenden werden, umfassen den ESP32-Mikrocontroller, einen LDR und einen 10 kΩ Widerstand. Der LDR ändert seinen Widerstand je nach Intensität des Lichts, das auf seine Oberfläche trifft: mehr Licht führt zu einem niedrigeren Widerstand, während weniger Licht zu einem höheren Widerstand führt. Diese Eigenschaft ermöglicht es uns, unterschiedliche Lichtniveaus zu messen, indem wir den LDR in einer Spannungsdivider-Konfiguration mit dem Widerstand verbinden.
Der ESP32-Mikrocontroller verfügt über integriertes Wi-Fi und Bluetooth, was ihn ideal für IoT-Projekte macht. Er hat mehrere analoge Pins, die unterschiedliche Spannungspegel lesen können, die wir nutzen werden, um die Spannung über dem LDR zu überwachen. Diese Spannung wird in einen analogen Wert umgewandelt, den der ESP32 verarbeiten und verwenden kann, um Aktionen wie das Aktivieren eines Summer auszulösen.
Datenblattdetails
| Hersteller | Espressif Systems |
|---|---|
| Teilenummer | ESP32 |
| Logik/IO-Spannung | 3,3 V |
| Versorgungsspannung | 3,0 - 3,6 V |
| Ausgangsstrom (pro GPIO) | 40 mA max |
| PWM-Frequenzrichtlinie | 1 kHz - 40 kHz |
| Eingangslogikschwellen | Hoch: 2,0 V min, Niedrig: 0,8 V max |
| Spannungsabfall / RDS(on)/ Sättigung | 0,3 V max |
| Thermische Grenzen | -40 °C bis 125 °C |
| Paket | QFN48 |
| Hinweise / Varianten | Unterstützt mehrere Wi-Fi- und Bluetooth-Protokolle |
- Verwenden Sie einen 10 kΩ Widerstand in Reihe mit dem LDR zur Spannungsteilung.
- Stellen Sie sicher, dass der ESP32 mit 3,3 V versorgt wird, um Schäden zu vermeiden.
- Verbinden Sie den LDR und den Widerstand korrekt, um die Lichtintensität zu messen.
- Verwenden Sie einen Kondensator zur Entkopplung, um die Stromversorgung zu stabilisieren, falls erforderlich.
- Überprüfen Sie die analogen Lesewerte, um sicherzustellen, dass sie innerhalb der erwarteten Bereiche liegen.
Verkabelungsanleitung

Um den LDR und den Widerstand mit dem ESP32 zu verbinden, beginnen Sie damit, ein Ende des LDR an den 3,3 V Stromanschluss des ESP32 anzuschließen. Das andere Ende des LDR sollte mit einem Ende des 10 kΩ Widerstands verbunden werden. Schließen Sie das andere Ende des Widerstands an die Masse an.
Verbinden Sie als nächstes einen Jumperkabel von dem Verbindungspunkt zwischen dem LDR und dem Widerstand zu Pin35auf dem ESP32. Dieses Setup erzeugt einen Spannungsteiler, der es dem ESP32 ermöglicht, die sich ändernde Spannung basierend auf der Lichtintensität, die auf den LDR trifft, zu lesen. Stellen Sie sicher, dass alle Verbindungen sicher sind und dass der LDR dort positioniert ist, wo er Lichtveränderungen genau erfassen kann.
Codebeispiele und Durchgangsanleitungen
Im Code beginnen wir damit, die serielle Kommunikation zu initialisieren, um die Messwerte des LDR zu überwachen. Der Schlüsselbegriff hier istanalogValue, das die Ablesung von Pin speichert35.
void setup() {
Serial.begin(115200);
}
void loop() {
int analogValue = analogRead(35);
Serial.printf("ADC analog value = %d\n",analogValue);
delay(100);
}Dieser Codeausschnitt initialisiert den seriellen Monitor mit einer Baudrate von 115200 und liest kontinuierlich den analogen Wert vom Pin.35Der Wert wird im seriellen Monitor ausgegeben, sodass wir beobachten können, wie er sich mit unterschiedlichen Lichtniveaus ändert.
Wenn sich die Lichtintensität ändert, variiert der Widerstand des LDR, und somit wird auch die vom ESP32 gemessene Spannung ändern, was die Lichtverhältnisse widerspiegelt (im Video um 12:45).
Demonstration / Was zu erwarten ist
Wenn Sie das Programm ausführen und den seriellen Monitor beobachten, sollten Sie sehen, dass dieADC analog valueschwanken je nach den Umgebungslichtverhältnissen. Wenn Sie den LDR abdecken, sollte der Wert steigen, was auf einen höheren Widerstand hinweist, während die Exposition gegenüber hellem Licht den Wert erheblich senken sollte. Dieses Verhalten kann genutzt werden, um einen Summer oder eine andere Aktion basierend auf den vordefinierten Schwellenwerten auszulösen.
Wenn sich die Messwerte nicht wie erwartet ändern, überprüfen Sie die Verkabelung, stellen Sie sicher, dass der LDR nicht unbelegt ist, und bestätigen Sie, dass der ESP32 korrekt mit Strom versorgt wird. Dies wird helfen, häufige Fallstricke zu vermeiden und einen reibungslosen Betrieb sicherzustellen (im Video um 15:30).
Video-Zeiten
- 00:00 Start
- 1:48 Einführung in LDR
- 8:33 Verdrahtung erklärt
- 11:07 Arduino-Code erklärt
- 13:07 Auswahl des ESP32-Boards und COM-Ports in der Arduino IDE
- 14:49 Demonstration des Wertes lesen
- 17:24 Das Verständnis des Wertes von Tag und Nacht
- 18:47 DAC-Wert und Spannungsablesung
Common Course Links
Common Course Files
Ressourcen & Referenzen
-
DokumentationESP32 Tutorial 22/55 - SunFounder Dokumentationsseite für die LDR-Leitungdocs.sunfounder.com
Dateien📁
Keine Dateien verfügbar.