Keypad
DESCRIPCION
Los teclados matriciales utilizan una combinación de filas (R0, R1, R2, R3) y columnas (C0, C1, C2,
C3) para conocer el estado de los botones. Cada tecla es un botón conectado a una fila y a una
columna. Cuando se pulsa una de las teclas, se cierra una conexión única entre una fila y una
columna.
Imagen 1 distribución interna de las teclas en un teclado matricial.
DIAGRAMA DE BLOQUES
Cada fila y columna va asociada a un pin de la STM32L476RG, para este caso como se muestra la
imagen, breadboard hace referencia al keypad con filas (R0, R1, R2, R3) y columnas (C0, C1, C2,
C3) que van conectadas a los pines morpho de la STM
Imagen 2. Conexión de los pines entre el keypad y el STM
DESCRIPCIÓN DEL PROGRAMA
En el keypad.h se hace una configuración de los pines de acuerdo con lo conectado en la imagen 2.
Para poder leer que tecla ha sido pulsada se debe de utilizar una técnica de barrido y no solo leer un
pin de microcontrolador.
En el keypad.c se puede evidenciar como en void Keypad_Init(void) se habilitan los pines necesarios
para las filas y columnas y se configuran en modo inicial, luego en Keypad_Scan(void) se hace un
recorrido de columna por columna para saber que botón esta pulsado además de asignarle un valor a
cada botón según la distribuido de nuestro keypad.
Se adjuntaran los archivos keypad.h y keypad.c.