Ayuda para un novato

Buenas tardes, soy nuevo programando en el lenguaje de arduino, asi como tambien nuevo en el foro. Mucho agradeceria ayuda con este codigo:

void setup(){
Serial.begin(9600);
}

void loop(){
while (Serial.available()){

if (Serial.find("Estado") == true){
delay(1000);
Serial.println("Segun se encuentre!!!");
Serial.flush();
}

else if (Serial.find("Prender") == true){
delay(1000);
Serial.println("Sistema Activado");
Serial.flush();
}

else if (Serial.find("Apagar") == true){
delay(1000);
Serial.println("Sistema Desactivado");
Serial.flush();
}

else{
Serial.println("Comando Invalido");
Serial.flush();
}

}

}
Lo que pretendo hacer es escribir palabras claves en el monitor serial (Estado, Prender y Apagar) pero este me arroja solo el mensaje en "Estado"; los demas me dan "Comando Invalido". De ante mano agradezco su ayuda.

Buenas!

Yo pondria una variable

String recibido; //por ejemplo

y te quedaria algo asi..

while (Serial.available()){          
    recibido=Serial.readString();    
  if (recibido == "Estado"){
    delay(1000);
    Serial.println("Segun se encuentre!!!");  
    Serial.flush();
  }

Lo demas, sigues esto mismo y te tiene que funcionar.

Eso sí, a veces no se puede, pero para la mayoría de estos casos suelo preferir hacer un menú (que sé que ocupa más memoria y a los más puristas no les mola, pero para este tipo de casos, que te sobra por todos lados... un menú del tipo:

int opcion;

Serial.println ("Escoja opción");
Serial.println ("1--> Estado");
Serial.println ("2--> Prender");
Serial.println ("3--> Apagar");

while (!Serial.available(){}
opcion=Serial.read();

switch (opcion){
  case 49: //Estado. 49 es "1" en ASCII
        break;
  case 50://Prender
        break;
.
.
.
etc...
}

Aquí pulsando 1, 2, 3, etc.. eliges la opcion que quieras y tendras menos errores por haber escrito por ejemplo "Encender" en vez de "Prender" o que se te haya colado alguna mayúscula, etc...

Saludos,