Puls­wei­ten­mo­du­la­ti­on

Lese­zeit: 2 Minu­ten

Ein ana­lo­ges Signal kann von 0% bis 100% regu­liert wer­den. Digi­ta­le Signa­le ken­nen aber nur zwei Zustän­de: an (HIGH) oder aus (LOW).
Bei der Puls­wei­ten­mo­du­la­ti­on (PWM) wird das digi­ta­le Signal in bestimm­ten Abstän­den immer wie­der ein- und aus­ge­schal­tet, um ähn­li­che Ergeb­nis­se wie die eines nor­ma­len ana­lo­gen Signals zu erhal­ten. Der Ein-Aus-Wechsel simu­liert die Span­nung zwi­schen 0 und 5 Volt. Der Dau­er des Ein-Zustandes ist die Puls­wei­te.
Nur die digi­ta­len Pins, die mit einem ~ gekenn­zeich­net sind, kön­nen mit der PWM ange­spro­chen wer­den.

Bei­spiel:

Die LED an Pin 7 wird in 10er-Schritten lang­sam hel­ler und anschlie­ßend in 10-Schritten wie­der dun­kel.

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);   
  }
}

ana­logRead()       for