int rot_pin = 7; int gruen_pin = 6; int blau_pin = 5; // common cathode int rot; int gruen; int blau; int field_index = 0; int colors[3]; void setup() { pinMode(rot_pin,OUTPUT); pinMode(gruen_pin,OUTPUT); pinMode(blau_pin,OUTPUT); Serial.begin(19200); Serial.println("(Wie viel Rot?), (Wie viel Gruen?), (Wie viel Blau?)"); } void loop() { if (Serial.available()) { char num = Serial.read(); //Serial.println(num); if (isDigit(num)) { // is ascii between 0 and 9? if(field_index < 3) { colors[field_index] = (colors[field_index] * 10) + (num - '0'); //Serial.println(num); //Serial.println("color so far is : "); //Serial.println(colors[field_index]); //Serial.println("field_index is : "); //Serial.println(field_index); } } else if (num == ',') { //Serial.println("field_index is : "); //Serial.println(field_index); field_index++; } else { rot = colors[0]; gruen = colors[1]; blau = colors[2]; Serial.print("Rot = "); Serial.print(rot); Serial.print(" Gruen = "); Serial.print(gruen); Serial.print(" Blau = "); Serial.println(blau); setColor(rot,gruen,blau); field_index = 0; colors[0] = 0; colors[1] = 0; colors[2] = 0; } } } void setColor(int rot, int gruen, int blau) { analogWrite(rot_pin,rot); analogWrite(gruen_pin,gruen); analogWrite(blau_pin,blau); }