[SOLUCIONADO] while{} en void loop()

A ver, creo entender que tienes que contar los dientes mientras que otro pin esté en "alto".

Bueno, sea así o que solamente tienes que contar los dientes:

Tienes que usar una variable que se ponga a "1" cuando ya has contado el diente (y no contar hasta que esté otra vez en "0") y que se ponga a "0" cuando no haya diente; de esta forma se cuenta el diente una sola vez.

Esta variable la tienes que actualizar (1 - 0 -1 - 0, ...) tanto cuentas como si no. Si no quieres contar si hay otra condición un "if" y a correr.

No puedes estar al albur de lo que dure el loop (que, ciertamente, dura poquísimo para tus necesidades -estás hablando de poco más de un diente al segundo y el (tu) loop durará microsegundos).

Saludos.

Moderador: No repitas lo que se lee arriba