Buen día estoy trabajando en un contador de personas y tengo problemas con el conteo descendente, cuando me cuenta hasta 10 en modo ascendente y luego quiero descender a 9 me marca 90, 80,70 , como puedo solucionar esto.
void loop() {
valor2 = digitalRead(pin2); // Lee el valor del pin2 y se lo asigna a valor2. (Puede ser 0 o 1)
valor12 = digitalRead(pin12); // Lee el valor del pin12 y se lo asigna a valor12. (Puede ser 0 o 1)
if (valor2 == HIGH && valor12 == LOW && pulsadores == "")
{
pulsadores="saliendo";
}
if (valor2 == LOW && valor12 == LOW && pulsadores == "saliendo")
{
pulsadores="saliendo_mitad";
}
if (valor2 == LOW && valor12 == HIGH && pulsadores == "saliendo_mitad")
{
pulsadores="casi_salio";
}
if (valor2 == HIGH && valor12 == HIGH && pulsadores == "casi_salio")
{
pulsadores="";
cuenta=cuenta-1;
lcd.setCursor(5, 0);
lcd.print(cuenta);
}
if (valor2 == LOW && valor12 == HIGH && pulsadores == "")
{
pulsadores="entrando";
}
if (valor2 == LOW && valor12 == LOW && pulsadores == "entrando")
{
pulsadores="entrando_mitad";
}
if (valor2 == HIGH && valor12 == LOW && pulsadores == "entrando_mitad")
{
pulsadores="casi_entro";
}
if (valor2 == HIGH&& valor12 == HIGH && pulsadores == "casi_entro")
{
pulsadores="";
cuenta=cuenta+1;
lcd.setCursor(5, 0);
lcd.print(cuenta);
}
lcd.setCursor(1, 1);
lcd.print(pulsadores);
delay (500);
}