Interruptores de lectura sin una conexión a tierra común de Arduino

0

Estoy intentando conectar una interfaz de control del volante con un Arduino.

El conector de interfaz tiene 6 pines, A a F .
Estos pines están interconectados con 8 botones, SW1 a SW8 :

simular este circuito : esquema creado usando CircuitLab

Estos botones no tienen una base común, por lo que no puedo conectarlos directamente al Arduino.

¿Cómo puedo relacionarlos con el Arduino para saber qué botón se presiona?

Lo que me vino a la mente es crear una red de resistencias, inyectar +5V en algún lugar y leer un valor analógico que dependería de qué botón se presiona, pero no estoy seguro de cómo hacerlo, o incluso si Es la mejor solución.

    
pregunta Benjamin

1 respuesta

1

Con la esperanza de que solo se presione un botón a la vez, tengo una solución de software basada en el sondeo:

Deje que A esté conectado a Pin1, B esté conectado a Pin2 y así sucesivamente ..

  

Primero configure Pin1 como puerto de salida y todos los demás como entradas. Y fuera   una lógica '1' en Pin1. Lea los valores en Pin2 a Pin6.

     
  • si Pin2 = '1' entonces se presiona SW1 .
  •   
  • si Pin4 = '1' y luego se presiona SW5 .
  •   

Ahora repita los pasos anteriores con Pin2 como puerto de salida y otros como puertos de entrada (Cambie las condiciones en consecuencia).

EDITAR: Como comentó Spehro Pefhany, esto funcionará para hasta dos interruptores presionados simultáneamente.

    
respondido por el nidhin

Lea otras preguntas en las etiquetas