Botón de 2 pines conectado que cambia aleatoriamente de LOW a HIGH

2

Tengo este botón pulsador de 2 pines y ahora estoy tratando de leer su estado. Básicamente quiero encender y apagar un LED.

Mi tablero es un Arduino Uno y el botón está conectado a GND y Digital Pin 2 . También el pin 2 está configurado como INPUT_PULLUP . Seguí las instrucciones en este tutorial.

Mis problemas:

  • digitalRead(2) devuelve aleatoriamente LOW y HIGH
  • Parece que no hay una resistencia de pullup configurada aunque está definitivamente en el código
  • Cuando tomo el botón en mis manos y toco algunas partes, parece funcionar.

Preguntas:

  • El botón está conectado a GND. También hay otros componentes conectados a la misma GND. ¿Podría haber demasiada conexión con GND?
  • ¿Tienes alguna idea de lo que hice mal?
  • ¿Podría mi Arduino estar roto / frito?

Actualizar:

Aquí es la hoja de datos del botón He comprado.

    
pregunta Julian Hollmann

3 respuestas

0

El problema puede estar en el propio interruptor, ya que no está diseñado para la conmutación de baja corriente que necesita su circuito, y está diseñado para conmutar voltajes y corrientes bastante altos.

En el uso normal, estos tipos de interruptores generan arcos cuando los contactos se abren y / o rebotan, y esos arcos eliminan las películas no conductoras que, de lo contrario, pueden acumularse en los contactos y causar problemas.

El problema es que el bajo voltaje y los niveles de corriente que está intentando cambiar simplemente no tienen la potencia necesaria para despegar toda la película no conductora que se puede acumular en los contactos, lo que lo dejará con intermitentes contactos y los problemas que estás experimentando.

En lugar de presionar el interruptor, intente cortocircuitar los pines en el Arduino con un clip o algo así y, si obtiene una operación confiable, el interruptor probablemente será el problema.

    
respondido por el EM Fields
1

¡Ese botón no tendrá una resistencia de pull-up interna (está clasificado para 250VAC con una ruptura de 1500V AC!) - necesita una resistencia de pull-up externa y también tome nota de lo que dice EM_Fields sobre el voltaje y la corriente - pruébelo con un pull-up de 1k ohm, pero no espere milagros y espere que un fuerte rebote de contacto cause múltiples falsos disparadores.

    
respondido por el Andy aka
0

Si parece que el pull-up interno no funciona, ¿qué sucede si agrega uno externo? Tal vez ese sea el mejor diseño: use una resistencia de pull-up externa. Tu nota "Cuando tomo el botón en mis manos y toco algunas partes, parece funcionar" me hace pensar que no hay ningún pull-up en absoluto, y la entrada está flotando.

    
respondido por el John Honniball

Lea otras preguntas en las etiquetas