Estoy trabajando en un proyecto que incluye una matriz de interruptores de escaneo. También incluye un joystick con pulsador integrado. No tengo pines IO en el micro, pero hay espacios en mi matriz de interruptores, por lo que me gustaría integrar el botón pulsador en la matriz. Sin embargo, el botón está permanentemente conectado internamente al pin de tierra del joystick.
Estoy bastante seguro de que puedo usar un transistor NPN para conectar la línea de señal del botón a través de los pines de la matriz como lo haría con un botón normal, pero quiero asegurarme de que no me estoy perdiendo algo importante.
Esbocé algo que creo que podría funcionar. R3 es la resistencia pull-up interna en el microcontrolador. Para los otros interruptores en la matriz, Q1 sería reemplazado por un interruptor NO con un diodo en serie conectado entre tierra y la salida. Siento que mi circuito propuesto está al revés y en realidad solo se activará cuando mi botón NO esté presionado, pero creo que solo necesitaría otro transistor para invertir esa señal.
Así es como se ve el circuito para un interruptor normal en la matriz (tenga en cuenta que ninguno de los pines está bloqueado en GND como es el caso del interruptor que ahora estoy tratando de integrar).
El escaneo de matriz funciona al establecer una sola columna baja y el resto está triestablecido. Luego se leen todas las filas. Luego cambia a la siguiente columna y se vuelve a leer.
¿Alguien tiene mejores sugerencias o correcciones?
Si pudiera cambiar su código de escaneo para subir la columna en lugar de bajarla, entonces no necesita hacer nada especial para leer este interruptor. Conecte la entrada de la columna a R2 y lea el interruptor desde la unión de R2 y el interruptor. También querrá habilitar la resistencia pull-up interna en las entradas de columna, en lugar de las entradas de fila.
Si eso no es posible, entonces su circuito debería funcionar. Asegúrese de hacer tres estados en la columna, en lugar de tirar hacia arriba, de lo contrario, podría polarizar demasiado la unión base-emisor y Q1 podría no gustarle. También podría usar un PNP para Q1, que invertirá la lógica (creo que lo quiere de todos modos). En el caso de PNP también se puede prescindir de R2.
phil escarcha
ben