UNIDAD EDUCATIVA PARTICULAR “POLITÉCNICO”
4° AÑO PAI - 10° AÑO DE BÁSICA “A”
TECLADO + Arduino
Nombre: Andrea Cáceres Fecha: 26/09/17
Un teclado
matricial es un dispositivo que agrupa varios pulsadores y permite controlarlos
empleando un número de conductores inferior al que necesitaríamos al usarlos de
forma individual. Podemos emplear estos teclados como un controlador para un
autómata o un procesador como Arduino.
Lo más práctico es conectar el teclado a Arduino
directamente, podemos usar cables de protoboard, o bien con un peine de pines
para que no se suelte nada.
Las primeras 4 líneas del teclado matricial que corresponden
a las filas las conectamos del pin 2 al pin 9 del arduino respectivamente.
A continuación se muestra el código utilizado, cada
línea tiene su explicación y funcionamiento a modo de comentario
Se incluye la librería keypad ya sea que estemos trabajando en arduino o en TinkerCad
En mi caso al realizarlo por Tinkercad me funciona y al presionar cada botón se proyecta lo pulsado a través del serial monitor, poniendo el respectivo código y su librería.
Haciendo unos cambios en el código podemos hacer que los números se juntes demostrado por el serial monitor como se aprecia en la imagen.
CODIGO: (CADENA)
const byte Filas = 4; //Cuatro filas
const byte Cols = 4; //Cuatro columnas
byte Pins_Filas[] = {9, 8, 7, 6}; //Pines Arduino a los que contamos las filas.
byte Pins_Cols[] = { 5, 4, 3, 2}; // Pines Arduino a los que contamos las columnas.
char Teclas [ Filas ][ Cols ] =
{
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
Keypad Teclado1 = Keypad(makeKeymap(Teclas), Pins_Filas, Pins_Cols, Filas, Cols);
String cadena="";
void setup()
{ Serial.begin(9600) ; }
void loop()
{ char pulsacion = Teclado1.getKey() ;
if (pulsacion != 0) // Si el valor es 0 es que no se ha pulsado ninguna tecla
{
cadena=cadena+pulsacion;
Serial.println(cadena);
}
Haciendo unos cambios en el código podemos hacer que los números se juntes demostrado por el serial monitor como se aprecia en la imagen.
CODIGO: (CADENA)
const byte Filas = 4; //Cuatro filas
const byte Cols = 4; //Cuatro columnas
byte Pins_Filas[] = {9, 8, 7, 6}; //Pines Arduino a los que contamos las filas.
byte Pins_Cols[] = { 5, 4, 3, 2}; // Pines Arduino a los que contamos las columnas.
char Teclas [ Filas ][ Cols ] =
{
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
Keypad Teclado1 = Keypad(makeKeymap(Teclas), Pins_Filas, Pins_Cols, Filas, Cols);
String cadena="";
void setup()
{ Serial.begin(9600) ; }
void loop()
{ char pulsacion = Teclado1.getKey() ;
if (pulsacion != 0) // Si el valor es 0 es que no se ha pulsado ninguna tecla
{
cadena=cadena+pulsacion;
Serial.println(cadena);
}