Logica: prova a metterti nei panni dei computer. Invii un comando e lo riconosce, perciò stringa="Accendi".
Come hai intuito, non azzeri la stringa perciò al prossimo carattere ricevuto, stringa sarà "Accendi"+altro carattere.
Non conosco bene classe String di Arduino. Credo che stringa="" dovrebbe azzerarla.
if (stringa=="accendi"){
digitalWrite(13, HIGH);
stringa="";
}
else if(stringa=="spegni"){
digitalWrite(13, LOW);
stringa="";
}
In linea generale poi sarebbe anche bene avere un contatore per evitare di aggiungere caratteri a stringa fino ad esaurire la memoria.
Se non mandi mai un comando valido, stringa diventerà sempre + grande fino ad esaurire la poca memoria di Arduino.
Se contatore>10 per esempio azzeri comunque la stringa.