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