Mahlzeit,
ich habe ein einfaches Sketch für eine RGB LED geschrieben in dem eigentlich die Farben von Rot auf Blau, weiter auf Grün und dann wieder Rot... und halt immer die Runde, halt mit den Mischfarben.
Die For-Schleife habe ich in einer Funktion, in der die eine Variable von 0 auf 255 und die andere halt entsprechend runter gezählt wird.
Dann wird diese Funktion drei mal aufgerufen.
Leider entspricht das Verhalten der LED gar nicht dem, was ich erwarten würde.
Erst leuchtet sie einmal langsam Rot auf, geht ganz kurz aus, ist dann Blau und geht dann über Lila zu Rot und dann fängt der wechsel wieder an mit Blau, über Lila zu Rot und macht dies die ganze Zeit.
Ich vermute ich habe einen schweren Gedankenfehler, aber ich komme nicht dahinter.
Hier mal der ganze Code:
//Pins Definieren
#define BLUE 3
#define GREEN 5
#define RED 6
void setup() {
pinMode(RED, OUTPUT);
pinMode(GREEN, OUTPUT);
pinMode(BLUE, OUTPUT);
}
// Funktion zum Farben wechseln
void farbwechel(int x,int y){
for(int i = 0; i != 255; i++){
analogWrite(x, i);
analogWrite(y, (255-i));
delay(10);
}
}
void loop() {
farbwechel(BLUE, RED); //Blau wird heller, Rot wird dunkler
farbwechel(GREEN, BLUE); //Grün wird heller, Blau wird dunkler
farbwechel(RED, GREEN); //Rot wird heller, Grün wird dunkler
}
Alles anzeigen
Würde mich freuen, wenn mir da mal wer auf die Sprünge helfen kann.