Teclado Matricial
Teclado Matricial
Teclado Matricial
Teclado matricial
Información: http://www.prometec.net/teclados-matriciales/
Fila1
Un teclado es una matriz de teclas organizadas en filas y
columnas. Suelen ser de 4x4, como el de la figura, pero si
Fila2
no pensamos utilizar las letras, podemos olvidarnos de la
columna 4 y ahorramos el uso de un pin de Arduino. Fila3
Para utilizar este teclado con Arduino utilizamos la librería
Keypad. La podemos descargar de: Fila4
http://playground.arduino.cc/Code/Keypad#Download
Antes de describir las principales funciones de esta librería
veamos un ejemplo.
Ejemplo: este programa lee la tecla pulsada y la escribe en
el monitor serie.
F1 F2 F3 F4 C1 C2 C3 C4
Hay que tener en cuenta que todos los signos leídos del teclado son caracteres, no números, por
lo que no se pueden hacer operaciones con ellos, como sumas o comparaciones con > o <. Para
ello los tendríamos que convertir en números. Una forma fácil para los números de 0 a 9 es
definir una variable tipo int y realizar la operación de restarle 48 o bien el carácter ‘0’ a la variable
que guarda el carácter (la variable tecla en este ejemplo), ya que con ello se pasa del código
ASCII del carácter numérico al valor numérico. Es decir, las instrucciones serían:
o bien:
LIBRERÍA KEYPAD
La librería Keypad dispone de varias
funciones. Las que más usaremos son:
Keypad
Crea un objeto tipo Keypad para controlar nuestro teclado.
La sintaxis es: Keypad Teclado = Keypad (makeKeymap (teclas), pinF, pinC, nF, nC)
donde:
− Teclado: es el nombre que le damos al objeto tipo Keypad creado.
− teclas: es el nombre de una matriz bidimensional de caracteres previamente definida
donde asociamos un carácter a cada una de las teclas del teclado.
− pinF: es una matriz unidimensional previamente definida donde hemos indicado los pines
donde van conectadas las columnas del teclado en el orden F1, F2, F3 y F4.
− pinC: es una matriz unidimensional previamente definida donde hemos indicado los pines
donde van conectadas las filas del teclado en el orden C1, C2, C3 y C4.
− nF: es un número o una variable que contiene el número de filas del teclado.
− nC: es un número o una variable que contiene el número de columnas del teclado.
.getKey()
Lee y devuelve el carácter correspondiente a la tecla presionada si se ha presionado alguna. Si
no se ha pulsado ninguna tecla devuelve un 0.
La sintaxis es: Teclado.getKey()
donde Teclado es el nombre del objeto tipo Keypad.
.waitForKey()
Esta función esperará indefinidamente hasta que alguien pulsa una tecla. Esto significa que el
resto del código no se ejecuta durante la espera, salvo que se trate de una rutina de interrupción;
le ocurre lo mismo que a la función delay(). Una vez presionada la tecla, la función lee y
devuelve el carácter correspondiente a la tecla presionada.
La sintaxis es: Teclado.waitForKey() donde Teclado es el nombre del objeto tipo Keypad.