Mit diesem Beispiel kann man, wie der Name schon sagt, bei einer oder mehreren LEDs die Helligkeit verändern.

Material:

  • LED
  • ESP32
  • 330 Ω Widerstand


Aufbau:


Abbildungen: LED mit Widerstand - Steckplatine
Quelle: BBS 2 Wolfsburg


Steckplan:


Abbildungen: LED mit Widerstand 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 frequency = 1000;    //Initialisiert die Integer-Variable frequency (Frequenz des PWM-Signals) konstant auf 1000 Hz
const int resolution = 8;      //Initialisiert die Integer-Variable resolution (Aufloesung des PWM-Signals) konstant auf 8 Bit
const int channel = 0;         //Initialisiert die Integer-Variable channel konstant auf 0 von 16 moeglichen Kanaelen


void setup()                                      //Wird nur bei Programmstart zur Initialisierung der Hardware aufgerufen
{
  pinMode(LED, OUTPUT);                           //Setzt den GPIO-Pin 23 als Output (Ausgang)
  ledcSetup(channel, frequency, resolution);      //Konfiguriert den PWM-Kanal 0 mit der Frequenz von 1 kHz und einer 8 Bit-Aufloesung
  ledcAttachPin(LED, channel);                    //Kopplung des GPIO-Pins 23 mit dem PWM-Kanal 0
}
//
// Aendert die Helligkeit der LED periodisch von hell zu dunkel und umgekehrt 
// zwischen 0% (0) und 100% (255). Erhoehung um 5/255.
//
void loop()                                           //Endlosschleife wird immer wieder neu aufgerufen, das Hauptprogramm
{
  for (int zaehler = 0; zaehler < 255; zaehler = zaehler + 5)  //Defineren der Variable zaehler, Ueberpruefung, dass der Wert kleiner als 255 ist; Wert wird um 5 erhoeht
  {
    ledcWrite(channel, zaehler);                    //PWM-Signal wird mit dem Puls-Pause-Verhaeltnis zaehler angsteuert
    delay(50);                                      //Verzoegerung der Schleife um den Programmdurchlauf zu verlangsamen
  }                                                 //Beenden der Schleife ansteigende Helligkeit 
  for (int zaehler = 255; zaehler >= 0; zaehler = zaehler - 5)  //Schleife fuer das Abdunkeln der LED
  {
    ledcWrite(channel, zaehler);                    //PWM-Signal wird mit Funktion an gewaehlten GPIO-Pin gesendet
    delay(50);                                      //Verzoegerung von 50 ms
  }                                                 //Beenden der Schleife abfallende Helligkeit 
 
 delay(500);                                       //Verzoegerung von 500 ms

}  // Beenden des Hauptprogramms 
Zuletzt geändert: Dienstag, 26. Januar 2021, 17:50