Microinterruptor de Raspberry Pi kw11 3z

0

Estoy intentando obtener un microinterruptor de palanca que funcione con mi Raspberry pi GPIO. Este es el interruptor de palanca en cuestión.

EnelinterruptortieneelnúmerodemodeloenunladoKW11-3Zyluegoenelotroladodice5a250vac.

LoheconectadoaCOMaGNDyNOaGPIO18.Loheprobadoconunsimplebotónyestofuncionacomoseespera.ConectandoaGNDyGPIO18.Porlotanto,séqueelcódigodePythonescorrecto.

Lapartequenoséescorrectaeselpropiointerruptoryelcableado.

Aquíhayalgunasimágenesqueayudaránamostrarcómotengolascosasactualmente.

Puedeverquetengounaplacadepruebaconuninterruptortáctilaquíyestofuncionacomoseesperaba.Cadavezquesepresionaelbotón,lasalidaenelterminales"Botón presionado".

EjecutandoelmismocódigodePythonquehecambiadoporelmicrointerruptorconelusodelosmismospinesenlaframbuesapideGNDyGPIO18,sinembargo,cadavezquesepresionalapalancanosemuestranadaenelterminal,nohayecoenel"Botón presionado". / p>

¿Alguien por favor puede avisar que estoy haciendo mal aquí? Sospecho que tengo una configuración incorrecta de los cables ya que el código es correcto.

    
pregunta Phil Cook

2 respuestas

2

Su interruptor de palanca se llama interruptor de tiro doble de un polo, SPDT. Tal como se sienta, medirá muy poca resistencia entre COM y NC. Entre COM y NO, debe medir una resistencia muy alta (como resistencia infinita o fuera de escala). Y entre NO y NC, debe medir una resistencia muy alta.

simular este circuito : esquema creado usando CircuitLab Para el esquema que se muestra, su GPIO leerá "bajo" (lógica 0) cuando la palanca de SW2 no esté activada, y se pondrá "alto" (lógica 1) cuando se presione la palanca. Tenga en cuenta que cualquier interruptor cuando cambie de estado, rebotará entre los dos estados lógicos, por un número indeterminado de rebotes, antes de establecerse en su próximo estado. Este rebote puede tomar muchos milisegundos antes de establecerse. Entonces, si desea contar las pulsaciones de botones, puede contar muchos rebotes en una sola pulsación.
La resistencia R1 es necesaria para la fiabilidad. Aquí se denomina resistencia "pull-up", porque aplica un nivel lógico de 3.3v al pin GPIO cuando se presiona el botón. Su valor no es crítico, pero como se muestra, se extraen 33 microamperios de la fuente de alimentación de 3.3v hasta que se presiona el botón. Así que no quieres que R1 sea demasiado pequeño en valor.
Lo ha conectado de manera alternativa, con GPIO yendo a la terminal "NO", como en SW3. El resistor pull-up debe estar conectado a este terminal. Ahora, un empuje arrojará una lógica baja, mientras que un empuje dará una lógica alta. Esto también funciona, pero use esa resistencia de pull-up para que sin presión, GPIO vea un "alto". Esto puede ser un circuito más seguro. Si tuviera que reprogramar un pin GPIO para que sea una salida en lugar de una entrada, su salida verá una resistencia de 10 K hasta que se presione el botón. Una vez que se presiona la palanca, el GPIO vería un cortocircuito a tierra y podría dañar el controlador dentro de la CPU del PI. GPIO generalmente se enciende como "entradas" en lugar de salida. Asegúrese de que su GPIO esté configurado como "entrada" al leer el estado del interruptor.

    
respondido por el glen_geek
1

Asegúrese de conectar una resistencia de pull-up (aproximadamente 3.3k) desde su pin GPIO a + 3.3V para que su entrada no flote cuando no se presiona el interruptor. Aparte de eso, debes ser bueno.

    
respondido por el calcium3000

Lea otras preguntas en las etiquetas