LED mit Helligkeitssensor
Mit diesem Beispiel kann man, eine LED bei Veränderung der Lichtverhältnisse automatisch leuchten lassen.
Analoge Eingänge:
Einen analogen Wert zu lesen bedeutet, dass man unterschiedliche Spannungspegel zwischen 0 V und 3,3 V misst.
Diese gemessene Spannung wird dann einem Wert zwischen 0 und 4095 zugewiesen. Dabei entsprechen 0 V dem Wert 0 und 3,3 V dem Wert 4095. Jeder Wert dazwischen wird einem dementsprechendem Wert zwischen 0 4095 zugewiesen.
Die Zuweisung der zwischenwerte erfolgt entgegen mancher Erwartungen allerdings nicht linear, sodass manche Spannungen den selben Wert haben.
Material:
- LED
- ESP32
- 220 Ω Widerstand
- 10 kΩ Widerstand
- lichtabhängiger Widerstand (LDR)
Aufbau:
Abbildungen: LED mit Widerstand und LDR - Steckplatine
Quelle: BBS 2 Wolfsburg
Steckplan:
Abbildungen: LED mit Widerstand und LDR am ESP32 - Steckplatine
Quelle: BBS 2 Wolfsburg
Source Code:
const int LED = 23; //Initialisiert die Integer-Variable LED konstant auf den Wert 23, die LED soll an den GPIO-Pin 23 angeschlossen werden
const int LDR = 35; //Initialisiert die Integer-Variable Taster konstant auf den Wert 35, der lichtabhängige Widerstand(LDR) soll an den GPIO-Pin 35 angeschlossen werden
void setup() { //Wird nur bei Programmstart zur Initialisierung der Hardware aufgerufen
pinMode(LED, OUTPUT); //Setzt den GPIO-Pin 23 als Output (Ausgang)
pinMode(LDR, INPUT); //Setzt den GPIO-Pin 35 als Input (Eingang)
}
void loop() { //Endlosschleife wird immer wieder neu aufgerufen, das Hauptprogramm
if(analogRead(LDR) > 2000) { //Wird ausgeführt, wenn es dunkel wird
digitalWrite(LED, HIGH); //Setzt den Wert der LED auf HIGH -> LED leuchtet
}
else {
digitalWrite(LED, LOW); //Setzt den Wert der LED auf LOW -> LED leuchtet nicht
}
} //Beenden des Hauptprogramms