Farbverlauf programmieren?

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

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.
Bestimmtnichtso 
Fragesteller
 02.03.2022, 16:48

Wir hatten g--,b++,g++,for,boolan etc. noch nicht.Geht es einfacher?

0
Bestimmtnichtso 
Fragesteller
 02.03.2022, 17:05
@ZaoDaDong

Ist eine Klassenarbeitsaufgabe.Ich kann nichts dafür,aber hab es selbst geschafft...

0
ZaoDaDong  02.03.2022, 16:50

Ich hoffe, das hast du jetzt nicht extra für diese Frage erstellt.

0

Hallo,

da gibt es haufenweise RGB Codeschnipsel im Netz wenn man danach sucht..

google mal nach: Adafruit RGB Wheel