Enviar comandos para controlar Arduino

Cuando hacemos interfases para Arduino queremos poner algo más significativo que un carácter para comandar el Hardware, nos gustaría enviarle un comando.
Existe una instrucción de la librería Stream diseñada para esto, readString.

String comando1 = "PRENDER"; //Comando encender LED.
String comando2 = "APAGAR"; //Segundo comando, apagar.

int led = 13;

void setup(){
 Serial.begin(9600);
 Serial.println("Escriba PRENDER o APAGAR para comandar el LED");
 pinMode(led, OUTPUT);
}

void loop(){
 if(Serial.available())
 {
 String comando = Serial.readString();
 
 if(comando == comando1){
 digitalWrite(led, HIGH);
 Serial.println("LED encendido");
 }
 
 if(comando == comando2){
 digitalWrite(led, LOW);
 Serial.println("LED apagado");
 }
 }
}

Luego podremos enviar instrucciones más sencillas de recordar.

consola serie