Farbverlauf programmieren?
Wie programmiert man ein Farbverlauf auf dem Arduino?(RGB Lampe)
2 Antworten
Vom Beitragsersteller als hilfreich ausgezeichnet
![](https://images.gutefrage.net/media/user/Juliean564/1640722017662_nmmslarge__203_402_211_211_b947aebfab75dec5bb9a54c79f45ab66.jpg?v=1640722018000)
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);
}
}
Woher ich das weiß:Hobby – Ich habe schon mit 4 einen Computer bekommen.
![](https://images.gutefrage.net/media/default/user/7_nmmslarge.png?v=1438863662000)
![](https://images.gutefrage.net/media/default/user/7_nmmslarge.png?v=1438863662000)
![](https://images.gutefrage.net/media/user/FaTech/1708715131049_nmmslarge__0_0_500_500_77a0f43d5804c908f40c8a1b0c260400.png?v=1708715131000)
FaTech
02.03.2022, 16:56
@Bestimmtnichtso
-- ist das selbe wie variable -1 und ++ ist das selbe, wie variable+1
![](https://images.gutefrage.net/media/user/Bestimmtnichtso/1688171859688_nmmslarge__0_76_1053_1053_a8ef69ba680566083254fff330b58fa2.png?v=1688171860000)
@ZaoDaDong
Ist eine Klassenarbeitsaufgabe.Ich kann nichts dafür,aber hab es selbst geschafft...
![](https://images.gutefrage.net/media/user/Juliean564/1640722017662_nmmslarge__203_402_211_211_b947aebfab75dec5bb9a54c79f45ab66.jpg?v=1640722018000)
![](https://images.gutefrage.net/media/user/iEdik/1554103614131_nmmslarge__135_0_1080_1080_0e76a62ad1d9fed2d51f2896b9114006.jpg?v=1554103614000)
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Computer, Technik, Arduino
Hallo,
da gibt es haufenweise RGB Codeschnipsel im Netz wenn man danach sucht..
google mal nach: Adafruit RGB Wheel
Wir hatten g--,b++,g++,for,boolan etc. noch nicht.Geht es einfacher?