Pages: [1]   Go Down
Author Topic: Error en comparación de cadena  (Read 190 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 27
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

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:
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.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 10
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola,

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

Code:
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
Logged

Pages: [1]   Go Up
Jump to: