Helligkeitsänderung einer LED
Completion requirements
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
Last modified: Tuesday, 26 January 2021, 5:50 PM