Описание
Вводим параметры интенсивности свечения трех диодов: красный, зеленый и желтый.

Код
char buffer[18];
int rPin = 2;
int gPin = 3;
int yPin = 4;

void setup()
{
  Serial.begin(9600);
  Serial.flush();
  pinMode(rPin, OUTPUT);
  pinMode(gPin, OUTPUT);
  pinMode(yPin, OUTPUT);
}

void loop()
{
  if (Serial.available() > 0) {
    int index=0;
    delay(100);   // let the buffer fill up
    int numChar = Serial.available();
    if (numChar>15) {
        numChar=15;
    }
    while (numChar--) {
        buffer[index++] = Serial.read();
    }
    splitString(buffer);
  }
}

void splitString(char* data) {
  Serial.print("Data entered: ");
  Serial.println(data);
  char* parameter;
  parameter = strtok (data, " ,");  // split
  while (parameter != NULL) {
      setLED(parameter);
      parameter = strtok (NULL, " ,");
  }
  
  // Clear the text and serial buffers
  for (int x=0; x<16; x++) {
      buffer[x]='\0';
  }
  
  Serial.flush();
}

void setLED(char* data) {
  int Ans = strtol(data+1, NULL, 10); // decimal int
  Ans = constrain(Ans,0,255); // limit
  
  if ((data[0] == 'r') || (data[0] == 'R')) {
      analogWrite(rPin, Ans);
      Serial.print("Red is set to: ");
  }
  if ((data[0] == 'g') || (data[0] == 'G')) {
      analogWrite(gPin, Ans);
      Serial.print("Green is set to: ");
   }
  if ((data[0] == 'y') || (data[0] == 'Y')) {
      analogWrite(yPin, Ans);
      Serial.print("Yellow is set to: ");
  }
  Serial.println(Ans);
}
				

Схема

Пример
r20 g50 y60
Data entered: r20 g50 y60
Red is set to: 20
Green is set to: 50
Yellow is set to: 60