Estoy aprendiendo sobre diferentes formas de conectar interruptores físicos a microcontroladores y no entiendo cómo funcionan las interfaces de escaneo.
Me dicen en las notas que el software del microcontrolador escanearía cada fila a la vez, en el siguiente patrón de escaneo:
Realmente no entiendo cómo podría funcionar, y cuál es la limitación de que solo puede detectar un máximo de dos cierres de interruptores simultáneos.
El truco con matrices de teclado como esta es el hecho de que las salidas pueden (en la mayoría de los microcontroladores) estar en tres estados posibles: ALTO, BAJO y de alta impedancia (Hi-Z).
Cuando una salida está en modo Hi-Z, está efectivamente desconectada.
Entonces, al configurar tres de las salidas en Hi-Z y la cuarta salida en LOW, y tener las cuatro entradas conectadas a través de resistencias, al presionar un botón se conecta esa entrada a una señal LOW.
En efecto, la salida actualmente activada (impulsada en BAJO) se convierte en la conexión a tierra para un botón estándar tirado hacia arriba.
Al recorrer en bicicleta qué salida está desempeñando el papel de suelo, puede tener cualquier número de botones adjuntos a sus entradas.
Es más simple pensar en cada una de las salidas como un interruptor a tierra. Trabaja con solo una entrada por ahora, y podrás hacerte una idea de cómo funciona:
simular este circuito : esquema creado con CircuitLab
En ese ejemplo, las salidas 1, 3 y 4 son Hi-Z. La salida 2 es BAJA. Ahora puede ver que presionar los botones 1, 3 o 4 no hará nada ya que el interruptor (salida) que los conecta a tierra está abierto. Al presionar el botón 2, la entrada será BAJA y se registrará una presión de botón.
Ahora simplemente multiplique ese circuito 4 veces, uno para cada entrada, y ahí está su matriz.
También puede girar todo al revés: use una resistencia desplegable y controle cada entrada ALTO en lugar de BAJO; de esa manera, las entradas registrarán un ALTO para activo. No hace ninguna diferencia real de qué manera se hace. Sin embargo, los pull-ups y las salidas de conducción LOW son la forma más común, porque las MCU a menudo tienen resistencias de pullup incorporadas y la capacidad de seleccionar salidas de drenaje abiertas que cambian entre LOW y Hi-Z mucho más fácilmente.
Majenko
pingofdoom
Majenko
Majenko
pingofdoom
dormilón