Teclado 3×4

 

Libreria:

La librería que viene en nuestra ayuda se llama keypad.h. Esta librería no viene de forma estándar con la distribución del compilador de Arduino. Así que tenemos que descargarla desde la web. http://playground.arduino.cc/code/Keypad 

Conexiones

Código

//* Teclado4x3.ino 

 *  Comprobacion de que el numero pulsado, se muestra en el monitor seria. 

 *  Libreria: Keypad.h 

 *  Definimos dos constantes, para las filas (Fila) y columnas (Colu) 

 *  y una matriz con los caracteres del teclado. 

 */ 

#include <Keypad.h> //libreria. 

const byte Fila = 4;   // numero de filas 

const byte Colu = 3;  // numero de columnas 

char keys[Fila][Colu] = { 
  {'1', '2', '3'}, 
  {'4', '5', '6'}, 
  {'7', '8', '9'}, 
  {'*', '0', '#'} 
}; 

byte PinFilas[Fila] = {8, 9, 10, 11};  // indicamos a que pines estan conectados las Filas 
byte PinColum[Colu] = {12, 13, 14};  // indicamos a que pines estan conectados las columnas 

//creamos un objeto de la libreria keypad para usar sus funciones 

Keypad keypad = Keypad( makeKeymap(keys), PinFilas, PinColum, Fila, Colu ); 

void setup() { 
  Serial.begin(9600); // Definimos la velocidad del puerto serial. 
} 

void loop() { 
  //cuando se pulse una tecla, se guardará en una variable llamada key 
  char key = keypad.getKey(); 
  //Si se ha pulsado una tecla, se envia por serial 
  if (key != NO_KEY) { 
    Serial.println(key); 
  } 
}

Explicación

El primer paso es incluir la librería y las constantes que vamos a utilizar:

const byte Fila = 4;   // numero de filas 

const byte Colu = 3;  // numero de columnas

Reservamos memoria en bytes, para los valores de los pulsadores y la asignación del pin que se corresponde con los de Arduino. Sin embargo, hay que observar que, vamos a necesitar un número alto de pines en este y los siguientes ejemplos.

byte PinFilas[Fila] = {8, 9, 10, 11};  // indicamos a que pines estan conectados las Filas 

byte PinColum[Colu] = {12, 13, 14};  // indicamos a que pines estan conectados las columnas

Este es el momento de ‘crear’ el teclado propiamente dicho, es decir, con esta sentencia, el programa generará una matriz que verá como un teclado, al que se remitirá, cuando tenga que representar un dígito. Esto se consigue con la siguiente línea:

Keypad keypad = Keypad( makeKeymap(keys), PinFilas, PinColum, Fila, Colu );