Go Down

Topic: Error en comparación de cadena (Read 214 times) previous topic - next topic

Nahuel1990gchu

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:
Code: [Select]

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.

bettoad

Hola,

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

Code: [Select]

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

Go Up