
Ein analoges Signal kann von 0% bis 100% reguliert werden. Digitale Signale kennen aber nur zwei Zustände: an (HIGH) oder aus (LOW).
Bei der Pulsweitenmodulation (PWM) wird das digitale Signal in bestimmten Abständen immer wieder ein- und ausgeschaltet, um ähnliche Ergebnisse wie die eines normalen analogen Signals zu erhalten. Der Ein-Aus-Wechsel simuliert die Spannung zwischen 0 und 5 Volt. Der Dauer des Ein-Zustandes ist die Pulsweite.
Nur die digitalen Pins, die mit einem ~ gekennzeichnet sind, können mit der PWM angesprochen werden.
Quelle: 🔗https://www.arduino.cc/en/Tutorial/Foundations/PWM (eigene Bearbeitung, abgerufen am 25.02.23)


Beispiel:
Die LED an Pin 7 wird in 10er-Schritten langsam heller und anschließend in 10-Schritten wieder dunkel.
So sieht es aus:
int LED = 6;
void setup()
{
// bei analogWrite ist kein setup notwendig
}
void loop()
{
// heller
for (int i = 0; i < 250; i += 10)
{
analogWrite(LED, i);
delay(200);
}
// dunkler
for (int i = 250; i > 0; i -= 10)
{
analogWrite(LED, i);
delay(200);
}
}

