Академический Документы
Профессиональный Документы
Культура Документы
SISTEMAS MICROPROCESADOS
FECHA
IBARRA-ECUADOR
INDICE
RESUMEN....4 ABSTRACT..5 CAPITULO 1.6 1.1INTRODUCCION...6 1.2OBJETIVOS8 1.2.1OBJETIVO GENERAL...8 1.2.2OBETIVOS ESPECIFICOS...9 1.3 PLANTEAMIENTO DEL PROBLEMA.10 1.4 DESCRIPCION DE LA SOLUCION....11
CAPITULO 2..12 2.1 MARCO TEORICO ..12 2.1.1 SOFTWARE....12 2.1.1.1 ATMEGA C COMPILER ..12 2.1.1.2 SIMULADOR PROTEUS 13 2.1.2 HARDAWARE 14 2.1.2.1 MICROCONTROLADOR ATMEGA 164PA 14
CAPITULO 3 ................ 20
3.1 FLUJOGRAMA DEL FUNCIONAMIENTO DEL SISTEMA ... 20 3.1.1. FLUJOGRAMA DEL FUNCIONAMIENTO DEL CONTROL DE ACCESO..............21 3.1.2. FLUJOGRAMA DEL FUNCIONAMIENTO DEL CONTROL DE LUMINARIAS DE LA VIVIENDA......22
3.1.3. CDIGO DEL PROGRAMA EN AVR.......23
CAPITULO4 4.1 MATERIALES Y COSTOS47 4.2 CONCLUSIONES....48 4.2 RECOMEDACIONES......49 4.3 ANEXOS....50 4.4 BIBLIOGRAFIA Y NETGRAFIA..57
RESUMEN:
El presente proyecto consiste de un control de acceso, seguridad y luminosidad en una vivienda (domtica), utilizando hardware (ATMEGA 164PA) (CODEVISION AVR y PROTEUS). y software
El principio bsico de funcionamiento es contar con un control de acceso a la vivienda mediante una clave de seguridad, tambin una alarma sonora la cual se activa al ingresar a la vivienda sin ingresar la clave o al ingresar la clave equivocada por tres ocasiones, para el control de luminosidad se realiza una comunicacin serial mediante la cual se puede manipular tanto el encendido y apagado de las luminarias de la vivienda. En todos estos procesos se mostraran mensajes como seales indicando cada una las acciones tomadas, las mismas que se visualizar en una pantalla de cristal lquido o LCD. . Con este proceso se lograra dar una automatizacin de la vivienda. Los usuarios que cuenten con un sistema como el que aqu se describe, lograra tener el control de luces y ahorro de energa del hogar, sistema de vigilancia, entre otros. Este sistema puede reducir los gastos econmicos, dar ms confort, tranquilidad a los usuarios, y a su vez todo esto se realizara cuidando nuestro medio ambiente.
ABSTRACT:
This project consists of an access control, security and lighting in a home (home automation) using hardware (ATMEGA 164PA) and software (AVR codevision PROTEUS).
The basic principle of operation is to have control of access to housing by a security key, also an audible alarm which is activated by entering the house without entering the key or by entering the wrong password three times, for the brightness control is done via serial communication which can handle both on and off of the lights of the house. In all these processes will show messages as signs indicating each action taken, the same that is displayed on a liquid crystal display or LCD.
This process was achieved to give a home automation. Users who have a system like the one described here, managed to take control of lights and home energy savings, surveillance, among others. This system can reduce economic costs, provide more comfort, tranquility to users, and in turn all this was done taking care of our environment.
Un sistema de control de acceso, seguridad y luminosidad en una vivienda (domtica), rene varios dispositivos entre estos el HADWARE y SOFTAWARE que tiene como fin controlar el encendido de luces a distancia y evitar gastos innecesarios en las planillas de pago de este servicio, conjuntamente mejorar la seguridad en la vivienda; adems el objetivo de automatizar la vivienda de acuerdo a los avances de la tecnologa y a las procesos de evolucin que vive la sociedad.
El sistema tendr su propio cdigo de programacin desarrollado a continuacin, toma los datos de entradas proporcionados tanto por el sensor, teclado y comunicacin serial, los cuales permiten se realicen todos los procesos del sistema.
Todo sistema de control de acceso, seguridad y luminosidad tendr una clave de acceso la cual ser administrada solamente el programador, la misma que puede cambiar solo cambiando la programacin y posterior grabado.
Las herramientas utilizadas para el desarrollo de este proyecto se han venido estudiando en el periodo de un bimestre en la materia de Sistemas Microprocesados con la finalidad de adaptar los conocimientos adquiridos al desarrollo del siguiente proyecto utilizando programas como el simulador Proteus y el compilador Codevision AVR
FIGURA1. Diagrama de bloques sistema de control de acceso, seguridad y luminosidad en una vivienda (domtica).
1.2 OBJETIVOS
Realizar un sistema domtico, mediante la utilizacin de dispositivos estudiados en la materia de Sistemas Microprocesados, para poder controlar de una forma ms eficiente y oportuna la seguridad, el control del sistema de luminarias y la alarma de seguridad de una vivienda.
Llegar a realizar un cdigo de programacin accesible, modificable y prctica, mediante el compilador antes mencionado, con el fin de que cumpla los requerimientos de un sistema de control de acceso, seguridad y luminosidad en una vivienda.
Investigar las diferentes conexiones a utilizar en el circuito para no tener problemas al momento de la presentacin final del proyecto.
Simular cada uno de los circuitos, en un Proteus para poder comprobar el correcto funcionamiento de los circuitos.
El sistema de control de acceso, seguridad y luminosidad en una vivienda debe ser prctico, sencillo y eficaz; teniendo en cuenta los diferentes recursos fsicos que se puedan adquirir para su realizacin del mismo.
Realizar la entrega del proyecto en su fecha limite indicada por el dirigente de la materia de Sistemas Microprocesados.
Tener el circuito simulado con su debido cdigo y adems armar en protoboard para su presentacin en la defensa del proyecto.
Realizar la maqueta de una vivienda en la cual se pueda acoplar el circuito armado en protoboard y de esta manera se pueda visualizar de una forma ms real y prctica el funcionamiento del sistema.
Comprender el uso y funcionamiento de cada uno de los elementos utilizados en este proyecto, mediante la implantacin de los circuitos.
Desarrollar una interfaz de control amigable y sencillo que utilice una interfaz ms visual y fcil de comprender, para ayuda a que el usuario sea capaz de controlar el sistema de manera autosuficiente.
10
Vivimos en un mundo que avanza de prisa, donde el tiempo es muy valioso, donde los seres humanos buscamos tener mayores comodidades, mayores seguridades y privilegios, sin tener que preocuparse demasiado. De igual manera hoy en el da la delincuencia ha crecido bastante convirtindose as en un problema social, haciendo que exista gran inseguridad en las personas y en sus propiedades.
Es ah donde la domtica cumple un papel muy importante por cuanto debido a los grandes avances tecnolgicos esto ya es una realidad y puede satisfacer nuestros deseos y problemas mencionados.Hoy en da, la domtica aporta soluciones dirigidas a todo tipo de viviendas, mejorando la calidad de vida de muchas personas, brindando tranquilidad y confortabilidad.
Para personas que tienen algn tipo de discapacidad, y no pueden realizar actividades en la misma medida que las dems personas, para ellas estos sistemas son ms que un privilegio, son una herramienta necesaria para mejorar su calidad de vida. As es que partiendo de esta necesidad de dotar a nuestras viviendas de una funcionalidad extra que mejore nuestra calidad de vida, nace la domtica basndose en aspectos como: confort, seguridad, gestin energtica.
11
El proyecto de control de acceso, seguridad y luminosidad en una vivienda (domtica), permite dar respuesta a los requerimientos que plantean estos cambios sociales y las nuevas tendencias de nuestra forma de vida, facilitando el diseo de casas y hogares ms humanos, ms personales, polifuncionales y flexibles.
El sector de la domtica ha evolucionado considerablemente en los ltimos aos, y en la actualidad ofrece una oferta ms consolidada. Hoy en da, la domtica aporta soluciones dirigidas a todo tipo de viviendas, incluidas las construcciones de vivienda oficial protegida. Adems, se ofrecen ms funcionalidades por menos dinero, ms variedad de producto, y gracias a la evolucin tecnolgica, son ms fciles de usar y de instalar. En definitiva, la oferta es mejor y de mayor calidad, y su utilizacin es ahora ms intuitiva y perfectamente manejable por cualquier usuario.
Los usuarios que cuenten con un sistema como el que aqu se describe, lograra tener el control de luces y ahorro de energa del hogar, sistema de vigilancia, entre otros. Este sistema puede reducir los gastos econmicos, dar ms confort a los usuarios, y a su vez todo esto se realizara cuidando nuestro medio ambiente. Hoy en da se facilita el trabajo mediante sistemas inteligentes que hagan esto por el hombre, as evitar la fatiga humana, y mayor tranquilidad al contar con un sistema de seguridad.
12
CAPITULO 2
El programa compilador traduce las instrucciones que se han escrito en el lenguaje de alto nivel (como en este caso se utiliza el lenguaje en C) a cdigo binario ejecutable por el microcontrolador. CodeVisionAVR es un compilador desarrollado por Pavel Haiduc para los AVR de 8 bits, desde los tinyAVR hasta los XMEGA. Su principal ventaja es que provee libreras integradas para controlar sus recursos internos y tambin dispositivos externos como LCDs, GLCDs, RTCs, sensores de temperatura, etc. En este sentido se le podra comparar con los compiladores C de CCS o Mikroe para los PICmicro. Como lo comprobaremos enseguida, CodeVisionAVR es el compilador C para los AVR ms fcil de usar, sin embargo, no llega a igualar la eficacia de los compiladores IAR AVR o AVR GCC. Tambin podremos comprobar algo de esta diferencia en la siguiente prctica. La versin de evaluacin de CodeVisionAVR permite usarlo en casi toda su funcionalidad para fines no comerciales. Tiene ciertas limitaciones con algunas de sus libreras (casi ni se nota) y no compila programas que superen los 4 kbytes de cdigo ejecutable.
13
Es una compilacin de programas de diseo y simulacin electrnica, desarrollado por Labcenter Electronics que consta de los dos programas principales: Ares e Isis, y los mdulos VSM y Electra. Son capaces de ejecutar en una PC programas realizados para el microcontrolador, este simulador permite tener el control absoluto sobre la ejecucin de un programa. Su gran inconveniente es que es difcil simular la entrada y salida de datos del microcontrolador, tampoco cuentan con los posibles ruidos en las entradas, pero, al menos, permiten el paso fsico de la implementacin de un modo ms seguro y menos costoso, puesto que ahorraremos en grabaciones de chips para las diferentes pruebas realizadas al circuito.
14
2.1.2 HARDAWARE
El ATmega164PA es un microcontrolador CMOS de 8 bits de bajo consumo basado en la arquitectura RISC mejorada. Sus instrucciones se ejecutan en un ciclo de mquina, el ATmega164PA consigue transferencia de informacin alrededor de 1 MIPS por MHz admitido por el sistema, permitiendo al diseador del sistema optimizar el consumo de energa versus la velocidad de procesamiento.
CARACTERISTICAS GENERALES: Microcontrolador AVR de 8 bits de alto rendimiento y bajo consumo. Arquitectura Avanzada RISC
15
- 131 instrucciones. La mayora de un solo ciclo de reloj de ejecucin. - 32 registros de trabajo de 8 bits para propsito general. - Funcionamiento esttico total. - Capacidad de procesamiento de unos 20 MIPS a 20 MHz. - Multiplicador por hardware de 2 ciclos Memorias de programa y de datos no voltiles de alta duracin
- 16/32/44 K bytes de FLASH auto programable en sistema - 512B/1K/2K bytes de EEPROM - 1/2/4K bytes de SRAM Interna - Ciclos de escritura/borrado: 10.000 en Flash / 100.000 en EEPROM Caractersticas de los perifricos
- Dos Timer/Contadores de 8 bits con prescalamiento separado y modo comparacin. - Un Timer/Contador de 16 bits con prescalamiento separado, modo comparacin y modo de captura. - Contador en Tiempo Real con Oscilador separado - 6 Canales para PWM - ADC de 10 bits y 8 canales Modo Diferencial con ganancia seleccionable a x1, x10 o x200. - Interface serie de dos hilos con byte orientado. - Dos puertos Seriales USART Programables - Interfaz Serial SPI maestro-esclavo - Watchdog Timer programable con oscilador independiente, dentro del mismo chip. - Comparador Analgico dentro del mismo Chip
16
Una pantalla de cristal lquido o LCD (sigla del ingls liquid crystal display) es una pantalla delgada y plana formada por un nmero de pxeles en color o monocromos colocados delante de una fuente de luz o reflectora. A menudo se utiliza en dispositivos electrnicos de pilas, ya que utiliza cantidades muy pequeas de energa elctrica.
17
Los teclados matriciales son muy tiles para el ingreso de datos, un ejemplo seria el teclado del computador. Un teclado matricial es un simple arreglo de botones conectados en filas y columnas, de modo que se pueden leer varios botones con el mnimo nmero de pines requeridos. Un teclado matricial 44 solamente ocupa 4 lneas de un puerto para las filas y otras 4 lneas para las columnas, de este modo se pueden leer 16 teclas utilizando solamente 8 lneas de un micro controlador. Si asumimos que todas las columnas y filas inicialmente estn en alto (1 lgico), la pulsacin de un botn se puede detectar al poner cada fila a en bajo (0 lgico) y checar cada columna en busca de un cero, si ninguna columna est en bajo entonces el 0 de las filas se recorre hacia la siguiente y as secuencialmente.
El MAX232 es un IC, primero creado por Maxim Integrated Products , que convierte las seales a partir de un RS-232 puerto serie a seales adecuadas para su uso
18
en TTL circuitos lgicos digitales compatibles. El MAX232 es un doble controlador / receptor y normalmente convierte las seales RTS RX, TX, CTS y.
Descripcin general: se describe el procedimiento para la conexin de un cable de interconexin entre un conector USB y otro DB9. Esta interfaz se usa en los casos en los cuales la PC (en particular las LAPTOPS) no cuente con salida DB9-RS232. El driver de la interfaz crea un puerto virtual COM, generalmente COM3 COM4 y puede ser usado por cualquier programa de comunicaciones, como Hyperterminal, que es un software estndar en todos los sistemas WINDOWS.
19 2.1.2.6. INTERRUPCIONES
Interrupcin (tambin conocida como corrupcin del hardware o peticin de interrupcin) es una seal recibida por el procesador de un ordenador, indicando que debe "interrumpir" el curso de ejecucin actual y pasar a ejecutar cdigo especfico para tratar esta situacin. Una interrupcin supone la ejecucin temporaria de un programa, para pasar a ejecutar una "subrutina de servicio de interrupcin", que pertenece al BIOS (Basic Input Output System)
La comunicacin serial consiste en el envo de un bit de informacin de manera secuencial, esto es, un bit a la vez y a un ritmo acordado entre el emisor y el receptor. Esta nos permite realizar como se indica la comunicacin entre el computador y el microprocesador, y as intercambiar informacin.
2.1.2.8. MTODOS
La utilizacin de mtodos dentro de nuestro sistema, no solo permite que el cdigo este ms ordenado, sino que tambin permite la reutilizacin del cdigo y as el programa pueda ser ms fcil y entendible. No tenga tantas lneas de cdigo y al momento de compilar, este proceso ser mas fcil.
20
CAPITULO 3
3.1 FLUJOGRAMA DEL FUNCIONAMIENTO DEL SISTEMA 3.1.1. FLUJOGRAMA DEL FUNCIONAMIENTO DEL CONTROL DE ACCESO
INICIO
else if
CLAVE CORRECTA Mensaje en LCD error
mensaje en LCD ABRIENDO
Cont++;
SE DESACTIVA LA SEGURIDAD DE LA VIVIENDA Cont=3
Se bloquea el sistema
FIN
21
INICIO
Opcin correcta
Activacin/desactivacin luminarias
FIN
#include <mega164a.h> #include <delay.h> #include <stdlib.h> para gestionar la memoria dinamica
// libreria del microcontrolador utilizado // libreria de retardo // libreria que contiene los prototipos en lenguaje C
// Standard Input/Output functions #include <stdio.h> // libreria q contiene las definiciones de macros, las
23
int h=0;
la alarma en caso de tres intentos fallidos eeprom unsigned int clave[4]; donde se almacena la clave int j; funcion de verificacion de la clave unsigned int s=0; su valor seudun el boton del teclado; char opc; unsigned int clave1=0,clave2=0,clave3=0,clave4=0; para leer la EEprom ; int numero[4]; luego ser verificada char text[]="A.ABRIR" ; ABRIR char text2[]="B.CERRAR"; texto CERRAR char actual[]="SU CLAVE" ; SU CONTRASENIA char errors[]="error"; ERROR // arregl tipo caracter que contiene el texto // arregl tipo caracter que contiene el texto // arregl tipo caracter que contiene el // arregl tipo caracter que contiene el texto // aregl* donde se guarda la clave ingresada para //cuatro digitos que utilizaremos //variables tipo caracter de control que cambian // variable tipo entero utilizada en el for que realiza la // arreglo guardado en la memoria eeprom
24
{ PORTB=0X80; if (PINB.0)return 13; if (PINB.1)return 8; if (PINB.2)return 9; if (PINB.3)return 10; PORTB=0X40; if (PINB.0)return 7; if (PINB.1)return 5; if (PINB.2)return 6; if (PINB.3)return 11; PORTB=0X20; if (PINB.0)return 4; if (PINB.1)return 2; if (PINB.2)return 3; if (PINB.3)return 12; PORTB=0X10; if (PINB.0)return 1; if (PINB.1)return 0; if (PINB.2)return 14; if (PINB.3)return 15; delay_ms(20); return 21; } // indica la direccion de la tecla precionada // indica la direccion de la tecla precionada // indica la direccion de la tecla precionada // indica la direccion de la tecla precionada
25
void teclado (void) { for (i=0;i<4;i++) { i=tecla (); if (i!= 21) { switch (i) {
// ciclo
break;
// TECLA 7 //retardo de 200 milisegundos // la ubicacion donde vamos a imprimir en la lcd // se imprime "*" en la ubicacion antes dada // da el valor de la tecla a una variable
26
break;
// TECLA 4
// TECLA 1
// TECLA 9
27
break;
// TECLA 6
break;
28
// TECLA A
break;
case 11:
29
//d1=1;d2=1;d3++; break;
//tecla ACEPTAR
//TECLA 8
//TECLA 2
30
lcd_gotoxy (d3,1); lcd_puts("*"); d1=2;d2=2;d3++; break; //TECLA 0 case 15: delay_ms(200); lcd_gotoxy (d3,1); lcd_puts("*"); d2=0;d3++; break; }
} } }
void abrir(){ // metodo utilizado cuando se ingresa la clave correcta, imprime en la lcd indicando que la puerta esta abierta; lcd_clear();
31
} void sucontr(){ // cuando se pide que ingrese la contrasea.....,; lcd_clear(); lcd_gotoxy (0,0); lcd_puts(actual); }
void write_lcd(){ // visualizar en pantalla las cadenas text y text2 a manera de menu; lcd_clear(); lcd_gotoxy (0,0); lcd_puts(text); lcd_gotoxy (0,1); lcd_puts(text2); }
void leer_eep(){ //* rutina que lee los datos de la EEprom y los guarda en las variables para ser comparadas; clave1=1; clave2=2; clave3=1; clave4=2;
32
} void error(){ //* se ve en pantalla la palabra error si no c teclea el num correcto; lcd_clear(); lcd_gotoxy (1,1); lcd_puts(errors);
void menu(void) {
case'0':
33
PORTD.3=1; printf("\r\rSALA ENCENDIDA"); lcd_clear(); delay_ms(200); lcd_gotoxy (0,0); lcd_puts("SALA"); lcd_gotoxy (0,1); lcd_puts("ON"); break; // imprime en la pantalla del hyperterminal
// borra todo l que este en la pantalla lcd // retardo de 200 milisegundos // ubicacion de donde se va imprimir en la pantalla lcd // imprime en la pantalla lcd // ubicacion donde se va imprimir en la pantalla lcd // imprime en la pantalla lcd
case'1': PORTD.3=0;
printf("\r\rSALA APAGADA"); lcd_clear(); delay_ms(200); lcd_gotoxy (0,0); lcd_puts("SALA"); lcd_gotoxy (0,1); lcd_puts("OFF"); break;
case '2':
34
PORTD.4=1; printf("\r\rDORMITORIO 1 ENCENDIDO"); lcd_clear(); delay_ms(200); lcd_gotoxy (0,0); lcd_puts("DORM1"); lcd_gotoxy (0,1); lcd_puts("ON"); break; //apagar luz del dormitorio1 case '3': PORTD.4=0; printf("\r\rDORMITORIO 1 APAGADO") ; lcd_clear(); delay_ms(200); lcd_gotoxy (0,0); lcd_puts("DORM1"); lcd_gotoxy (0,1); lcd_puts("OFF"); break; case '4': PORTD.5=1; printf("\r\rDORMITORIO 2 ENCENDIDO"); lcd_clear(); // enceder luz del dormitorio2
35
delay_ms(200); lcd_gotoxy (0,0); lcd_puts("DORM2"); lcd_gotoxy (0,1); lcd_puts("ON"); break; case '5': PORTD.5=0; printf("\r\rDORMITORIO 2 APAGADO"); lcd_clear(); delay_ms(200); lcd_gotoxy (0,0); lcd_puts("DORM2"); lcd_gotoxy (0,1); lcd_puts("OFF"); break; case '6': PORTD.6=1; printf("\r\rESTUDIO ENCENDIDO"); lcd_clear(); delay_ms(200); lcd_gotoxy (0,0); lcd_puts("ESTUDIO"); lcd_gotoxy (0,1); // encender luz del estudio // apagar luz del dormitorio2
36
lcd_puts("ON"); break; case '7': PORTD.6=0; printf("\r\rESTUDIO APAGADO"); lcd_clear(); delay_ms(200); lcd_gotoxy (0,0); lcd_puts("ESTUDIO"); lcd_gotoxy (0,1); lcd_puts("OFF"); break; case'8': // encender todas las luces // apagar luz del estudio
PORTD.3=1; PORTD.4=1; PORTD.5=1; PORTD.6=1; printf("\r\rTODAS ON"); lcd_clear(); delay_ms(200); lcd_gotoxy (0,0); lcd_puts("LUCES"); lcd_gotoxy (0,1);
37
PORTD.3=0; PORTD.4=0; PORTD.5=0; PORTD.6=0; printf("\r\rTODAS OFF"); lcd_clear(); delay_ms(200); lcd_gotoxy (0,0); lcd_puts("LUCES"); lcd_gotoxy (0,1); lcd_puts("OFF"); break;
} }
38
menu para controlar el encndido de luces de la vivienda { printf("\r\r\r CONTROLAR LUCES DE LA VIVIENDA \r\r\r0. APAGAR_SALA \r\r2. ENCENDER_DORMITORIO1 \r3.
ENCENDER_SALA \r1.
APAGAR_DORMITORIO1 \r\r4. ENCENDER_DORMITORIO2 \r5. APAGAR_DORMITORIO2 \r\r6. ENCENDER_ESTUDIO \r7. APAGAR_ESTUDIO \r\r8. ENCENDER_TODAS\r9. APAGAR TODAs_TODAS\r\r\r OPCION...." ); ELIA UNA
menu(); }
39
PORTA=0x00; DDRA=0x00;
PORTB=0x00; DDRB=0xF0;
PORTC=0x00; DDRC=0x00;
PORTD=0x00; DDRD=0xF8;
TCCR1A=0x00; TCCR1B=0x00;
40
41
UCSR1B=0x00;
// Analog Comparator initialization // Analog Comparator: Off // Analog Comparator Input Capture by Timer/Counter 1: Off ACSR=0x80; ADCSRB=0x00; DIDR1=0x00;
42
ADCSRA=0x00;
// Global enable interrupts #asm("sei") initmain() ; write_lcd() ; //* llamada a las funciones; leer_eep() ;
43
teclado ();
// en caso de error retorna aqui // si se escogio "ABRIR" o sea la opcion 1 del menu, llama a la
funcion que pide tu contrasea; d1=0; a comparar); d2=0; d3=0; if(alarma==3){PORTD.7=1;} veces se activa la alarma for(j=0;j<5;j=d3){ // como la contrasea es de 4 digitos, espera a que se // en caso de que ingresamos la clave incorrecta 3 // limpia las variables, (necesario para los nuevos valores que se van
presionen 4 teclas, el contador j se encarga de esto; teclado() ; numero[j]= (d2); la ubicacion j delay_ms(200) ; } // retardo de 100 milisegundos // llama al metodo teclado // va guardadndo el valor de la clave en el arreglo numero en
if (s==2){ correcta
44
if(numero[0]==clave[0] ){
al de nuestra clave en la misma ubicacion if(numero[1]==clave[1] ){ // verifica si el digito ingresado en la ubicacion 1 es igual
al de nuestra clave en la misma ubicacion if(numero[2]==clave[2] ){ // verifica si el digito ingresado en la ubicacion 2 es igual
al de nuestra clave en la misma ubicacion if(numero[3]==clave[3] ){ // verifica si el digito ingresado en la ubicacion 3 es igual
alarma=0;delay_ms(500);abrir();delay_ms(3000); metodo abrir h=1; lcd_clear(); lcd_gotoxy (0,0); lcd_puts("1.ABRIR"); lcd_gotoxy (0,1); lcd_puts("2.CERRAR"); PORTD.7=0; // borra la lcd
} else{ error(); delay_ms(1000);alarma++;goto inicio;} algun digito de la clave sea erroneo imprime error } // en caso de que
45
else{error(); delay_ms(1000);alarma++;goto inicio;} } else{ error(); delay_ms(1000); alarma++;goto inicio;} } else{ error(); delay_ms(1000); alarma++; goto inicio;} }
if(in==1 && h==0) { PORTD.7=1; alarma } if(s==3){ el mensaje h=0; lcd_gotoxy (0,0);
lcd_puts("PUERTA CERRADA");
} } }
46
CAPITULO 4
DISPOSITIVO Micro ATMEGA 164PA Grabador LCD Teclado matricial Pulsadores Cables conectores Transistor 3904 Resistencias Impresiones Cable serial USB/DB9 Conector DB9 leds maqueta capacitores potencimetro
CANT 1 1 1 1 2 30 1 18 1 1 1 4 1 4 1
PRECIO UNIDAD ($) 10 22 12 8 0,1 0.10 0,2 0,05 5 9,5 2,5 0,25 16 0,2 0,8 TOTAL
PRECIO TOTAL ($) 10 22 12 8 0,2 3.00 0,2 0,9 5 9,5 2,5 1 16 0,8 0,8 91,9
47
4.2 CONCLUSIONES: Se logr construir un circuito de manera que se pueda realizar el sistema control de acceso, seguridad y luminosidad en una vivienda (domtica).
Se realiz el control de acceso, mediante el acceso de la clave de 4 dgitos, utilizando la memoria eeprom del microprocesador.
Se logr identificar la configuracin de pines del microprocesador ATMEGA 164 y cada una de sus funciones, caractersticas, con la ayuda de los conocimientos adquiridos en clases y mediante el estudio del datasheet del mismo.
Luego de los anlisis respectivos se logr concluir que la teora aprendida en clases durante el transcurso del semestre satisface de una manera muy correcta el anlisis de la prctica.
Se logr conocer las conexiones de cada uno de los elementos, tanto como LCD, microprocesador, su correcta polarizacin.
Gracias al programa PROTEUS se pudo comprobar el buen funcionamiento del circuito y para posteriormente realizar la implementacin respectiva.
Se logr comprender el funcionamiento de todos los elementos estudiados durante el semestre, utilizndolos todos conjuntamente en un circuito en el que se aplique nuestros conocimientos adquiridos.
48
Mediante el microcontrolador se puede realizar muchas aplicaciones, dependiendo las funciones que este posee y deseemos utilizar.
Se pudo realizar la maqueta respectiva, en la cual se implement el circuito realizado para el sistema de control de acceso y luminosidad de la vivienda.
4.3 RECOMENDACIONES: Conocer el datasheet del microprocesador ATMEGA 164 PA, y en si todas las caractersticas del mismo. Analizar primeramente la polarizacin y la distribucin de pines de nuestros elementos utilizados en el proyecto para tener un buen funcionamiento y evitar que estos puedan daarse. Realizar la simulacin respectiva, antes de armar el circuito para comprobar su correcto funcionamiento. Utilizar mtodos y la menor cantidad de lneas de cdigo en nuestro programa, para que este se pueda compilar de una manera ms rpida y eficaz.
49
51
52
53
54
55
4.4 BIBLIOGRAFIA
SISTEMAS CON MICROPROCESADORES /ING. GERARDO COLLAGUAZO DATASHEET PIC16F628A ttp://www.todopic.com.ar/foros/index.php?topic=38913.0/controleeprom http://www.cursomicros.com/avr/compiladores/tutorial-de-codevision-avr.html http://electronica.webcindario.com/circuitos/cerradura.htm http://hetprostore.com/index.php?option=com_content&view=article&id=17%3Auart-usartatmega&catid=4%3Atutoriales&Itemid=7&lang=en http://galaxi0.wordpress.com/el-puerto-serial/