Respuesta rápida

Para usar un teclado matricial 4x4 con Arduino, conecte la interfaz I2C a los pines SDA y SCL, luego lea los valores de tecla ASCII usando la biblioteca Wire. El teclado matricial mLink 4x4 maneja el rebote y el escaneo automáticamente, simplificando su código.

¿Por qué elegir un teclado matricial I2C en lugar de uno matricial crudo?

Un teclado matricial crudo 4x4 requiere ocho pines de E/S digitales y rebote manual en el código. El teclado matricial mLink 4x4 integra un módulo de escaneo dedicado que se comunica a través de I2C, usando solo dos pines (SDA y SCL) y proporcionando una salida ASCII previamente rebotada. Esto reduce la complejidad del cableado y libera pines de E/S para otros sensores o pantallas.

La contrapartida es el costo: la versión mLink es ligeramente más cara que un teclado desnudo. Sin embargo, para proyectos donde la fiabilidad y la simplicidad son importantes, el gasto adicional ahorra tiempo de depuración.

Guía paso a paso de cableado y código

  1. Conecte el teclado al Arduino: Conecte el VCC del teclado mLink al 5V del Arduino, GND a GND, SDA a A4 (o al pin SDA en Uno R3 o posterior), y SCL a A5 (o al pin SCL). Para otras placas Arduino, consulte la asignación de pines I2C. Error común: invertir SDA y SCL. Si el teclado no responde, intercambie los dos cables de datos.
  2. Instale la biblioteca requerida: Abra el IDE de Arduino, vaya a Sketch > Include Library > Manage Libraries e instale la biblioteca 'mLink' del fabricante de la placa. Esta biblioteca proporciona funciones para leer el teclado a través de I2C. Si no se encuentr la biblioteca, descárguela de la página del producto e instálela manualmente a través de Sketch > Include Library > Add .ZIP Library.
  3. Escriba el código de escaneo: Incluya la biblioteca mLink en su boceto. En setup(), llame a mLink.begin(). En loop(), use mLink.getKey() para leer el valor ASCII de la última tecla presionada. Si el valor no es 0, imprímelo en el Monitor Serie o úselo en la lógica de su proyecto. Punto de control: El teclado devuelve 0 cuando no se presiona ninguna tecla. Siempre pruebe un valor distinto de cero antes de actuar sobre una presión de tecla para evitar disparos falsos.
  4. Pruebe y verifique la asignacón de teclas: Cargue el boceto y abra el Monitor Serie a 9600 baudios. Presione cada tecla y confirme que aparezca el caráctere ASCII correcto. El teclado mLink emite letras mayúsculas y dígitos que coinciden con las teclas impresas. Si una tecla devuelve un carácter diferente, verifique si hay cableado suelto o un teclado defectuoso. No se necesita una tabla de asignación porque el módulo lo maneja.
  5. Integre en su proyecto: Reemplaze la línea Serial.print() con su propia lógica: por ejemplo, almacene la tecla en una cadena, compárela con una contraseña o úsela para navegar por un menú en una pantalla LCD. Recuerde que el teclado se consulta, no se maneja por interrupciones. Su bucle debe llamar a getKey() con la suficiente frecuencia para capturar pulsaciones rápidas.

Referencia del producto

  • Teclado matricial mLink 4x4: El teclado matricial mLink 4x4 es un teclado táctil de 16 teclas montable en panel con interfaz serie (I2C) y un módulo que escanea y elimina el rebote de las pulsaciones de teclas continuamente, almacenando cada tecla como un valor ASCII de 8 bits. No necesita escribir rutinas de eliminación de rebote o escaneo en su boceto de Arduino, lo que simplifica el código y reduce los disparos falsos.

    mLink 4x4 Matrix Keypad

    Teclado matricial mLink 4x4