jueves, 21 de enero de 2016

Descifrar código secreto con teclado matricial 4x3


Para este POST vamos a utilizar un teclado matricial 4x3 (0 - 9, *, #). Este teclado cuenta con 7 pines de control, por ejemplo, cuando apretamos la tecla número 1 se conectan los pines 2 y 3, para la tecla 5 se conectan los pines 7 y 1, y así sucesivamente. Por lo tanto los pines correspondientes a las filas del teclado matricial 4x3 son el 2, 7, 6 y 4; y los correspondientes a las columnas el 3, 1 y 5.

Teclado Matricial 4x3

A partir de ahora es cuando se define a que terminales digitales del Arduino van a ir conectados. En este POST los vamos a conectar de la siguiente manera:

FILAS:

1.         Pin 2 del teclado à Pin digital 3 de Arduino.

2.         Pin 7 del teclado à Pin digital 8 de Arduino.

3.         Pin 6 del teclado à Pin digital 7 de Arduino.

4.         Pin 4 del teclado à Pin digital 5 de Arduino.

 COLUMNAS:

1.         Pin 3 del teclado à Pin digital 4 de Arduino.

2.         Pin 1 del teclado à Pin digital 2 de Arduino.

3.         Pin 5 del teclado à Pin digital 6 de Arduino.
                                   
Una vez realizadas las conexiones entre el teclado matricial 4x3 y Arduino, solo tenemos que cargarle el programa e introducir un código secreto mediante el teclado matricial 4x3 (en nuestro caso el código secreto programado es el “1234”),  y después de pulsar los 4 dígitos, si estos coinciden con los 4 dígitos del código secreto  se iluminará el LED verde (sistema desbloqueado); de lo contrario, se encenderá o mantendrá encendido un LED rojo (sistema bloqueado).

Cada vez que introduzcamos un código de 4 dígitos, es necesario resetear el sistema pulsando “#” o “*”, para que el sistema se vuelva a bloquear si lo habíamos desbloqueado o para que nos permita introducir un nuevo código si el sistema sigue bloqueado. A través del puerto serie, podremos ir monitorizando los códigos introducidos, así como los mensajes configurados mediante programación (para más información os recomiendo revisar los comentarios del programa).

Monitor Serie

Me gustaría apuntar, que las resistencias de 10kΩ y la conexión a 5V que podáis encontraros en otros ejemplos de montaje, conectadas a las filas del teclado matricial no son necesarias (Conexión Pull-Up en las entradas), puesto que la librería "keypad", ya configura los terminales en modo "INPUT_PULLUP", facilitando el montaje.



Lista de Materiales:

·         Arduino UNO Rev.3.

·         Cable USB tipo A-B.

·         Teclado matricial 4x3.

·         2 LEDS de 3 mm (Rojo y Verde).

·         2 Resistencias de 220Ω.

·         Protoboard.

·         Cables de conexión.


 Código del pograma:




 Video:

1 comentario: