Um z.B. LEDs zu Dimmen unterstützt der ESP32 die Pulsweitenmodulation. PWM sollte auf den GPIOs 0 bis 15 möglich sein (vgl. PinOut). Der Aufbau kann daher von der blinkenden LED mit ESP32 übernommen werden.
Auf dem ESP32 wird mit analogWrite(pin, wert) eine „analoge“ im Ausgabe mittels PWM auf einem GPIO-Pin auszugeben. Zur Initialisierung ist zuvor im setup -Teil ein pinMode(ledPin, OUTPUT) notwendig.
#include <Arduino.h>
/* -------------------------------------
Praxis 8
Dimmen einer LED am ESP32
Kompatibel mit Boardtreiber 3.x
Funktioniert mit der Arduino IDE,
und auch mit VSCode
-----------------------------------*/
const int ledPin = 2;
void setup(){
pinMode(ledPin, OUTPUT);
}
void loop(){
for(int i = 0; i <= 255; i++){
analogWrite(ledPin, i);
delay(20);
}
for(int i = 255; i >= 0; i--){
analogWrite(ledPin, i);
delay(20);
}
}