Hice una aplicación móvil simple para enviar LED_ON o LED_OFF cuando se hace clic en un botón. En el código a continuación, el bucle while no se completa completamente durante la ejecución, pero el controlador va al void loop () y continúa desde allí.
char command;
String my_final="LED_OFF";
#define led 9
void setup(){
Serial.begin(9600);
pinMode(led, OUTPUT);
Serial.println("ready");
}
void loop(){
if(Serial.available() > 0){
my_final = "";
while(Serial.available() > 0){
command = (byte)Serial.read();
my_final += command;
Serial.println("test");
}
Serial.println(my_final);
}
if(my_final == "LED_ON"){
Serial.println(my_final);
analogWrite(led, 255);
my_final == "LED_ON";
}
if(my_final == "LED_OFF"){
Serial.println(my_final);
analogWrite(led, 0);
my_final == "LED_OFF";
}
}
El problema principal ocurre en my_final=""
, ya que tengo que hacer esto para aceptar nuevas entradas desde el bluetooth. Parece que no puedo encontrar una solución a este problema.
EDIT
Esto es lo que estoy recibiendo en el monitor de serie. test L test E test D test _ test O test N
.