Cableado del interruptor de láminas


9

Abriéndome camino a través de un proyecto de puerta de garaje. Compré algunos de estos, pero me arriesgarán si puedo encontrar una respuesta consistente sobre cómo están conectados a un Rpi.

Mi pensamiento era solo comenzar a conectarlo y darle una oportunidad, aunque estoy preocupado por volar mi pi.

Hay algunos sitios que dicen usar un pull up, algunos dicen usar resistencias múltiples. Algunos lo tienen conectado a través de tierra (lo que tiene menos sentido para mí) que el interruptor de láminas no está alimentado, no tengo idea de cómo funciona el ejemplo de Adafruit.

Asumí que necesitaba energía para lo común, luego, fuera de la publicación NO / NC, necesito capturar el estado en un pin GPIO, pero realmente no entiendo dónde poner el suelo. ¿Se divide como el enlace de resistencia múltiple? ¿Poner el interruptor a tierra engergize todo el circuito de esa manera?

Traté de leer algunas de las publicaciones aquí, pero en realidad no me llevan al por qué. ¿Alguien puede ayudarme a desmitificar esto un poco? Si tiene algún recurso para construir algunos fundamentos, seguramente lo agradecería. Soy programador de profesión, así que estoy fuera de mi elemento.

EDITAR:

Tuve cierta confusión sobre el NO / NC. Creo que eso se ha aclarado un poco, lo estaba mirando desde el punto de vista de mi puerta y no desde el contacto del interruptor. El SW debe estar normalmente abierto.

Tengo tres diagramas aquí y estoy buscando aclaraciones. ¿Cómo se configura el pull up vs pull down con la resistencia? ¿Necesito una resistencia adicional para hacer el 'tirón' y garantizar la seguridad de mi valiente soldado GPIO # 18? ¿Mover la resistencia cambia las propiedades / funcionalidad del circuito?

Diagrama de circuito

¿Necesito una resistencia más pequeña? Ya tenía un 4.7 en el tablero, así que lo usé. ¿Hay alguna manera de calcular una adecuada? No estoy recibiendo un cambio de pin.

Por lo tanto, entiendo que esto es una violación del protocolo SO, hacer una pregunta sobre una pregunta, pero prefiero entender lo que está sucediendo que simplemente aplastar una de sus respuestas y llamarlo hecho.

EDITAR 2:

Cuando obtuve una solución de trabajo, traté de escalarla, pero necesitaba una resistencia en cada línea y la cambié al esquema que se muestra. Esto funciona y no ha explotado mi pi ni se ha prendido fuego.

Estoy usando un menú desplegable de software y rebote.

¿Qué haría mover la energía del interruptor al lado de tierra de la resistencia? ¿Nada?

WireDiagram


1
Sus interruptores tienen contacto normalmente cerrado y normalmente abierto. Esto facilitará su proyecto. Conecte la resistencia de 4.7K al pin y al riel de 3.3V. Tome un cable de tierra y el pin GPIO y conéctelo a los contactos normalmente cerrados (NC) y comunes (COM) del interruptor y el Pin 18 GPIO "bingo" estará bajo hasta que se abra la puerta. El interruptor se abre y la resistencia pull-up de 4.7k "levanta" el pin GPIO a 3.3V para proporcionar la entrada que está buscando. Esta es una opción mucho más segura para proteger el pi de fallas en el cableado.
Bob Fk

Respuestas:


4

Es un cambio Conéctelo como lo haría con cualquier otro interruptor. Lo único que debe decidir es si desea usarlo como normalmente abierto (normalmente se lee como apagado) o normalmente cerrado (normalmente se lee como encendido).

Hay dos formas básicas: conectar común a tierra o conectar común a 3V3. Cualquiera que elija, es más seguro hacer esa conexión a través de una resistencia para evitar el riesgo de un cortocircuito. Algo entre 1-5 mil ohmios debería ser adecuado.

Conecte el otro contacto elegido a un conjunto GPIO como entrada.

Conexión común a tierra y normalmente cerrada a un GPIO

Configure el GPIO para que sea una entrada con el pull-up interno establecido en 3V3

El GPIO normalmente leerá 0 (cuando el interruptor esté apagado). Leerá 1 cuando el interruptor esté encendido.

Conexión común a tierra y normalmente abierta a un GPIO

Configure el GPIO para que sea una entrada con el pull-up interno establecido en 3V3

El GPIO normalmente leerá 1 (cuando el interruptor está apagado). Leerá 0 cuando el interruptor esté encendido.

Conexión común a 3V3 y normalmente cerrada a un GPIO

Configure el GPIO para que sea una entrada con el menú desplegable interno a tierra.

El GPIO normalmente leerá 1 (cuando el interruptor está apagado). Leerá 0 cuando el interruptor esté encendido.

Conexión común a 3V3 y normalmente abierta a un GPIO

Configure el GPIO para que sea una entrada con el menú desplegable interno a tierra.

El GPIO normalmente leerá 0 (cuando el interruptor esté apagado). Leerá 1 cuando el interruptor esté encendido.

En todo lo anterior, la resistencia interna débil (alrededor de 50k) será anulada por la conexión a tierra o 3V3 a través de la resistencia externa más potente (menos resistencia).


Además, los interruptores Reed tienen una tasa de rebote muy alta. Entonces, un poco de rebote sería muy útil en el software.
Piotr Kula

4

Exactamente, solo úsalo como un interruptor. Supongo que cuando la puerta está abierta o cerrada, el Pi quiere saber sobre ella a través de uno de sus pines de entrada. ¿El pi busca un punto bajo? Luego, conecte el interruptor desde el pin de entrada a tierra y tome una resistencia pull-up a la línea + 3.3V. Cuando el interruptor está abierto, es decir, no hay un imán presente, la entrada será lógica alta. Cuando el imán activa el interruptor, el pin de entrada será lógicamente bajo. La resistencia pull-up no es crítica, comience con un 4k7Ohm (amarillo, morado, rojo, X). Mida el pin con el interruptor apagado, debe estar cerca de 3.3V si no prueba una resistencia con menos ohmios. decir 2k2. No vaya por debajo de 1k, eso dibujaría 3.3mA. Si está buscando un subidón, use los contactos normalmente cerrados del interruptor de láminas. No ejecute 3.3V a un interruptor externo. Un corto podría matar su chip regulador Pi.


Gracias por responder, creo que me estoy acercando. Puse algunas ediciones en mi pregunta si quieres echar un vistazo.
Bmo

1

Su diagrama a la izquierda y al medio no sirve para nada GPIO está en cortocircuito y no puede hacer nada.

El diagrama de la derecha es correcto si su programa GPIO pin 18 está buscando una entrada que vaya alto para dar el siguiente paso. Sin embargo, normalmente no conectamos un riel de alimentación, el 3.3V, directamente a una entrada, normalmente lo alimentamos a través de una resistencia de 2.2k más o menos. Pruebe el 4.7k y vea si el pasador va alto. Conectaría la resistencia del pin GPIO 18 al interruptor y haría que el otro lado vaya a la línea de alimentación de 3.3V. No estoy contento de que la línea de 3.3V vaya a la puerta del garaje sin alguna resistencia para limitar la corriente en caso de un cortocircuito en su cableado. Si la resistencia de 4.7k es suficiente para tirar del pin alto, la dividiría en el producto final con 2.2k a cada lado del interruptor en el extremo Pi para proteger la entrada Pi y la fuente de alimentación Pi de cortocircuitos accidentales en el cableado externo al interruptor de la puerta del garaje. La resistencia en su circuito de la derecha se llamaría un pull down y generalmente no se necesitan. Nuevamente, verifique si con un voltímetro o una sonda lógica si la entrada es normalmente baja hasta que el interruptor la empuje hacia arriba y asegúrese de que se acerque a 3V. Soy tu opuesto, bueno con el hardware, no sé nada de programación, intento aprender un poco de Linux.


Gracias de nuevo. He agregado un diagrama de mi configuración actual. ¿Estás diciendo que debería mover el suministro de 3.3V en el lado de tierra de la resistencia? Debería
sentirme

0

Retire la resistencia de 4.7K a tierra. No es necesario Es solo otra carga pequeña e innecesaria en la fuente de alimentación. Su circuito actual funcionará como está, PERO sería mejor tener una resistencia en serie desde el riel de alimentación de 3.3v a cada uno de los interruptores para proteger la fuente de alimentación en caso de que uno de los interruptores se cortocircuite accidentalmente a tierra. ¿Qué tamaño de resistencia? Pruebe un 10k, si funciona, es decir, tiene aproximadamente> 3v en el pin GPIO, genial, si no prueba un 4.7k o un 2.2k o incluso un 1k


0

Solo su circuito de la mano derecha funcionará. Las respuestas que obtuvo arriba son probablemente correctas (intentar describir un circuito en palabras es confuso, incluso para un ingeniero eléctrico).

Siento que estos dan demasiadas opciones. Recomiendo lo siguiente http://elinux.org/RPi_GPIO_Interface_Circuits#Buttons_and_switches

Por razones técnicas relacionadas con la interferencia y la seguridad, es preferible un pull up a Vcc con un interruptor a tierra, pero cualquiera funcionará. (Puede usar un interruptor normalmente abierto o normalmente cerrado).

Si desea estar súper seguro, puede incluir una pequeña resistencia en serie con el cable del GPIO. Esto solo es necesario si conecta un interruptor a un pin configurado como salida. El Pi no se dañará incluso si lo hace, ya que tiene protección interna contra sobrecargas, pero puede afectar el funcionamiento de otros pines.

Los interruptores de láminas PS rebotan como un niño en un trampolín. Necesitará alguna técnica anti-rebote, ya sea en hardware o software.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.