Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Esencialmente están constituidos por filas y columnas conductoras en cuyo cruce se encuentra un
pulsador mecánico o de membrana que, al ser pulsado, establece el contacto eléctrico entre la fila y la
columna correspondiente.
El teclado matricial proporciona una interfaz sencilla de entrada de datos. Sus usos pueden ser tan
variados como aplicaciones que precisen de la introducción manual de datos puedan ocurrírsele al
diseñador.
Para controlar el teclado, los pines del microcontrolador correspondientes a las filas se programan
como salidas y los conectados a las columnas del teclado se programan como entradas.
Para decodificar el teclado consiste en determinar la fila y columna que corresponde a la tecla que se
presionó. Esto se logra rotando un valor lógico (alto o bajo) en cada una de las líneas configuradas
como salidas (filas) e inmediatamente después leer el estado lógico de las líneas conectadas como
entrada (columnas).
Características Generales
16 botones con organización matricial (4 filas x 4 columnas).
Teclado tipo Membrana.
Mayor resistencia al agua y polvo.
Expectativa de tiempo de vida un millón de veces.
Temperatura de operación entre 0°C y 60°C.
Tiempo de rebote menor a 5 milisegundos.
Conector tipo DuPont hembra de una fila y 8 contactos.
Auto adhesivo en la parte de atrás.
Aplicaciones
Sistemas de seguridad (cerradura codificada).
Selección de menús.
Entrada de datos en sistemas embebidos.
Calculadora.
Termostato programable, otros.
Donde:
F1, F2, F3, F4 : FILAS
8
7
6
5
4
3
2
1
F1 F2 F3 F4 C1 C2 C3 C4
Descripción:
Se implementara un tipo de cerradura electrónica con clave de acceso que puede servir para varias
aplicaciones. El sistema consiste en teclear una contraseña en nuestro teclado matricial.Arduino
evaluara la contraseña ingresada.
Si las teclas pulsadas con las correctas muestra un mensaje: “CLAVE CORRECTA”
Si las teclas pulsadas sin incorrectas muestra un mensaje: “CLAVE INCORRECTA”.
Programa de aplicación:
const byte nroFILAS = 4; //Numero de filas del teclado que se está usando.
const byte nroCOLUMNAS = 4; //Numero de columnas del teclado que se está usando.
//Aquí pondremos la disposición de los caracteres tal cual están en nuestro teclado.
char TECLADO_MATRICIAL_4X4[nroFILAS][nroCOLUMNAS] =
{
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
byte pinesFILAS[nroFILAS] = {9, 8, 7, 6}; //Seleccionamos los pines en el arduino donde iran conectadas las filas.
byte pinesCOLUMNAS[nroCOLUMNAS] = {5, 4, 3, 2}; //Seleccionamos los pines en el arduino donde iran conectadas las columnas.
void setup()
{
Serial.begin(9600); //inicializar puerto serie; para mostrar en el Monitor serial.
}
void loop()
{
char TECLA_PRESIONADA = TECLADO.getKey(); //se guarda en la variable TECLA_PRESIONADA el caracter de la tecla presionada.
if (TECLA_PRESIONADA != NO_KEY) //se evalúa si se presionó una tecla.
{
CLAVE_INGRESADA[cont]=TECLA_PRESIONADA; //se guarda caracter por caracter en el CLAVE_INGRESADA[cont].
Serial.println(CLAVE_INGRESADA[cont]); //se imprime en el Monitor Serial la tecla presionada.
cont=cont+1; //incrementamos la variable cont
if(cont==4) //si ya fueron presionadas 4 teclas se evalúa si la contraseña es correcta
{
if(CLAVE_INGRESADA[0]==CLAVE[0]&&CLAVE_INGRESADA[1]==CLAVE[1]&&CLAVE_INGRESADA[2]==CLAVE[2]&&CLAVE_INGRESADA[3]==CLAVE[3])
{
Serial.println("CLAVE CORRECTA");
}
else
{
Serial.println("CLAVE INCORRECTA");
}
cont=0; //resetear a 0 la variable cont
}
}
}
PASO3: Presiona las teclas del teclado matricial y visualiza en el monitor serial.