Eine LED soll schrittweise in ihrer Leuchtstärke verändert werden.
So sieht es aus:
Benötigte Bauteile:
- gelbe LED
- Widerstand > 100 Ω
- Leitungsdrähte
Baue die Schaltung auf.
(Fahre mit der Maus über das Bild, um die Bezeichnungen der Bauteile zu sehen)
Sie soll in 10-er Schritten immer heller und anschließend wieder dunkel 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 viele Programmzeilen notwendig wären, um die Aufgabe zu realisieren.
Abhilfe schafft hier eine for-Schleife.
Sie hat die Form:
Von (Startwert = Wert; Startwert kleiner oder gleich Endwert; Schrittweite)
Beispiel:
for (int i = 0; i 250; i += 10)
{
// LED in 10er-Schritten heller werden lassen
analogWrite(LED, i);
delay(200);
}
Beginne mit dem Startwert 0, führe die Befehle solange aus, bis der Wert 250 erreicht ist. Die Schrittweite beträgt 10.
In diese Schleife werden nun die Anweisungen gepackt, die solange ausgeführt werden, bis i den Wert 250 erreicht hat.
Ergänze das Programm mit einer weiteren for-Schleife.
Sie soll die Leuchtstärke von 250 wieder auf 0 regeln. Der Startwert ist jetzt 250, der Endwert 0 und die Schrittweite wird um 10 verringert.
Verwandte Aufgaben:
- Blinkende LED
- Blinkende LED mit einem Potentiometer
- Blinkende LEDs mit Multithreading
- Farbenspiele mit einem LED-Streifen
- Interrupt: Farbenspiel mit einem NeoPixel-Ring
- Lauflicht
- Lauflicht mit blinkenden LEDs
- LED mit einem Relais schalten
- LEDs schalten mit PORT/DDR
- LEDs mit dem Schieberegister 74HC595 steuern
Letzte Aktualisierung: