pilotaggio LED da seriale

Buongiorno ragazzi,
ho un problema con un codice semplice di Arduino.
Il codice è il seguente:

int led = 9;

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

void loop(){
	
	if(Serial.available()>0){ 
	
	int comando = Serial.read();
	
	if(comando == 'a' || comando == 's'){ 
		if(comando == 'a'){
			digitalWrite(led, HIGH);
			Serial.println("LED acceso");
		}
		else if(comando == 's'){ 
			digitalWrite(led, LOW);
			Serial.println("LED spento");
		} 	
		}else{	
			Serial.println("Comando non riconosciuto"); 
			}
	}
	delay(10);
}

In pratica voglio accendere e spegnere un led scrivendo "a" oppure "s".

Il problema è che quando digito una delle due lettere il led funziona (si accende e si spegne), ma esce anche la scritta "Comando non riconosciuto".

Se invece scrivo una lettera diversa da "a" o "s" esce due volte la scritta "Comando non riconosciuto", non riesco a capire come mai.

Potreste aiutarmi?

Grazie mille,
Antonio

senti anche il ritorno a capo del monitor seriale, che chiude la riga trasmessa

E come faccio ad evitarlo?

Nell' ide arduino, quando apri il monitor seriale,hai in basso a destra la possibilità di scegliere se aggiungere il newline nella trasmissione o non aggiungerlo.

O in alternativa nel codice si ignorano i fineriga (byte di valore 13 e 10 corrispondenti ai caratteri '\r' '\n').

Piuttosto che l'OR iniziale, farei una struttura tutta if/else:
if 'a' Accendi
else if 's' Spegni
else if '\r' oppure '\n' Ignora
else scrivi "Non riconosciuto".