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

2
Leave a Reply

avatar
1 Hilos de comentarios
1 Respuestas a los hilos
0 Followers
 
Más recientes
Hilos más activos
2 Comentarios de autores
Enrique GómezLuis Enrique Comentarios recientes de autores
  Suscribete  
Nuevos Antiguos Más votados
Notificame
Luis Enrique
Invitado
Luis Enrique

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.

Cerrar menú