Académique Documents
Professionnel Documents
Culture Documents
GRUPO Y SALN:
Grupo 0V, Saln G23
MATERIA:
Microcontroladores
CONTENIDO:
Proyecto: Cerradura Electrnica.
FECHA DE ENTREGA:
06/06/2014
INTRODUCCIN
Este proyecto fue elaborado para contar con un sistema de seguridad
electrnico, por medio de una cerradura. E campo de aplicacin de este puede ser
desde una caja fuerte, la puerta de una casa, la puerta de una habitacin, algn
armario, etc. Tambin se llev a cabo con el propsito de no necesitar de una llave
para este tipo de seguridad, ya que es muy frecuente perder u olvidar las llaves.
Nuestra prctica conlleva en elaborar un sistema de una cerradura electrnica,
con contrasea reprogramable. Con la que podamos tener una mayor seguridad
en nuestros hogares, cuartos y sistemas en dnde se requiera seguridad.
OBJETIVOS
Dar una visin prctica de los principios de diseo de sistemas
implementados con micro-controladores.
Convencer a la necesidad de la implementacin de los diseos
tradicionales con aplicaciones en micro-controladores.
Disear un sistema de seguridad digital.
MARCO TERICO
Para el desarrollo del proyecto es necesario conocer cuestiones como el
funcionamiento de la LCD, el teclado matricial, y el software de programacin
PICC, adems de algunos conceptos de electrnica analgica como el uso de
transistores como etapas de potencia y el uso de la memoria EEPROM del
microcontrolador.
Cerradura Electrnica.
Hemos desarrollado un pequeo proyecto suponiendo que hemos sido
contratados por una empresa fabricante de puertas de seguridad para disear y
fabricar la parte electrnica de una cerradura electrnica multiusos.
El sistema estar colocado en puertas interiores y exteriores. Controlar acceso a
laboratorios y cuartos privados. Se usar en recintos donde el acceso deba estar
muy restringido y controlado.
Las claves de cada usuario sern de cuatro dgitos, para entrar debern pulsarse
despus del nmero del usuario, anteriormente ingresado y guardado en la
memoria de nuestra cerradura. Si el usuario lo desea podr modificar la
contrasea con la que puede ingresar al laboratorio, cuarto y hogar en dnde se
encuentre instalada la cerradura.
Cabe mencionar que las cerraduras electrnicas actuales permiten adoptar un
cierre oculto de alta seguridad sobre cualquier puerta batiente o corredera, de una
o dos hojas, de madera o de metal, sea la instalacin de forma horizontal o
vertical.
A continuacin veremos algunas de las cerraduras electrnicas que podemos ver
en el mercado actualmente.
Memorias EEPROM
EEPROM responde a Erasable Programmable Read Only Memory que
se puede traducir como memoria programable borrable de solo lectura. Tambin
se la conoce como E2-PROM. Como su nombre sugiere, una EEPROM puede ser
borrada y programada con impulsos elctricos. Al ser una pieza que se puede
gestionar por estos impulsos elctricos, podemos realizar todas estas operaciones
de reprogramacin sin tener que desconectarla de la placa a la cual va conectada.
La EEPROM tambin se conoce como non-volatile memory o memoria no voltil
y es debido a que cuando se desconecta la energa, los datos almacenados en la
EEPROM no sern eliminados quedando intactos. Las EEPROM ms nuevas no
tiene datos almacenados en ellas y deben ser primero configuradas con un
Memorias EEPROM
Teclado matricial.
Un teclado est compuesto de una serie de interruptores (pulsadores), los cuales
estn conectados en forma de matriz.
Aunque los teclados pueden tener presentaciones de 4x3 (4 renglones x 3
columnas) o bien de 4x4, no observamos que salen 12 o 16 cables
respectivamente, es decir no hay un cable por cada tecla. Lo normal es que se
tengan 8 cables, para el caso de un teclado de 4x4, 4 cables corresponden a cada
uno de los renglones y los 4 restantes a las columnas.
Dentro del aprendizaje del manejo del teclado debe considerarse el saber
identificar que cable corresponde a que columna o rengln, para despus
conectarse al microcontrolador. Esto se logra por simple observacin del impreso
del teclado.
Como se puede ver en la figura, cada botn del teclado esta por un lado
conectado a un rengln y a una columna, esto facilitar su identificacin. Por
ejemplo al presionar la tecla 3 estamos relacionando el rengln 2 con la columna 2
o en la tecla 4 rengln 1 con columna 0, como si fueran coordenadas.
Entonces lo que se debe hacer en el programa para identificar que tecla es la que
se est pulsando, es probar cada combinacin que se puede tener de renglncolumna.
PIC-C ofrece una librera para identificar el teclado KBD.c, esta librera esta
creada para un teclado de 4x3 y es la que usamos.
Funciones importantes de la librera;
//// kbd_init()
Must be called before any other function. Con esta funcin
inicializamos el teclado y equivale a estar habilitando cada uno de los renglones.
//// c = kbd_getc(c) Will return a key value if pressed . Con esta function se
captura el valor de la tecla y se asigna dicho valor a una variable que en este caso
la llaman c.
Se us el puerto B para poder usar las resistencias de pull-up del micro.
#else ////////////////////////////////////////////////// For the black keypad
#define COL0 (1 << 5)
// la columna 0 a PB5
CONEXIONES
NEGRO
Microcontrolador
El micro-controlador que ocupamos fue el PIC16F887, con el cual podremos hacer
uso de nuestros puertos de entrada y salida para poder declararlos y poder hacer
uso de ellos, as mismo tambin podemos hacer uso de nuestra memoria
EEPROM en la cual almacenaremos nuestra contrasea de cuatro dgitos y
podremos hacer las respectivas comparaciones para poder saber si la contrasea
es correcta o incorrecta.
Display LCD
Por ltimo haremos uso de un Display LCD para poder desplegar los dgitos que
vamos ingresando a travs de nuestro teclado matricial, as mismo lo que haremos
ser desplegar si la contrasea es correcta o incorrecta para poder conocer el
estado de nuestro sistema, en caso de ser correcta se abrir la puerta y en caso
de ser incorrecta, nuestro sistema emitir una alarma despus de haber intentado
tres veces con una contrasea incorrecta y se bloquear el sistema, teniendo que
reiniciar el sistema con un botn que estar en otro sitio.
Teclado matricial
Resistencias
Protoboard
PIC16F887
3 Push Botton
Relevador
Bocina
Display LCD
Descripcin general
Esquema
Anteriormente definimos cmo era el funcionamiento de nuestro cdigo de
programacin, por medio de nuestro diagrama de flujo, ahora lo que
haremos ser definir el funcionamiento de nuestro hardware y cmo es que
este nos permite hacer la conexin e integracin de todos los elementos
que intervienen en el proyecto.
Diagrama de Bloques
Diagrama de flujo:
Cdigo
setup_adc_ports(NO_ANALOGS);
lcd_init();
kbd_init();
set_tris_a(0b00111111);
set_tris_c(0b00000011);
leer=0;
i=0;
a=0;
rele=0;
alarma=0;
adress=0x00;
while(true){
lcd_gotoxy(1,1);
lcd_gotoxy(1,2);
printf (lcd_putc,"cambia/continua");
case 1:
printf(lcd_putc,"\f");
lcd_gotoxy(1,1);
printf(lcd_putc,"Bienvenido");
delay_ms(1000);
lcd_gotoxy(1,1);
printf(lcd_putc,"Configure su
lcd_gotoxy(1,2);
printf(lcd_putc,"Clave
delay_ms(1000);
");
");
a=1;
lcd_gotoxy(1,1);
printf(lcd_putc,"Elige nuevo
lcd_gotoxy(1,2);
");
mander=kbd_getc();
if(mander!=0){
lcd_gotoxy(10,2);
printf(lcd_putc,"%c ",mander);
delay_ms(1200);
pass[i]= mander;
write_eeprom(adress,pass[i]);
adress++;
i++;
a++;
printf(lcd_putc,"\f");
lcd_gotoxy(1,1);
printf(lcd_putc," Digito");
lcd_gotoxy(1,2);
printf(lcd_putc,"Guardado");
delay_ms(500);
printf(lcd_putc,"\f");
break;
c++;
printf(lcd_putc,"\f");
adress=0x00;
for(i=0;i<=3;i++){
pass[i]=read_eeprom(adress);
adress++; //Leer eeprom
}
adress=0x00;
i=0;
a=1;
lcd_gotoxy(1,1);
printf(lcd_putc,"Introduce");
lcd_gotoxy(1,2);
printf(lcd_putc,"digito %d:
mander=kbd_getc();
if(mander!=0){
lcd_gotoxy(10,2);
printf(lcd_putc,"*");
delay_ms(1000);
clave[i]=mander;
i++;
a++;
",a);
//while(true)
//{
printf(lcd_putc,"\f");
lcd_gotoxy(1,1);
printf(lcd_putc,"clave correcta");
c=0;
delay_ms(1000);
rele=1;
delay_ms(5000);
rele=0;
//}
}
else{
printf(lcd_putc,"\f");
lcd_gotoxy(1,1);
printf(lcd_putc,"clave incorrecta");
delay_ms(1200);
lcd_gotoxy(1,1);
if(c==3){
while(true){
alarma=1;
delay_ms(1500);
alarma=0;
printf(lcd_putc,"\f");
lcd_gotoxy(1,1);
printf(lcd_putc,"BLOQUEADO ");
lcd_gotoxy(1,2);
printf(lcd_putc,"REINICIE SISTEMA");
delay_ms(2000);
}
}
}
break;
default:
lcd_gotoxy(1,1);
printf(lcd_putc,"Elige Accin
lcd_gotoxy(1,2);
printf(lcd_putc,"cambia/continua");
goto inicio;
}
}
}
");
Ejemplo de cerradura electrnica en la vida diaria.
iagrama elctrico.
Teclado matricial con el que ingresaremos nuestra contrasea.