Error en comparación de cadena

Hola, estoy tratando de enviarle comando al arduino vía serial, trato de que este los interprete y ejecute una acción en base al comando que le envió.

El problema que estoy teniendo es en la comparación de la cadena que envió por serial y el comando que yo tengo almacenado.

Ejemplo, si le envió "encender", que el arduino encienda un led.

Este es mi código:

String inputString = "";         
boolean stringComplete = false;  


void setup()
{
  Serial.begin(9600);      
  inputString.reserve(200);  
}





void loop() 
{


  if (stringComplete) 
  {
    
    Serial.println("Recibido: " + inputString);
    
    if(inputString  == "encender")
    {
        Serial.println("encendiendo led");
    }
    
    inputString = "";             
    stringComplete = false;      
  }
  
  
}
















void serialEvent()
{
  while (Serial.available())
  {
    char inChar = (char)Serial.read(); 
    inputString += inChar;
    if (inChar == '\n')
    {
      stringComplete = true;
    } 
  }
}

No se en que me estaré equivocando, pero desde ya muchas gracias.

Hola,

Creo que te estás complicando muchísimo. Usa este codigo

String inputString = "";         
boolean encontrado = false;  


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

void loop() 
{
  
  while(Serial.available()>0){
      encontrado=Serial.find("encender");
       if (encontrado==true){
           Serial.println("encendiendo led"); 
       }

  }
}

Saludos