Leucht­stär­ke von LEDs mit der Puls­wei­ten­mo­du­la­ti­on und mit for-Schlei­fen regeln

Lese­zeit: 3 Minu­ten

Lösung
Seite als PDF

Eine LED soll schritt­wei­se in ihrer Leucht­stär­ke ver­än­dert werden.

So sieht es aus:

Benö­tig­te Bauteile:

  • gel­be LED
  • Wider­stand 220 Ω
  • Lei­tungs­dräh­te

Beach­te die ➨Vor­wi­der­stän­de ver­schie­de­ner LEDs

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

Baue die Schal­tung auf.
(Fah­re mit der Maus über das Bild, um die Bezeich­nun­gen der Bau­tei­le zu sehen)

Sie soll in 10-er Schrit­ten immer hel­ler und anschlie­ßend wie­der dun­kel werden.

int LED = 6;

void setup()
{ 
  // bei analogWrite ist kein setup notwendig
}

void loop() 
{
  analogWrite(LED, 0);
  delay(200);
  analogWrite(LED, 10);
  delay(200); 
  analogWrite(LED, 20); 
  delay(200); 
  analogWrite(LED, 30); 
  delay(200); 
  analogWrite(LED, 40); 
  delay(200); 
  analogWrite(LED, 50); 
  delay(200); 
  analogWrite(LED, 60); 
  delay(200); 
  analogWrite(LED, 70); 
  delay(200); 
  analogWrite(LED, 80); 
  delay(200);  
  . . . 
  . . . 
  analogWrite(LED, 250); 
  delay(200); 
}

Du siehst, dass sehr vie­le Pro­gramm­zei­len not­wen­dig wären, um die Auf­ga­be zu realisieren. 

Abhil­fe schafft hier eine for-Schleife.

Sie hat die Form:
Von (Start­wert = Wert; Start­wert klei­ner oder gleich End­wert; Schrittweite)

Wei­te­re Informationen

Die LED wird in 10er-Schrit­ten hel­ler:
Begin­ne mit dem Start­wert 0, füh­re die Befeh­le solan­ge aus, bis der Wert 250 erreicht ist. Die Schritt­wei­te beträgt 10.
In die­se Schlei­fe wer­den nun die Anwei­sun­gen gepackt, die solan­ge aus­ge­führt wer­den, bis i den Wert 250 erreicht hat.

for (int i = 0; i < 250; i += 10)  
{ 
  // LED in 10er-Schritten heller werden lassen 
  analogWrite(LED, i);  
  delay(200);   
}

Ergän­ze das Pro­gramm mit einer wei­te­ren for-Schlei­fe.
Sie soll die Leucht­stär­ke von 250 wie­der auf 0 regeln. Der Start­wert ist jetzt 250, der End­wert 0 und die Schritt­wei­te wird um 10 verringert.

  for (int i = 255; i >= 0; i -= 10)
  {
    // LED in 10er-Schritten heller werden lassen
    analogWrite(LED, i);
    delay(200);
  }

Startseite
Aufgaben A-Z
Suchen
Downloads
Fehlermeldungen
Seite asl PDF

Ver­wand­te Aufgaben:


Letzte Aktualisierung: 11. Okt 2023 @ 8:47