jueves, 7 de junio de 2012


Unidad 4


Proyecto final
Sistema de  Seguridad VEC


Objetivo


El objetivo de el sistema de seguridad VEC es poder abrir una puerta utilizando computadora a distancia o bien sustituir el uso de la llaves por este sistema. Esto ayuda en que ya no se tiene que estar presente para abrir la puerta y eso nos evita el riesgo de una confrontación con algún malhechor o a hacer mas ágil la entrada al establecimiento, solo introduciendo la contraseña sin necesidad de buscar llaves ni nada por el estilo



Funciones



—Tiene un administrador  general que  tiene la  capacidad de modificar el nombre de los demás invitados o usuarios   además de la contraseña.

—Tiene un sistema de  bloqueo  después de 3 intentos  fallidos  al fallar la contraseña 3 veces seguidas.

—Se puede controlar la puerta  arriba  y abajo.

—Tiene una alarma interna la computadora al  bloquearse la  computadora.

—Tiene LED’s indicadores cuando la puerta esta en movimiento



Aplicaciones



Se puede aplicar en los lugares donde se este en constante riesgo.

Con ayuda de una cámara el usuario puede observar quien es la persona que desea entrar al establecimiento y así poder decidir si este puede entrar sin necesidad de acercarse a la puerta

También se puede colocar cerca de la puerta, el usuario introduce la contraseña y abre la puerta sin necesidad de utilizar una llave



Lista de materiales:

—L293D

—Resistencia de 360 Ohm

—Puerto paralelo

—LED verde  y rojo

—Motor con transmisión

—Materiales   para realizar la maqueta

—Mariales para soldar, pegar y cortar

—Driver inpout32.dll para Windows xp

—Borland 5.2 c++

—Computadora con Windows xp


Programacion


 #include <stdio.h>
#include <conio.h>
#include <windows.h>
#include <iostream>
#include <stdlib.h>
#include <time.h>
#include <fstream.h>
time_t tact=time(NULL);
typedef short _stdcall (*inpfuncPtr)(short portaddr);
typedef void _stdcall (*oupfuncPtr)(short portaddr, short datum);
void contrasena();
int open();
char contrasena1[]="10";
 char contrasena2[]="11";
 char contrasena3[]="12";
 char contrasena4[]="13";
int main(void)
{
     HINSTANCE hLib;
     inpfuncPtr inp32;
     oupfuncPtr oup32;
     short x;
     int i;
     hLib = LoadLibrary("inpout32.dll");
     if (hLib == NULL) {
          printf("LoadLibrary Failed.\n");
          return -1;
     }
     inp32 = (inpfuncPtr) GetProcAddress(hLib, "Inp32");
     if (inp32 == NULL) {
          printf("GetProcAddress for Inp32 Failed.\n");
          return -1;
     }
     oup32 = (oupfuncPtr) GetProcAddress(hLib, "Out32");
     if (oup32 == NULL) {
          printf("GetProcAddress for Oup32 Failed.\n");
          return -1;
     }
     int est=0, s;
     s=1;int q;
     i=0x378;
     do
     {
     prim:
     contrasena();
     ma:
     clrscr();
     cout<<"1)controlar la puerta 2)regresar al inicio";
     cin>>q;
     if(q==0)
     {goto tew;}
     if(q==1){
     open();
     goto prim;
     tew:
     for(int t=(time(NULL)+s);time(NULL)!=t;time(NULL));
     cout<<"Finalizar";
     for(int t=(time(NULL)+s);time(NULL)!=t;time(NULL));
     est=1;
     goto ta;
     }
     if(q==2){goto prim;
     }else {cout<<" no tenemos la opcion deseada ";
     goto ma;} ta:
     }
     while(est==0);
     FreeLibrary(hLib);
     return 0;
}
int open()
{
HINSTANCE hLib;
     inpfuncPtr inp32;
     oupfuncPtr oup32;
     short x;
     int i;
     hLib = LoadLibrary("inpout32.dll");
     if (hLib == NULL) {
          printf("LoadLibrary Failed.\n");
          return -1;
     }
     inp32 = (inpfuncPtr) GetProcAddress(hLib, "Inp32");
     if (inp32 == NULL) {
          printf("GetProcAddress for Inp32 Failed.\n");
          return -1;
     }
     oup32 = (oupfuncPtr) GetProcAddress(hLib, "Out32");
     if (oup32 == NULL) {
          printf("GetProcAddress for Oup32 Failed.\n");
          return -1;
     }
 i=0x378;
 int p;
 regresar:
 clrscr();
cout<<" Presione 1) si quiere subir "<<endl;
cin>>p;
if(p==1)
{x=0x1;
 (oup32)(i,x);
 cout<<" Abriendo puerta...Por favor espere ";
 for(int t=(time(NULL)+9);time(NULL)!=t;time(NULL));
x=0x0;
(oup32)(i,x);
cout<<" Puerta abierta "<<endl;
 for(int t=(time(NULL)+2);time(NULL)!=t;time(NULL));
}
else if(p==3){goto shut;}

else{cout<<" no tenemos la opcion deseada "<<endl;
for(int t=(time(NULL)+3);time(NULL)!=t;time(NULL));
goto regresar;
}
back:
tim:
clrscr();
cout<<" Presione 0) si quiere bajar "<<endl;
cin>>p;
if(p==0)
{
x=0x2;
(oup32)(i,x);
cout<<" Cerrando puerta....Por favor espere";
for(int t=(time(NULL)+9);time(NULL)!=t;time(NULL));
x=0x0;
(oup32)(i,x);
cout<<" Puerta cerrada "<<endl;
for(int t=(time(NULL)+2);time(NULL)!=t;time(NULL));
cout<<" Presione 2) si quiere regresar a controlar la puerta"<<endl;
cout<<" Presione cualquier otro numero para regresar a la pantalla principal ";
cin>>p;
if(p==2)
{
goto regresar;
}
else{goto ki;}}else if(p==3){goto shut;}else{
cout<<" No tenemos la opcion deseada "<<endl;
for(int t=(time(NULL)+3);time(NULL)!=t;time(NULL));
goto tim;}
shut:
ki:
return 0;
}





void contrasena()
{int n;
char s[5];
int x;
int l;
l=0;
ini:
x=0;
if(l==3)
{
n1:
x=0;
cout<<" Bloqueado a\a\ "<<endl;
for(int t=(time(NULL)+1);time(NULL)!=t;time(NULL));
clrscr();
cout<<" Introdusca el contrasena del administrador ";
while((s[x]=(char)getch())!=13){
cout<<"*";x++;}
s[x]='\0';
if(strcmp(s,contrasena1))
{goto n1;
}
else
{
cout<<endl<<" Contrasena correcta";
cout<<endl<<" Bienvenido "<<endl;
cout<<" Usuario Administrador "<<endl;
cout<<" Contraseña rectificada ";
cout<<asctime(localtime(&tact))<<endl;
for(int t=(time(NULL)+4);time(NULL)!=t;time(NULL));
cout<<" Introdusca otra vez la contrasena que desee"<<endl;
for(int t=(time(NULL)+4);time(NULL)!=t;time(NULL));
x=0;
l=0;
}

}
clrscr();
int v;
char nom[30];
cout<<" Sistema de seguridad VEC "<<endl;
cout<<" Introduce la contrasena: ";
while((s[x]=(char)getch())!=13){
cout<<"*";x++;}
s[x]='\0';
if(strcmp(s,contrasena1))/*administrdor*/
{
}
else
{
cout<<endl<<" Contrasena correcta";
cout<<endl<<" Bienvenido "<<endl;
cout<<" Usuario Administrador "<<endl;
cout<<" Activado ";
ofstream salida;
salida.open("F://Datos//historial.txt",ios::app);
salida<<"Administrdor "<<endl;
salida<<asctime(localtime(&tact))<<endl;
 cout<<"\ndesea cambiar la configuracion de algun usuario?  \n1)usuario 1   2)usuario 2  3)usuario "<<endl;
 cout<<" cualquier otro numero para continuar"<<endl;
 cin>>v;
 if(v==1){
 retu:
 clrscr();
 cout<<" Desea cambiar 1) Nombre de usuario 2)Contrasena ";
 cin>>n;
if(n==1)
{ ofstream salida;
salida.open("F://Datos//usuario 1.txt");
cout<<"introdusca su nombre  :";
gets (nom);
salida<<nom<<endl; }
else if(n==2){ cout<<" Introdusca la contrasena ";
gets (contrasena1);
getch();} else{cout<<" No tenemos la opcion deseada "<<endl;
for(int t=(time(NULL)+2);time(NULL)!=t;time(NULL));
goto retu;}
getch();

}else if(v==2)
{
 retun:
 clrscr();
 cout<<" Desea cambiar 1) Nombre de usuario 2)Contrasena ";
 cin>>n;
 if(n==1)
{ofstream salida;
salida.open("F://Datos//usuario 2.txt");
cout<<"introdusca su nombre  :";
gets (nom);
salida<<nom<<endl; }else if(n==2){
 cout<<" Introdusca la contrasena ";
gets (contrasena2);
getch();} else{cout<<" No tenemos la opcion deseada "<<endl;
for(int t=(time(NULL)+2);time(NULL)!=t;time(NULL));
goto retun;}
getch();}
else if(v==3)
{
 ret:
 clrscr();
 cout<<" Desea cambiar 1) Nombre de usuario 2)Contrasena ";
 cin>>n;
 if(n==1)
{ofstream salida;
salida.open("F://Datos//usuario 3.txt");
cout<<"introdusca su nombre  :";
gets (nom);
salida<<nom<<endl;}else if(n==2){
 cout<<" Introdusca la contrasena ";
gets (contrasena3);
getch();} else{cout<<" No tenemos la opcion deseada "<<endl;
for(int t=(time(NULL)+2);time(NULL)!=t;time(NULL));
goto ret;}
getch(); }
else
{cout<<" No ha habido ningun cambio"<<endl;  }
goto r1;
}

if(strcmp(s,contrasena2))
{
}
else
{
cout<<endl<<" Contrasena correcta";
cout<<endl<<" Bienvenido "<<endl;
  char texto[120];
     ifstream fe;
fe.open("F://datos//usuario 1.txt");
fe.getline(texto,120);
cout<<texto<<endl;
cout<<" Activado ";
ofstream salida;
salida.open("F://Datos//historial.txt",ios::app);
salida<<texto<<endl;
salida<<asctime(localtime(&tact))<<endl;
getch();
goto r2;
}
if(strcmp(s,contrasena3))
{
}
else
{
cout<<endl<<" Contrasena correcta";
cout<<endl<<" Bienvenido "<<endl;
  char texto[120];
     ifstream fe;
fe.open("F://datos//usuario 2.txt");
fe.getline(texto,120);
cout<<texto<<endl;
cout<<" Activado ";
ofstream salida;
salida.open("F://Datos//historial.txt",ios::app);
salida<<texto<<endl;
salida<<asctime(localtime(&tact))<<endl;
getch();
goto r3;
}
if(strcmp(s,contrasena4))
{
cout<<endl<< " Contrasena erronea "<<endl;
for(int t=(time(NULL)+2);time(NULL)!=t;time(NULL));
l=l+1;
goto ini;
}
else
{
cout<<endl<<" Contrasena correcta";
cout<<endl<<" Bienvenido "<<endl;
  char texto[120];
     ifstream fe;
fe.open("F://datos//usuario 3.txt");
fe.getline(texto,120);
cout<<texto<<endl;
cout<<" Activado ";
ofstream salida;
salida.open("F://Datos//historial.txt",ios::app);
salida<<texto<<endl;
salida<<asctime(localtime(&tact))<<endl;
getch();
}

r1:
r2:
r3:
getch();
}




Circuito






Equipo:
Villarreal Uribe Marco Antonio
Echamea Camacho Carlos Darrel
Chavez Galarza Hector


Profesora. Ing Angela Colunga.

Instituto Tecnologico de Tijuana
    Ingenieria en Electronica











































No hay comentarios:

Publicar un comentario