Teclado Matricial con arduino

El teclado matricial 4x4x es muy fácil de usar, en este tutorial aprenderemos como funciona y a implementarlo en la plataforma Arduino. Se implementara un tipo de cerradura electrónica que puede servir para varias aplicaciones. El sistema consiste en teclear una contraseña en el Teclado. Después Arduino evaluará si la contraseña es correcta y encenderá o apagará un led. Finalmente esto puede ser conectado a un relay, una cerradura electrónica o  cualquier otro actuador que deseemos.

Material

  • Teclado matricial.
  • Arduino UNO.
  • Protoboard.
  • Cables macho-macho.

¿Cómo funciona un teclado matricial?

Al conectar un pulsador en la plataforma arduino, requerimos de una entrada digital. Si nuestro proyecto requiere de varios pulsadores, vamos a tener el problema de que los pines digitales se nos van a terminar y no podremos conectar más dispositivos al arduino.
Es por esto que se utiliza un arreglo de pulsadores en forma matricial, permitiéndonos así, conectar varios pulsadores utilizando menos pines digitales en nuestro arduino.

Por ejemplo, si nuestro proyecto requiere de 16 pulsadores, tendremos que utilizar 16 pines de nuestro arduino por lo que nos dejará sin poder conectar otros dispositivos, pero, si en cambio utilizamos un teclado matricial de 4×4, tendremos 16 pulsadores, pero solo utilizaríamos 8 pines (4 filas y 4 columnas) en vez de 16.

Esta disposición se puede apreciar en la siguiente imagen.

imagen1: conexión de pulsadores en forma de matriz
imagen1: conexión de pulsadores en forma de matriz

Funcionamiento del teclado matricial 4×4 en Arduino:

  1. Primero se energiza la primera fila, después se evalúa si hay señal en alguna de las columnas, si aparece señal, significa que una tecla de la primera fila y correspondiente a la columna detectada, se presionó.
  2. Después se pasa a energizar la segunda fila y desconectar la primera, se evalúa si hay señal en alguna de las columnas, si aparece señal, significa que una tecla de la segunda fila y correspondiente a la columna detectada, se presionó.
  3. Se hace el mismo procedimiento para las filas 3 y 4.
  4. Volvemos a comenzar con la fila 1 y el ciclo se repite infinitamente.

Para hacer esto posible también tenemos que hacer algo de programación extra, teniendo así un código un poco más complejo. Pero eso no nos debe de preocupar ya que arduino tiene varias librerías externas para controlar estos dispositivos.

La librería que utilizaremos se llama Keypad.h  de este link https://playground.arduino.cc/code/Keypad y la puedes descargar aqui: https://playground.arduino.cc/uploads/Code/keypad.zip  .

Después de descargar e instalar la librería procedemos a conectar nuestro circuito.

Conexiones del teclado matricial 4×4 con Arduino

En la siguiente imagen se muestra como conectar el teclado matricial al arduino.

imagen2: Conexiones entre arduino y el teclado matricial 4x4
imagen2: Conexiones entre arduino y el teclado matricial

Las primeras 4 líneas del teclado matricial que corresponden a las filas las conectamos del pin9 al pin6 del arduino respectivamente, las 4 líneas restantes del teclado matricial que corresponden a las columnas las conectamos del pin5 al pin2 respectivamente. Los pines 0 y 1 del arduino que corresponden al puerto serial, los dejamos libres para poder visualizar en la terminal el carácter que corresponde a cada botón presionado.

Teclado matricial 4x4 flexible
imagen3: Pines del teclado matricial, de izquierda a derecha (F1,F2,F3,F4,C1,C2,C3,C4)

 

Código para el teclado matricial 4×4 con Arduino

A continuación se muestra el código para el teclado matricial 4×4 con Arduino, cada línea tiene su explicación y funcionamiento a modo de comentario y su funcionamiento es el siguiente: al presionar un código de 4 dígitos y si este es correcto, se enciende el led del pin 13, para volverlo a apagar se tienen que teclear la contraseña correcta de nuevo. A su vez en la terminal se muestra el carácter del botón presionado.

Resultados

A continuación se muestra que al teclear la contraseña de 4 dígitos que es 2222 se enciende el led del pin 13, al presionar otra combinación no ocurre nada, y al volver a teclear la combinación correcta el led se apaga. Todo lo que tecleemos se va mostrando en la terminal.

termial1
imagen4: mostrando en la terminal la contraseña tecleada

 

 

imagen5: led del pin 13 del arduino encendido
imagen5: led del pin 13 del arduino encendido

 

imagen6: mostrando en la terminal la contraseña tecleada
imagen6: mostrando en la terminal una contraseña incorrecta

 

 

imagen7: mostrando en la terminal la contraseña tecleada
imagen7: mostrando en la terminal la contraseña correcta de nuevo

 

imagen8: led del pin 13 del arduino apagado
imagen8: led del pin 13 del arduino apagado

 

14 comentarios en «Teclado Matricial con arduino»

  1. buenas tardes …. ustedes venden los articulos para fabricar el bus de conexion flexible que sale del teclado matricial ?? … requiero desarrollar este componente para un exoesqueleto robotico de mano. Gracias

    1. Se podría cambiar la salida en cuestión. El led instalado en la placa pertenece a la patilla 13. Si cambiáramos por 12 (u otra) ya deberias tener otro led o lo que quieras conectar.
      Cambiando el código, el led de la pata 13 va a continuar parpadeando al inicio, pero la pata que actives/desactives puede ser la que elijas.

  2. hola estoy haciendo un menu con el uso del teclado matricial la cuestiom o problema es el siguiente yo necesito presionar dos veces el teclado la primera vez es para acceder a unos de los dos metodos del menu (ingreso, eliminacion de usuario) y por ejemplo si yo presiono la tecla * llego al metodo de ingresar usuario y luego que estoy dentro de ese metodo necesito ingresar otro dato que es un valor numerico (id), pero al realizar estos pasos no se me cumplen, yo cargo el codigo presiono la tecla * entro al metodo de nuevo usuario me sale el mensaje que ingrese un id para el nuevo usuario pero presiono y no se me ingresada nada, asi mmismo si presiono la tecla # ingreso al metodo de eliminacion me pide un id para eliminar a un usuario presiono el teclado y no se muestra o ingrese nada

    1. Hola buen dia no podemos saber donde se encuentre el error pero puedes verificar las condificones en tu codigo para ver donde y en que momento debe cumplirlas

  3. buenos días,,,quiero con el teclado matricial controlar un modulo de 8 reles o sea cuando toque el numero 1 del teclado se active el relay 1 y asi el que le corresponde ya casi lo tengo hecho el código solo que cuando presiono el teclado el relay se me queda activado y quiero que funcione asi como pulsador que cuando lo suelte se desactive también el relay y no encuentro como hacerlo alguien me puede ayudar con el codigo

    1. Jose, lo que se me ocurre ahorita es que siempre revises el estado de los pines de entrada y refresques el estado de tus relevadores al mismo tiempo, si esto lo haces por ejemplo cada 10mS debería de funcionar. Ojo esta técnica de «polling» asume que no estas corriendo otros procesos con tu micro.

  4. Buenas Tardes… hasta ahora vi el mensaje, me gustaría saber si ya lo soluciono, si no le puedo colaborar para explicarle como puede corregir ese inconveniente…
    Saludos…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *