Buenos días,
Estoy trabajando en un proyecto en donde requiero que al ingresar el valor "1" en el Serial Monitor inicie una secuencia de IF que permite realizar el conteo de veces que los sensores cumplan unas condiciones y al ingresar el valor "0" concluya la secuencia IF. Me he topado con dos escenarios:
- El primero me permite iniciar la secuencia IF y realiza el conteo cada vez que los sensores detecten algo, pero no me acepta el valor "0" en el Serial Monitor para terminar la secuencia.
- El segundo tambien me permite iniciar la secuencia IF, pero solo deja que los sensores detecten algo una sola vez y si puedo salir de la secuencia IF al ingresar el valor "0" en el Serial Monitor.
Podrian apoyarme revisando mi codigo para ver si existe algun problema:
(codigo del primer escenario)
#define beginled 13
int count_a = 0;
int count_b = 0;
int count;
void setup() {
Serial.begin (9600);
pinMode(beginled, OUTPUT);
Serial.println("Ingrese 1 para iniciar.");
}
void loop() {
while (Serial.available() == 0){
}
if (Serial.available() > 0){
input = Serial.read();
digitalWrite(13, HIGH);
Serial.println("Ingrese 0 para finalizar.");
while (input == '1'){
delay(3000);
detection();
}
}
else {
Serial.print("Total de unidades ingresadas: ");
count = count_a + count_b;
Serial.println(count);
delay (5000);
digitalWrite(13, LOW);
Serial.println("Ingrese 1 para iniciar.");
}
}
void detection() {
//Secuencia IF/else if/ else
}
Agradecere bastante su pronta ayuda.