Cuando pensamos en crear algo, una máquina o una aparato, una de las cosas que tenemos que tener en cuenta es cómo vamos a darle ordenes. Vamos a necesitar una interfaz que nos permita interactuar con la máquina.

Una de las más conocidas y usadas son los teclados. Estos con normalidad suelen estar organizados de forma matricial, lo que permite reducir el número de pines digitales que usamos para leer las teclas.

Para llevar a cabo la lectura del teclado vamos a usar la librería keypad.h con el siguiente código.

#include <Keypad.h>

const byte ROWS = 4; //four rows
const byte COLS = 4; //FOUR columns
char keys[ROWS][COLS] = {
{'1','2','N','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte rowPins[ROWS] = {9, 8, 7, 6}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {5, 4, 3, 2}; //connect to the column pinouts of the keypad

Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );

void setup(){
 Serial.begin(9600);
}

void loop(){
 char key = keypad.getKey();

 if (key){
  Serial.println(key);
 }
 delay(10);
}

En este vídeo vemos como controlar el teclado y explico el código que se usa.

Enrique Gómez

Ingeniero Electrónico Industrial y Automático, amante de la comunicación audiovisual y de la divulgación ingenieril y científica. Friki de Star Wars, cuenta más de lo que parece. Puedes saber más sobre mi y sobre mis trabajos en enrique.rinconingenieril.es
Suscribete
Notificame
guest
2 Comments
Nuevos
Antiguos Más votados
Inline Feedbacks
View all comments
Luis Enrique
Luis Enrique
9 meses hace tiempo

Hola, Buena noche. Disculpa me puedes ayudar estoy haciendo un programa para poder declarar el tiempo que estara abierta una determinada valvula y este se cierre al pasar un determinado tiempo y como acarrear valores de tiempo de 1 a 1000 segundos sin poner todos los 1000 delay.

De ante mano muchisimas gracias, saludos desde Mexico.