Licht auf bestimmte Musik !!!

mkl0815:
Ich vermute mal, Dein Problem ist das

if (Serial.available() >= 7)

Damit wird schon aus dem Serial-Puffer gelesen, wenn erst 7 der 8 Channels übertragen wurden. Damit bleibt das 8 Byte im Puffer und wird beim nächsten Durchlauf als erstes Byte also für Channel 1 gelesen. Damit verschiebt sich Deine Sequenz um genau 1 Byte pro Durchlauf.
Ein weiterer Fehler, der sich aktuell zwar nicht auswirkt, aber später Probleme machen kann ist, das Dein Array zu klein ist.
Ein

int incomingByte[7];

Erzeugt ein Array mit 7 Einträgen, nicht mit 8. Eigentlich könntest Du nur von incomingByte[0] bis incomingByte[6] darauf zugreifen. Das Du incomingByte[7] verwendet kannst, liegt einfach nur daran das der Arduino kein Memory-Protection hat. Da der Compiler aber nicht weiss, das Du ein Byte mehr an Speicher verwendest, kann es sein das auf diesem Byte bereits wieder Daten einer anderen Variable im Speicher liegen und Du damit plötzlich deren Wert veränderst, wenn Du ein incomingByte[7]=xxx machst.

Vielen dank !
Nur ich weiß nicht genau wie ich das problem lösen kann und ob man es überhaupt lösen kann....im moment fällt mir noch nichts passendes ein ! -_-
Hättest du da zufällig eine lösung. ?