Der Code:
// Konstanten
const int rotPin = 10; // Rote LED an Pin 10 angeschlossen
const int gruenPin = 9; // Gruene LED an Pin 9 angeschlossen
const int blauPin = 11; // Blaue LED an Pin 11 angeschlossen
// Variablen
int r = 0; // Variable Rot für die Farbmischung
int g = 0; // Variable Grün für die Farbmischung
int b = 0; // Variable Blau für die Farbmischung
int fadeZeit = 8; // Ein höherer Wert verlangsamt den Farbwechsel
boolean ersterLauf = true; // Wird benötigt um den ersten Durchlauf des Programms zu erkennen
void setup()
{
pinMode(rotPin, OUTPUT); // Setzt LEDPin als Ausgang
pinMode(gruenPin, OUTPUT); // Setzt LEDPin als Ausgang
pinMode(blauPin, OUTPUT); // Setzt LEDPin als Ausgang
}
void loop()
{
// Fragt ab, ob das der erste Durchlauf des Programms ist.
// Wenn ja, wird die blaue LED hochgefahren
if (ersterLauf == true)
{
// Start mit Blau
for (b = 0; b < 255; b++)
{
analogWrite(blauPin, b);
delay(fadeZeit);
}
}
ersterLauf = false; // Speichert, dass der erste Durchlauf volzogen ist
// Wechsel von Blau zu Lila
for (r = 0; r < 255; r++)
{
analogWrite(rotPin, r);
delay(fadeZeit);
}
// Wechsel von Lila zu Rot
for (b = 255; b > 0; b--)
{
analogWrite(blauPin, b);
delay(fadeZeit);
}
// Wechsel von Rot zu Gelb
for (g = 0; g < 255; g++)
{
analogWrite(gruenPin, g);
delay(fadeZeit);
}
// Wechsel von Gelb zu Gruen
for (r = 255; r > 0; r--)
{
analogWrite(rotPin, r);
delay(fadeZeit);
}
// Wechsel von Gruen zu Petrol
for (b = 0; b < 255; b++)
{
analogWrite(blauPin, b);
delay(fadeZeit);
}
// Wechsel von Petrol zu Blau
for (g = 255; g > 0; g--)
{
analogWrite(gruenPin, g);
delay(fadeZeit);
}
}