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
Zuletzt geändert: Freitag, 12. Februar 2021, 11:41