Tengo el botón del timbre de mi casa conectado a una placa de desarrollo GHI EMX . El software evalúa la hora del día y determina si el timbre debe sonar o no.
Nota al margen: Esto se implementó como una forma de lidiar con las bromas ding-dong-ditch que estaba recibiendo.
Todo esto funciona muy bien, excepto por un problema, el cable conectado a la placa EMX mide alrededor de 50 pies (~ 15 metros) de largo y genera suficiente interferencia para que la placa piense que alguien ha presionado el botón y, por lo tanto, mi timbre suena a intervalos aleatorios durante todo el proceso. El dia. Tanto mi esposa como mi perro no aprecian esto (pero los niños piensan que es muy divertido).
Intenté solucionar el problema siguiendo los consejos que se encuentran en este artículo e implementando el siguiente circuito:
Esto no solucionó el problema, pero encontré que poner una resistencia de 3k en 1k y reemplazar el capacitor de .01uF por 40uF funcionó un poco mejor, pero cualquier cosa mayor a 3k causa un retraso notable al presionar el botón antes de suena la campana. La diferencia para mi circuito es que la placa funciona con 3.3V en lugar de 5V (lo que supongo empeora el problema) y en lugar de conectarse a tierra, el interruptor completa el circuito (es decir, dos cables van entre el microcontrolador y el interruptor).
El cable que corre entre el interruptor y el microcontrolador es un cable de timbre estándar que no está blindado ni retorcido. Reemplazar el cable del timbre con cable blindado, desafortunadamente, no es una opción, ya que eso requeriría que corte el panel de yeso.
He visto la siguiente pregunta aquí , pero parece estar tratando con un ADC que podría ser un poco diferente de mi problema. Cualquier ayuda sería muy apreciada.
Actualización
Después de leer más de la documentación , parece que aunque el microcontrolador funciona con 3.3V, es tolerante a 5V en sus pines de E / S. Puedo ajustarme a un valor de resistencia más alto si uso 5V, pero ¿esto ayudará en algo?