buenas noches compañeros, tengo una duda y espero me puedan orientar, el problema es el siguiente:
Recibo via bluetooth un codigo de 4 numeros por ejemplo: 1820, es recibido y almacenado en un arreglo de caracteres como se muestra abajo, sin embargo me interesa poder sepaarar los dos primero numeros y los dos ultimos para asi establecer una condicion que dependera de dos codigos.
Muchas gracias a ambos por su respuestas y efectivamente ambos tenían razón en las observaciones, ya corregí los errores de inicio y sigo probando únicamente con el monitor serie , por ello aun no incluyo los pines de transmisión de bluetooth, sin embargo a la brevedad publicare como queda el código final.
El problema en relación a la condición lo resolví utilizando el operador && ,
if(cadena[0]=='1'&& cadena[1]=='2'){
if(cadena[2]=='0'&& cadena[3]=='5'){
Serial.println("prende led 2 por 5 min");
digitalWrite(5,HIGH);
delay(300000);
digitalWrite(5,LOW);
}
if(cadena[2]=='1'&& cadena[3]=='0'){
Serial.println("prende led 2 por 10 min");
digitalWrite(5,HIGH);
delay(600000);
digitalWrite(5,LOW);
}
if(cadena[2]=='1'&& cadena[3]=='0'){
Serial.println("prende led 2 por 15 min");
digitalWrite(5,HIGH);
delay(600000);
digitalWrite(5,LOW);
}
if(cadena[2]=='1'&& cadena[3]=='0'){
Serial.println("prende led 2 por 20 min");
digitalWrite(5,HIGH);
delay(600000);
digitalWrite(5,LOW);
}
tan simple como eso jejeje
Por otro lado he revisado la funcion millis() pero siendo honesto sigo sin poder materializar la idea dentro de mi código. Por ejemplo para la ejecucion durante 20 minutos mi idea es esta:
if(cadena[0]=='1'&& cadena[1]=='2'){
if(cadena[2]=='1'&& cadena[3]=='0'){
Serial.println("prende led 2 por 20 min");
tiempo1=millis();
digitalWrite(5,HIGH);
tiempo2=millis();
if(tiempo2>(tiempo1 +1200000)){
digitalWrite(5,LOW);
}
}}
Podrían por favor echarme una mano con eso, en verdad se los agradecería.
Mmuchas gracias por la respuesta Kike_GL, aunque no logro entender la parte de:
" borras algo para no repetir este bloque"
si copio tal como muestras el código a la hora de compilar me arroja un error"empty character constant", podrías comentarme a que te refieres con esa parte, agradezco enormemente tu atención
Muchas gracias por su ayuda , finalmente logré resolver el problema, se los agradezco en verdad , cuando finalice totalmente el codigo lo subiré para que puedan checarlo si alguien llega a tener alguna duda similar.