Sei sulla pagina 1di 5

UNIVERSIDAD ANDINA DEL CUSCO ACREDITADA INTERNACIONALMENTE

LABORATORIO 6
TECLADO MATRICIAL DE MEMBRANA 4X4

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.

Figura1: Teclado matricial de membrana Figura2: Distribución de Filas y columnas


4x4

INGENIERIA INDUSTRIAL Ing. FELIPE APAZA CANAZA


UNIVERSIDAD ANDINA DEL CUSCO ACREDITADA INTERNACIONALMENTE

Características Eléctricas

Máximo voltaje de operación 24 voltios VDC


Máxima corriente de operación 30 mAmperios.
Resistencia de aislamiento 100 MΩ (@ 100 V)
Voltaje que soporta el dieléctrico 250 VRMS (@ 60Hz, por 1 min)

Aplicaciones

✓ Sistemas de seguridad (cerradura codificada).


✓ Selección de menús.
✓ Entrada de datos en sistemas embebidos.
✓ Calculadora.
✓ Termostato programable, otros.

Descripción del Módulo


Representación de las filas y columnas.

Figura3: Representación con pulsadores Figura4: Teclado matricial de 4x4

INGENIERIA INDUSTRIAL Ing. FELIPE APAZA CANAZA


UNIVERSIDAD ANDINA DEL CUSCO ACREDITADA INTERNACIONALMENTE

Circuito de Aplicación para lectura de clave de acceso

Descripción:
Se implementará 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”.

Etapa Electrónica:
Circuito de conexión Arduino UNO y teclado matricial de membrana 4X4

INGENIERIA INDUSTRIAL Ing. FELIPE APAZA CANAZA


UNIVERSIDAD ANDINA DEL CUSCO ACREDITADA INTERNACIONALMENTE

Líneas Verdes: Representan las filas.


Líneas Rojas: Representan las columnas.

********************** PROGRAMA EJEMPLO ********************

Programa de aplicación:
#include <Keypad.h> //llama a la librería Keypad.h
char CLAVE[ ]="1234"; //aquí escribimos la contraseña de 4 dígitos.
char CLAVE_INGRESADA[4]; //Cadena donde se guardaran los caracteres de las teclas
presionadas.
int cont=0; //variable que se incrementara al presionar las teclas.
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.
//Crea una variable e inicializa el teclado.
Keypad TECLADO =
Keypad(makeKeymap(TECLADO_MATRICIAL_4X4),pinesFILAS,pinesCOLUMNAS,nroFIL
AS,nroCOLUMNAS);
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_I
NGRESADA[2]==CLAVE[2]&&CLAVE_INGRESADA[3]==CLAVE[3])
{
Serial.println("CLAVE CORRECTA");
INGENIERIA INDUSTRIAL Ing. FELIPE APAZA CANAZA
UNIVERSIDAD ANDINA DEL CUSCO ACREDITADA INTERNACIONALMENTE

}
else
{
Serial.println("CLAVE INCORRECTA");
}
cont=0; //resetear a 0 la variable cont
}
}
}

INGENIERIA INDUSTRIAL Ing. FELIPE APAZA CANAZA

Potrebbero piacerti anche