Quiero registrar las pulsaciones de botones a través de un programa de Python que escribí con una Raspberry Pi 3. Mis botones están conectados tanto a tierra como a los pines GPIO 22 y 27. Sin embargo, cuando se presionan los botones, no está dando un verdadero verdadero pero cambia muy rápido, así que obtengo algo como 'Verdadero, Falso, Verdadero, Verdadero, Falso, Falso, Falso, Verdadero, Verdadero' cuando debería ser todo verdadero.
Sin embargo, cuando no se presiona el botón, da un falso constante. He revisado todos los cables y probado con y sin resistencias (10k y 4.7k), pero dan el mismo resultado.
¿Hay alguna forma de solucionar este problema? También probé con diferentes interruptores, pero todos dan el mismo resultado. Son cables con cables de puente estándar.
Esto es lo que se llama rebote . Debe esperar que cualquier interruptor mecánico haga eso por hasta unos pocos 10s de ms en conexión y desconexión.
Para lidiar con esto, realiza la eliminación de rebotes en el software. Por lo general, eso significa que no considera válido un nuevo estado de botón hasta que haya visto ese estado continuamente durante aproximadamente 50 ms.
Si el rebote persiste mientras mantiene presionado el botón, entonces el botón está defectuoso. Reemplázalo.
La mayoría de los tutoriales dicen que debe tener solo dos cables conectados al botón: uno desde el pin GPIO al botón y otro desde el botón a tierra. Esto no funcionó para mí como debería. Todavía tengo el 'cable GPIO' conectado al botón, pero al lado hay una resistencia de 10k conectada a tierra. El otro sonido del botón lo conecté a 3.3v. ¡Asegúrese de no usar nada por encima de 3.3v, porque los pines GPIO no son capaces de manejar nada por encima de 3.3v!
CL.
Neil_ES
Tony Estuardo EE75