int LED = 9; // Das Wort "LED“ steht jetzt für den Pin 9
// Fadeschritte: bestimmt die Geschwindigkeit des „fadens“.
int Fadeschritte = 5;
// Das Wort "Helligkeit“ steht nun für den Wert, der bei der PWM ausgegeben wird.
// Die Zahl 0 ist dabei nur ein beliebiger Startwert.
int Helligkeit = 0;
void setup() // Hier beginnt das Setup.
{
// bei analogWrite ist kein setup notwendig
}
void loop()
{
/*
Mit der Funktion analogWrite wird hier an der LED die PWM-Funktion aktiviert.
Der PWM-Wert ist der Wert, der unter dem Namen „Helligkeit“ gespeichert ist.
in diesem Fall „0“ (siehe ersten Programmabschnitt)
*/
analogWrite(LED, Helligkeit);
/*
Nun wird der Wert für die PWM-Ausgabe verändert. Zum Wert „Helligkeit“
wird jetzt zum vorherigen Helligkeit der Wert für die Fadeschritte addiert.
In diesem Fall: Helligkeit = 0 + 5. Der neue Wert für "Helligkeit“ ist also nicht mehr 0 sondern 5.
Sobald der loop-Teil einmal durchgelaufen ist, wiederholt er sich.
Dann beträgt der Wert für die Helligkeit 10. Im nächsten Durchlauf 15 usw. usw…
*/
Helligkeit = Helligkeit + Fadeschritte;
// Die LED soll für 25 ms (Millisekunden), also nur ganz kurz die Helligkeit beibehalten.
// Verringert man diesen Wert, wird das Pulsieren ebenfalls schneller.
delay(25);
/*
Wenn die Helligkeit den Wert 0 oder (||) 255 erreicht hat,
wechselt der Wert für die "Fadeschritte“ von positiv zu negativ bzw. umgekehrt.
Die LED wird zunächst bei jedem Durchlauf des loop-Teils immer ein bisschen heller.
Allerdings ist irgendwann der Maximalwert für die PWM-Ausgabe mit dem Wert 255 erreicht.
Die LED soll dann wieder Schritt für Schritt dunkler werden.
Also wird dem Wert für die "Fadeschritte“
an dieser Stelle ein Minuszeichen davor gesetzt.
Solange der Wert kleiner als 255 ist, wird zu "Fadeschritte" jeweils 5 addiert,
Ist der Wert größer als 255, wird solange 5 rückwärts gezählt, bis der Wert 0 erreicht ist.
*/
if (Helligkeit == 0 || Helligkeit == 255)
{
Fadeschritte = -Fadeschritte;
}
} // Mit dieser letzten Klammer wird der loop-Teil geschlossen.