Soy bastante inexperto con la electrónica en general, por lo que podría haber imprecisiones en esto.
Tomé la placa de circuito de una vieja caja de cielo (cable/satélite) que tenía algunos botones. Tiene un cable plano de 8 pines conectado y 9 botones. Los únicos otros componentes en el tablero son 3 diodos.
Es un diseño bastante simple, así que pude usar mi multímetro y resolver este diagrama.
Ahora, estaba planeando conectar esto a un microcontrolador, un pi pico para ser específico. Sin embargo, no puedo averiguar cómo puedo leer qué botón se ha presionado. (aparte de IO7 y IO8)
Estaba pensando que podría suministrar 3.3v en cada una de las entradas de diodo, pero si lo hago, varios botones pueden activar la misma salida IO.
Mi siguiente pensamiento fue que podría suministrar cada uno de los diodos de entrada uno a la vez, escaneando las salidas antes de pasar a la siguiente entrada. Me imagino que puedo hacer esto en el controlador, pero no estaba seguro de si esa es la mejor manera de hacerlo.
¿Es este un tipo común de configuración de botones? Estoy feliz de buscar un poco más en Google si alguien me puede dar las palabras clave correctas.
Esa es una matriz de botones que se lee de forma multiplexada. Disposición muy común, casi todo lo que tiene muchos botones, como el teclado de su PC o el control remoto del televisor, tiene una matriz similar.
El procedimiento general es que los botones están dispuestos para conectar ciertas "filas" y "columnas" de la matriz cuando se presionan. Una sola fila o columna se activa a la vez para la lectura, por lo que en base a que hay tres diodos, hay tres filas o tres columnas dependiendo de cómo lea la matriz, y por lo tanto es posible un tercio de los botones en un tiempo, ya sea que estén presionados o no.
Sería mucho más fácil de entender si reorganiza el esquema de esta manera:
simular este circuito : esquema creado con CircuitLab
Ahora puede ver que al aplicar voltaje a IO1 puede leer el estado de los botones S6, S7 y S8 en los cables IO4, IO6 e IO5 respectivamente. Lo mismo ocurre con otros cables, excepto que solo hay 2 botones para leer en lugar de 3 cuando IO3 está activo.
Tenga en cuenta que este es un esquema un tanto de mala calidad, porque es posible obtener un resultado incorrecto si se presionan varios botones simultáneamente. La matriz de diodos correctamente dispuesta permite una lectura inequívoca de tantos botones presionados simultáneamente como sea posible.
También tenga en cuenta que puede puentear IO7, IO8 a D2, IO6. De esta manera podrá leer los 9 botones con los mismos 6 cables.
Conecte IO4, 5 y 6 a través de resistencias a tierra. Mantenga solo uno de IO1, 2 o 3 alto y lea IO4, 5 y 6.
Si observa su esquema, debería ver cómo, para todas las combinaciones posibles de pulsaciones de botones, puede escanear a través de IO1, 2 y 3, y leer el estado del teclado.
Sin importancia