Los cables no hacen contacto / interfieren adecuadamente

3

Quiero registrar las pulsaciones de los botones a través de un programa Python que escribí con una Raspberry Pi 3. Mis botones están conectados tanto a tierra como con los pines GPIO 22 y 27. Sin embargo, cuando se presionan los botones, no está dando un constante Verdadero, pero cambia realmente 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 una constante falsa. He comprobado todos los cables y lo he probado con y sin resistencias (10k y 4.7k), pero dan el mismo resultado.

¿Hay alguna manera de solucionar este problema? También lo probé con diferentes interruptores, pero todos dan el mismo resultado. Son cables con cables de puente estándar.

    
pregunta ItsKasper

2 respuestas

0

La mayoría de los tutoriales dicen que solo debe tener dos cables conectados al botón: uno desde el pin GPIO al botón, y uno 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 que va a tierra. El otro sonido del botón me conecté a 3.3v. ¡Asegúrese de no usar nada sobre 3.3v, porque los pines GPIO no son capaces de manejar nada por encima de 3.3v!

    
respondido por el ItsKasper
3

Esto es lo que se llama rebotar . Debería esperar que cualquier interruptor mecánico haga eso por hasta unos 10s de ms en hacer y romper.

Para solucionar esto, realiza eliminación de rebotes en el software. Por lo general, eso significa que no consideras que un nuevo estado de botón sea válido hasta que hayas visto ese estado continuamente durante aproximadamente 50 ms.

Si el rebote persiste mientras mantiene presionado el botón, entonces el botón está defectuoso. Reemplazarlo.

    
respondido por el Olin Lathrop

Lea otras preguntas en las etiquetas