Tengo un controlador que hice con el interruptor SPST (el tipo con el tipo de "cubierta de misiles") y botones momentáneos (por lo que los que normalmente están cerrados, hasta que los presionas, y una vez que se sueltan, vuelven al modo cerrado). posición). La matriz es un 7x6 usando pines digitales.
Todo funciona bien, siempre que los presione uno por uno, o active los interruptores uno por uno. pero si comienzo a tener los interruptores habilitados, como 3 o 4 de ellos en la posición abierta; y presiono un botón; En lugar de obtener solo el valor del botón presionado, disparo todos los botones que están en la misma columna / fila del botón presionado.
Entiendo que no debo usar los interruptores de palanca SPST para estos casos; y solo use los botones, pero estoy usando este artilugio, para jugar a juegos de simulación de vuelo, que requieren algunos interruptores para permanecer encendido o apagado (como las líneas de combustible del motor, luces y demás; que requieren, por motivos de realismo, estar encendidos o encendidos). fuera de posición, por lo que no puedo usar los interruptores de palanca momentáneos).
Mientras leía, descubrí acerca de fantasmas y enmascaramiento; y que se usa un diodo para solucionar problemas con varios botones presionados, aunque no estoy seguro de que esto se aplique al SPST; así que antes de desmontar el controlador, quiero entender mejor cuál es el problema que estoy experimentando.
Mi hardware es bastante simple: varios conmutadores y SPST conectados en una matriz de 7x6; que va a un teensy 3.1 (usando todos los GPIO digitales, no los analógicos). Puedo publicar el boceto si es necesario; es una versión ligeramente modificada de este tutorial: enlace