¿Cómo funcionan las entradas de la interfaz escaneada?

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:

ingrese la descripción de la imagen aquí

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.

Google la frase "Matriz de teclado"
Mmm eso seria de ayuda. He estado usando la "interfaz de escaneo de entrada" y eso no ha producido nada.
Ayuda saber cómo se llaman las cosas antes de buscarlas ;)
Este enlace tiene algunas animaciones agradables que lo explican bien.
Ok, ahora que lo he revisado, algunas cosas. Uno de enmascaramiento y efecto fantasma realmente no tiene sentido. En segundo lugar, entiendo que recorre cada fila haciéndola alta, pero la parte con la tabla anterior donde una sola entrada se hace baja y las otras 3 Hi Impedence, no entiendo. ¿También tiene un enlace similar para entradas multiplexadas?
Los pines de salida básicamente conectan los interruptores a tierra. Los pines de entrada están conectados a través de una resistencia a VCC. Entonces, si el interruptor no está cerrado, el pin de entrada detectaría el voltaje VCC. SI el interruptor está cerrado, el pin de entrada se conectaría a tierra a través del pin de salida (técnicamente 0V). Entonces, en el código, detectaría el valor 1 como ninguna entrada y 0 como una pulsación de tecla.

Respuestas (1)

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:

esquemático

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.