Inviare una stringa da seriale

Prova con questo:

int led=101;
int a;
const unsigned long TimeOut = 10;                    // timeout 10 ms
unsigned long T = 0;                                 // timer

String SerRx;                                        // buffer ricezione

void setup() {
pinMode(led, OUTPUT);
Serial.begin(9600);
}

void loop() {

SerRx = "";                                     // azzera buffer ricezione

  T = millis();                                   // timer partito

  while (millis() - T < TimeOut) {                // attesa timeout
    while (Serial.available() > 0) {              // ricezione da Serial Monitor
      SerRx += char(Serial.read());               // aggiungi carattere al buffer
      T = millis();                               // reset timer 
    }
  }

  SerRx.trim();                                   // elimina spazi iniziali e finali
  SerRx.toUpperCase();                            // converti in maiuscolo

  if (SerRx == "ON") digitalWrite(led, HIGH);
  else if (SerRx == "OFF") digitalWrite(led, LOW);
  else if (SerRx == "XXX") <altra azione>;
  else if (SerRx == "ABC") <altra azione>;


}

Ettore Massimo Albani