Upload
daniel-cruz
View
4
Download
1
Embed Size (px)
DESCRIPTION
sfsadfdsaf dsaf
Citation preview
Instituto Tecnológico de Huatabampo
Instituto Tecnológico de HuatabampoSistema de Seguridad y monitoreo
Integrantes
Barragán Mendivil Alan
Valdez Cruz Saúl Baltazar
Carrera
Ingeniería Mecatrónica10° semestre
Miércoles 27 de Agosto del 2015
1
Índice
Índice de figuras……………………………………………………. 3
Introducción…………………………………………………………. 4
Capítulo IDefinición del Problema…………………………………..….….…..5Objetivo General…………………………………….……….…........ 5Objetivos Específicos…………………………….………….…........ 5Justificación……………………………………………….…….……. 6
Capitulo IIMarco Teórico……………………………………………..………… 7
Capítulo IIICronograma de Actividades…………………………………………12Descripción y método del proyecto..…………..……………...……13
Capitulo IVMetodología…………………………………………………………...14
Capítulo VComponentes del proyecto…………………………………………. 41
Capítulo VIDiagrama de construcción del prototipo…………………………… 43
Capítulo VllConclusión………………………………………..…………………… 46Recomendaciones……………………………...…..………………... 47Bibliografía…………………………………………………………….. 48Anexos……………………………………………...………………… 49
2
Índice de figuras
Fig.1.- a) Diagrama de bloques b) Panel frontal …………………………………………. 7
Fig.1.1.- Arduino mega 2560...……………………………………………………………… 8
Fig.1.2.- Protoboard. …………………………………………………………………………. 8
Fig.1.3.- Cámara de video…………………………………………………………………… 9
Fig.1.4.- Panel de programación de Visual Basic. ……………………………………...… 10
Fig.1.5.- Teclado matricial………………………………………………………………….. . 10
Fig.1.6.- Relevadores………………………………………………………………………… 11
Fig.1.7.- Transistor TIP120, a) Pines de conexión,
b) Diagrama eléctrico, c) comportamiento…………………………………………………. 11
Fig.1.8.- Cronograma de actividades………………………………………………………. 12
Fig. 1.8.-Diagrama de bloques del sistema de control…………………………. 14
Fig.2.- Panel frontal de Visual Basic……………………………………………………….. 37
Fig.2.1.- Diagrama de bloques en Labview……………………………………………….38
Fig. 2.2.-Panel frontal en Labview………………………………………………………….39
Fig. 3.- Diagrama eléctrico del control de puertas hecho en proteus………………….. 43
Fig. 3.1.- Diagrama básico del prototipo………………………………………………….. 44
Fig. 3.2 Diagrama del cableado de las Cámaras………………………………………… 45
fig. 4.- Circuito físico, y componentes…………………………………………………….. 49
3
CAPÍTULO l
INTRODUCTORIO.
1.1 Introducción.
La vigilancia por sistema es el proceso de monitoreo de personas, objetos o procesos dentro de sistemas para la conformidad de normas esperadas o deseadas en sistemas confiables para control de seguridad o social. Sin embargo, la vigilancia también incluye métodos simples, con poca o ninguna tecnología involucrada, tales como el uso de binoculares, intercepción de correspondencia, o métodos similares.
Las ventajas que se asocian al uso de las cámaras de seguridad y los sistemas digitales de vigilancia son en verdad extraordinarias. Por supuesto, la primera ventaja es la prevención del hurto, pero los sistemas de las cámaras pueden también evitar que otros crímenes sucedan. El vandalismo cuesta en un negocio miles de dólares cada año y las cámaras de seguridad del negocio pueden prevenir algunos de estos incidentes.
4
1.2 Definición del problema.
Los profesores del laboratorio del ITHUA en el área de metal-mecánicase preocupan por los materiales que se utilizan sean dañados o que sean estos robados, ya que con este tipo de material les dan un aprendizaje a sus alumnos, aparte no son materiales que tienen un costo bajo sino que tienen un costo muy elevado monetariamente esto le perjudica también mucho a la escuela.
Para evitar estas repercusiones se diseñó un sistema de vigilancia que permita acceder el monitoreo del laboratorio junto con sus puertas de seguridad que van integradas para tener acceso a los materiales, ya que esta solo podrán entrar aquellos que contengan el password; cada vez que la puertas sean abiertas, le llegara un mensaje al jefe de laboratorio de que alguien ha accedido al cuartoy así podrá él saber quién ha entrado a tal hora del día al cuarto que contienen los materiales de práctica y así poder evitar un robo o daño a ellos.
1.3 Objetivos.
1.3.1 Objetivo General.
Mantener la seguridadenel área del laboratorio con un sistema de vigilancia y control de puertas.
1.3.2 Objetivos específicos.
Monitorear los alrededores. Prevenir daños, robos en los materiales. Mantener las puertas con password. Mandar un mensaje al jefe del laboratorio en caso de que la puerta sea abierta. Proporcionar el servicio adecuado a los puntos de distribución. Satisfacer a los usuarios en seguridad.
5
1.4 Justificación.
Con el monitoreo de sistema de control y vigilancia en el área de trabajo se pretende prevenir daños físicos de los elementos así como robos de los mismos; Con ello seprolonga la vida de los elementos, beneficiando a la empresa, puesto que no se gastaría en reposiciones de ellos y lo más importante que es mantener el servicio a las comunidades que lo requieran.
6
Capitulo ll
Marco teórico.
2.1.- LabVIEW, entorno gráfico de programación, el lenguaje utilizado para
programar en él se llama “Lenguaje G, donde la “G” simboliza que es un lenguaje
de tipo gráfico, por lo que los programas no se escriben, sino que se dibujan, una labor
facilitada gracias a que LabVIEW consta de una gran cantidad de bloques prediseñados.
Los programas se dividen en dos partes bien diferenciadas, una llamada “Panel
Frontal”, y otra “Diagrama de Bloques”.
Panel Frontal: interfaz con el usuario, la utilizamos para interactuar con el
usuario cuando el programa se está ejecutando (Ver Fig.1.-b). En esta
interfaz se definen los controles (pueden ser botones, marcadores etc.)
e indicadores (los usamos como salidas, pueden ser gráficas, etc.).
Diagrama de Bloques: programa propiamente dicho, donde se define su
funcionalidad, aquí se colocan íconos que realizan una determinada función
y se interconectan (Ver Fig.1.-a). Suele haber una tercera
parte icono/conector que son los medios utilizados para conectar un VI con
otros VIs.
Fig.1.-a) Diagrama de bloques y b) Panel frontal.
7
2.2.- Arduino, herramienta para la fabricación de prototipos que pueden detectar y
controlar más del mundo físico que el equipo de escritorio. Es una plataforma de
computación física de código abierto basado en una placa electrónica simple, y un
entorno de desarrollo para escribir software para la placa. Arduino se puede
utilizar para desarrollar objetos interactivos, teniendo las entradas de una variedad
de interruptores o sensores, y el control de una variedad de luces, motores, y otras
salidas físicas. (Ver Fig. 1.1).
.
Fig.1.1.- Arduino mega 2560.
2.3.- Protoboard o breadbord, tablero con orificios, en la cual se pueden insertar
componentes electrónicos y cables para armar circuitos (ver fig1.3). Como su
nombre lo indica, esta tableta sirve para experimentar con circuitos electrónicos ,
con lo que se asegura el buen funcionamiento del mismo.
Fig.1.2.- Protoboard.
8
2.4.-Cámaras de video, son las primeras cámaras de video, propiamente dichas,
utilizaron tubos electrónicos como captadores: un tipo de válvulas termoiónicas
que realizaban, mediante el barrido por un haz de electrones del target donde se
formaba la imagen procedente de un sistema de lentes, la transducción de la luz
(que conformaba la imagen) en señales eléctricas. (Ver Fig. 1.3)
Fig.1.3.- Cámara de video.
2.5.- Visual Basic,lenguaje de programación dirigido por eventos, desarrollado
por Alan Cooper para Microsoft. Este lenguaje de programación es un dialecto
de BASIC, con importantes agregados. Su primera versión fue presentada
en 1991, con la intención de simplificar la programación utilizando un ambiente de
desarrollo que facilitó en cierta medida la programación misma.
La última versión fue la 6, liberada en 1998, para la que Microsoft extendió el
soporte hasta marzo de 2008.
En 2001 Microsoft propuso abandonar el desarrollo basado en la API Win32 y
pasar a un framework o marco común de librerías, independiente de la versión del
sistema operativo, .NET Framework, a través de Visual Basic .NET (y otros
lenguajes como C Sharp (C#) de fácil transición de código entre ellos); fue el
sucesor de Visual Basic 6.(Ver Fig. 1.4)
9
Fig.1.4.- Panel de programación de Visual Basic.
2.7.- Teclado Matricial, dispositivo electrónico que se encarga de ingresar números o caracteres como variables de entrada para dispositivos programables como los microcontroladores u otros hardwares. (Ver Fig. 1.5).
Fig.1.5.- Teclado matricial.
10
2.8.-Relevador dispositivo electromecánico. Funciona como un interruptor controlado por un circuito eléctrico en el que, por medio de una bobina y un electroimán, se acciona un juego de uno o varios contactos que permiten abrir o cerrar otros circuitos eléctricos independientes.(Ver Fig.1.6).
Fig.1.6.- Relevadores.
2.9.- Transistor TIP120, dispositivo electrónico semiconductor que cumple
funciones como un interruptor electrónico (conmutador o switch). Físicamente,
tiene una entrada llamada el Colector, una salida llamada el Emisor, y un control
denominado Base. Cuando se envía una señal de ALTO a la base, el transistor
cambia y permite que la corriente fluya desde el colector para el emisor (ver fig.
1.7).
Fig.1.7.- Transistor TIP120, a) Pines de conexión, b) diagrama eléctrico, c) comportamiento
11
CAPÍTULO III
DESCRIPCIÓN Y MÉTODO DEL PROYECTO.
3.- Cronograma de actividades de Alan Barragán Mendivil:
ACTIVIDAD1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Estudio del área a controlar P X X
R X X X
Programación del prototipo de Arduino y
Visual basic
P X X X X
R X X X
Fabricación del prototipo de prueba P X X
R X X
Pruebas del prototipo electrónico y programadoP X X X X
R X X X
Diseño de la distribución de los
elementos en el croquis
P X X X
R X X X X
12
Cronograma de actividades de Saul Baltazar Valdez Cruz:
ACTIVIDAD1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
Estudio del área a controlar P X X X
R X X
Programación del prototipo de Labview P X X X
R X X X
Fabricación del prototipo de prueba P X X
R X X
Pruebas del prototipo electrónico y
programado
P X X X
R X X X
Diseño de la distribución de los
elementos en el croquis
P X X X
R X X
P
R
P
R
13
4.- Descripción Detallada De Las Actividades
Estudio del área a controlar: Se analizó el área donde se va a colocar las
cámaras en un ángulo seguro en el cual tiene un buen alcance, mayor la amplitud
del área trabajada y para las puertas en las áreas donde se encuentras los
materiales del laboratorio.
Desarrollo del software el sistema de monitoreo: Al haber analizado el área del
laboratorio, se procedió a estudiar con detenimiento los resultados obtenidos para
realizar el programa en LabVIEW, Arduino y Visual Basic. Se utilizó la placa
arduino como tarjeta de adquisición de datos la cual ayudó a obtener la señal que
mandara al Visual Basic para poder mandar el correo al celular. Las cámaras por
separado conectadas a la pc e identificando por la interfaz de LabVIEW.
Diseño del prototipo: Al analizar el croquis y ver las medidas que proporcionaba
el área, se compraron los elementos del sistema para poder implementarlo en el
área de trabajo.
Pruebas del prototipo: Al tener el prototipo se realizaron las pruebas necesarias
para visualizar el comportamiento del sistema de control con relación a las
variables que se utilizan en el programa. Se realizaron correcciones y se verifico
que el programa estuviera funcionando correctamente, con la interface.
Elaboración de prototipo: Se fabricó un prototipo el cual simula el proceso de
vigilancia con una cámara y con un relé para simular el abierto y cerrado de la
puerta.
14
CAPÍTULO IV
Metodología.
4.1Diagrama en bloques.
A continuación se muestran el diagrama de bloques del sistema de control
(fig.1.8), Con los distintos factores o elementos que interactúan en él.
Fig. 1.8.-Diagrama de bloques del sistema de control.
15
4.1.1.- Área de programación del proyecto
Programación del control de las puertas en Arduino y Visual Basic.
1.- Enunciado:
Se desea implementar un sistema de control para una puerta y vigilancia en el que el usuario inserte un password, que él allá elegido y este al momento que sea activado abra una puerta electrónica, mande un mensaje por correo electrónico al celular; también contenga un password master y contenga un cambio de contraseña en su menú.
16
2.- Diagrama de flujo.
17
Introducir contraseña
¿Contraseña correcta?
¿Cambiar contraseña?
Introducir contraseña
master
Abre la puerta
Error
SI NOIntroduzca contraseña
anterior
¿Contraseña es la misma?
SI NO
Introduzca nueva contraseña
Introduzca de nuevo la
contraseña
SI NO
Contraseña nueva guardada
Inicio
SI NO
Introduzca nueva
contraseña
Introduzca de nuevo la
contraseña
SI NO
Error
Error
Error
Enviar mensaje de texto al
3.- Programación en Arduino y Visual Basic.
-Programación Arduino:
#include<Keypad.h> // Controla el teclado
#include<LiquidCrystal.h> //controla el LCD
#include<EEPROM.h> //COntrola E/S EEPROM
//*****************************************
//*** Declaracion de variables locales*****
//*****************************************
char dato;
LiquidCrystallcd(2,3,4,5,6,7); //display LCD
const byte filas = 4;
const byte columnas = 4;
bytepinsFilas[filas]= {53,51,49,47};
bytepinsColumnas[columnas] = {52,50,48,46};//a0
char teclas[filas][columnas] = {
{'1','2','3','A'}, // Declaración del teclado
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'},
};
Keypad teclado = Keypad(makeKeymap(teclas), pinsFilas,pinsColumnas, filas,
columnas); // ya para poder escribir en el teclado
18
charco[5] = {'1','2','3','4'}; //almacena la contraseña en eeprom
char cl[5]; //almacena la contraseña nueva
charcn[5]; //confirmacion de la contraseña
charca[7]= {'3','7','1','9','2','A'}; //clave master
char cal[7]; // Clave master leida
int contador = 0; //Lleva la posicion del array
intcursorr = 6; //Lleva la posicion del cursor
intcomp; // comparacion entre 2 arrays
int a; //auxiliar
voidsetup(){
Serial.begin(9600);
pinMode(19, OUTPUT); //no es nada
pinMode(13,OUTPUT);// LEDS QUE INDICAN ABIERTO(13) O CERRADO(13)
digitalWrite(19, HIGH); // no es nada
for(int i =0;i<=3;i++){ //LEER CONTRASEÑA DE LA EEPROM
co[i]= EEPROM.read(i); //almacenarla en co[]
} //fin del for
lcd.begin(16, 2); //Configuracionlcd 16X2 (columnas,fila)
lcd.setCursor(6,1); // La escritura de numero siempre sera en el segundo renglon
a partir dle 6to cuadrito
lcd.print("____"); // Espacios a escribir
19
lcd.setCursor(0,0);
lcd.print("Introduzca pass ");
}//fin del setup
voidloop(){
cl[contador] = teclado.getKey(); // almacenar en la posicion contador la tecla
pulsada
if (cl[contador] != NO_KEY){ // Si se pulsó alguna tecla entonces (es para poder
ingresarlos numeros)
dato= Serial.read();
switch (cl[contador]){ //condiciones segun la tecla pulsada
//*****************************************//
//Comprobar si la contraseña es correcta
//******************************************//
case 'A':
comp = comprobacion(cl,co)+1; // comp almacena si los 4 numeros son iguales
if (comp==4){ //si los 4 digitos son los mismos entonces
lcdtextoizq(" **Correcto**");
ledverde();
delay(500);
Serial.println("EL TITANI");
delay(5000);// es el tiempo de abierta la puerta
ledrojo();
20
Serial.println("EL TITANI");
delay(600);
lcdtextoizq("Cerrando puerta");
delay(600);
lcdnumero();//para que la pantalla regrese donde pide contraseña
} //fin del if de comp>=4
else{ //si al pulsar 'A' no son iguales
lcdtextocentrado("Error"); // te aparece error en la pantalla si no es igual la
contraseña
delay(600);
lcd.setCursor(0,1);
lcd.print(comp);
delay(500);
lcdnumero();
} // fin del else al ifcomp>=4
break; //break al caso 'a'
case 'B':
for(int i = 0 ; i<4;i++){ // borra el codigo temporal guardado
cl[i]='0';
}//fin del for
lcdnumero();
break; //fin del caso B
21
case 'C':
repetirpass();
comp = comprobacion(cl,co)+1;
if (comp>=4){ //si la contraseña concideentonce(hace la igualación de
contraseñas)
lcdtextoizq("Pass correcta");
delay(500);
nuevapass(); // te pide la contraseña nueva
vuelve(); // te vuelve a pedri la contraseña
}
else{
lcdtextoizq("No pudo cambiar");
} //fin del switch //funcion cambio de password
comp = comprobacion(cn,cl);
if (comp>=4){
lcdtextoizq("Correcto");
delay(500);
lcdtextoizq("Nueva pass");
delay(500);
lcdtextoizq("pass guardada");
delay(500);
22
for(int i =0;i<=4;i++){
EEPROM.write(i,cl[i]);}
for(int i =0;i<=4;i++){
co[i]= EEPROM.read(i);}
lcdnumero();
lcdtitulo("Introduzca pass");
break;//fin caso c
case '#': //seccion master ( seleccionas para poner la contraseña master)
admin();
break;
default:
escribirn(cl);
}
}
} //fin del if si se pulso alguna tecla
if (contador==4){ //Vuelve a hacer que el cursor comience a partir de cuadrito 6
contador=0;
cursorr=6;
}
}//fin del loop
//*********************************
23
//*****Seccion de funciones********
//*********************************
voidlcdnumero(){ //resta los valores del cursor del lcdasi como del contador
lcd.setCursor(0,1); //segundo renglon
lcd.print(" ");
lcd.setCursor(6,1);
lcd.print("____");
cursorr=6;
contador=0;
} //fin de lcdresetparanumero
voidlcdtextocentrado(String A){ //escribe el mensaje segundo renglon 1eer cuadro
lcd.setCursor(0,1);
lcd.print(" ");
lcd.setCursor(6,1);
lcd.print(A); //imprime el valor introducido
} //fin de lcdresetparatexto
voidlcdtextoizq(String A){ //escribe el mensaje segundo renglon 6tocuadro
lcd.setCursor(0,1);
lcd.print(" ");
lcd.setCursor(0,1);
lcd.print(A); //imprime el valor introducido
24
} //fin de lcdresetparatexto
voidledrojo(){ //enciende led rojo
digitalWrite(19, HIGH);// recuerda que este no es nada
digitalWrite(13,LOW);
}
voidledverde(){ //enciende led verde
digitalWrite(19, LOW);// recuerda que este no es nada
digitalWrite(13, HIGH);
}
voidescribirn(char *v){ //escribe el valor de un array en la posicion actual del
contador( pone el numero y lo sustituye por el asterisco)
lcd.setCursor(cursorr,1);
lcd.print(v[contador]);
v[contador+1]= (' ');
delay(250);
lcd.setCursor(cursorr,1);
lcd.print('*');
cursorr++;
contador++;
}
intcomprobacion(char *v1,char *v2){ // hace la comprobación de las contraseñas
de la tecla C
25
intigual = 0;
for(int i = 0; i<=5; i++){
if(v1[i]==v2[i])
igual= igual + 1; // hace la comprobaación de las contraseñas
}
return igual;
}
voidlcdtitulo(String a){ // el numnero se convierte a string
lcd.setCursor(0,0);
lcd.print(" ");
lcd.setCursor(0,0);
lcd.print(a); //imprime el valor introducido del teclado matricial
} //fin de lcdresetparatexto
voidrepetirpass(){
int i =0;
lcdtitulo("Introduzca pass");
delay(800);
lcdtitulo("pass anterior");
delay(1000);
lcdtextoizq("Finalice con *");
26
lcdnumero();
while (i<=4){ //hará esto 4 vces (es el que permite que solo pongas 4
numeros en el LCD)
cl[contador] = teclado.getKey(); //obtiene valor
if (cl[contador]!=NO_KEY){ //si detecta una tecla entonces
switch (cl[contador]){
case '*': //comprueba si la pass escrita es igual a la anterior
comp=0;
comp = comprobacion(cl,co);
if (comp>=4){ //si es igual
lcdtextocentrado("Correcto");
ledverde();
delay(300);
ledrojo();
i=5;} //fin if comp<=4
else{
lcdtextocentrado("Error");
i=5;
}//endelse
break; //fin del caso *
default:
escribirn(cl);
27
i++;
}//fin del switch
}//fin del if no key
}//fin del if contador==4
//fin del while
}//fin de la funcionrepetirpass
voidnuevapass(){
lcdtitulo("Intro nueva pass");
lcdtextoizq("Finalice con 'D'");
delay(1500);
lcdtextoizq("SOLO NUMEROS");
delay(1500);
lcdnumero();
while(contador<=4){ //cuatro veces el ciclo
cl[contador] = teclado.getKey();
if (cl[contador]!=NO_KEY){ //si escribí algo
switch (cl[contador]){
case 'D':
if (contador>=4){ // si ya escribio 4 numeros // confirmas contraseña es como el
enter
lcdtextoizq("Vuelve a ingresarla");
28
delay(1000);
contador=5;
}//fin del if contador==$
else { // si no escribio 4 numeros
lcdtextoizq("Error de pass");
delay(500);
lcd.setCursor(0,1);
lcdtextoizq(" ");
lcd.print(contador);
contador =5;
}//Fin del else
break;
default:
escribirn(cl);
}//fin del switch
//fin del if
}//fn del if no key
}//fin de while
}//finde nueva pass
void vuelve(){
lcdtitulo("Escribe otra vez");
29
lcdtextoizq("Finalice con '#'");
delay(1500);
lcdnumero();
while(contador<=4){ //cuatro veces el ciclo es lo mismo de la confirmación de la
contraseña
cn[contador] = teclado.getKey();
if (cn[contador]!=NO_KEY){ //si escribi algo// activar teclado
switch (cn[contador]){
case '#':
if (contador>=3){ // si ya escribio 4 numeros
lcdtextoizq("Contraseña leida");
contador=5;
}//fin del if contador==$
else { // si no escribio 4 numeros
lcdtextoizq("Error de pass");
delay(500);
lcd.setCursor(0,1);
lcdtextoizq(" ");
lcd.print(contador);
}//Fin del else
break;
default:
30
escribirn(cn);
}//fin del switch
//fin del if
}//fndel if no key
}//fin de while
}
//findevolver pass
void admin(void)
{
lcdtitulo("Master pass");
lcdtextoizq("'*' = Aceptar");
delay(1500);
lcdnumero();
cursorr=4;
while(contador<=8){
cal[contador]=teclado.getKey();
if (cal[contador]!=NO_KEY){ //si escribi algo acticar teclado
switch (cal[contador]){
case '*':
comp =comprobacion(cal,ca);
31
if (comp>=6){
lcdtitulo("Hola admin");
contador =20;
adminpass();
}
//fin del if contador==$
else { // si no escribio 4 numeros
lcdtextoizq("Error de pass");
contador =20;
lcdtitulo(" **PASWORD** ");
lcdnumero();
}break;
case 'B':
for(int i = 0 ; i<4;i++){ // borra el codigo temporal guardado
cal[contador]='0';
}//fin del for
lcdnumero();
break; //fin del caso B
default:
escribirn(cal);
}//fin del switch
32
//fin del if
}//fn del if no key
}//fin de while
}//findeadmin
voidadminpass(){
lcdtitulo("Pass nueva");
lcdtextoizq("Finalice con '#'");
delay(1500);
lcdnumero();
while(contador<=4){ //cuatro veces el ciclo
cn[contador] = teclado.getKey();
if (cn[contador]!=NO_KEY){ //si escribi algo
switch (cn[contador])
{
case '#':
if (contador>=3){ // si ya escribio 4 numeros ya para confirmar nueva contraseña
cuando estas con la clave master
lcdtextoizq("Contraseñaleida");
for(int i =0;i<=4;i++){
EEPROM.write(i,cn[i]);}
for(int i =0;i<=4;i++){
co[i]= EEPROM.read(i);}
33
delay(500);
lcdtextoizq("Pass actualizada");
contador = 10;
delay(500);
lcdtitulo("Introduzca pass");
lcdtextoizq("Confirma con 'A'");
}//fin del if contador==$
else { // si no escribio 4 numeros
lcdtextoizq("Error de pass");
delay(500);
lcd.setCursor(0,1);
lcdtextoizq(" ");
lcd.print(contador);
}//Fin del else
break;
case 'B':
for(int i = 0 ; i<4;i++){ // borra el codigo temporal guardado
cn[contador]='0';
}//fin del for
lcdnumero();
34
break; //fin del caso B
default:
escribirn(cn);
}//fin del switch
//fin del if
}//fn del if no key
}//fin de while
}
//finde volver pass
35
3.1.- Programación en Visual Basic:
using System;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Net.Mail;usingSystem.Net.Mime;
namespaceEnviarCorreo{public partial class Form1 : Form {
private string To;private string Subject;private string Body;privateMailMessage mail;private Attachment Data;
public Form1() {InitializeComponent(); }
private void examinarBtn_Click(object sender, EventArgs e) {openFileDialog1.ShowDialog();archivoAdjTxt.Text = openFileDialog1.FileName; }
private void toTxt_TextChanged(object sender, EventArgs e) {
}
private void button1_Click(object sender, EventArgs e) {try {serialPort1.Open(); timer1.Enabled = true;MessageBox.Show("Conectado"); }catch {MessageBox.Show("¡No Conectado!");
} }
private void timer1_Tick(object sender, EventArgs e)
36
{try { textBox1.Text = serialPort1.ReadExisting();
string Z = textBox1.Text.Substring(0, 9);string X = "EL TITANI";if (Z == X) {
if (!(toTxt.Text.Trim() == "")) { To = toTxt.Text; Subject = asuntoTxt.Text; Body = mensajeTxt.Text;
mail = new MailMessage();mail.To.Add(new MailAddress("[email protected]"));mail.From = new MailAddress("[email protected]");mail.Subject = "Mecatronica";mail.Body = " ¡Entraron al laboratorio !";mail.IsBodyHtml = false;
if (!(archivoAdjTxt.Text.Trim() == "")) { Data = new Attachment(archivoAdjTxt.Text, MediaTypeNames.Application.Octet);mail.Attachments.Add(Data); }
SmtpClient client = new SmtpClient("smtp.live.com", 587);using (client) {client.Credentials = new System.Net.NetworkCredential("[email protected]", "mecatronica2015");client.EnableSsl = true;client.Send(mail);}MessageBox.Show("Mensajeenviado"); }
}
}catch {
} }
private void textBox1_TextChanged(object sender, EventArgs e) {
}
private void label3_Click(object sender, EventArgs e){} }}
37
3.1.1Panel Frontal de visual:
Fig.2.- Panel frontal de Visual Basic.
1.- Es la parte que se encarga de enlazar la comunicación entre Arduino y Visual Basic.
2.- Se encarga de verificar si el puerto COM del arduino está conectado, como aparece en la imagen dice ¡No conectado!, se muestra que no ha encontrado ningún dispositivo y tiene que volver a conectar este puerto ósea el arduino.
3- Es para introducir solo el correo electrónico que se desea enviar el mensaje o asunto.
4- Este es muy importante porque con este se verifica si hay o no datos de entrada del puerto arduino, cuando este se vea un mensaje escrito con la palabra “EL TITANI” resulta que si hay datos de recibidos, estos datos se envían cuando nosotros introducimos la contraseña correcta en nuestro arduino.
38
3.2 Programación en Labview.
Enunciado.- Se desea diseñar un programa en Labview, para el control de las cámaras que mantendrán la vigilancia, estas que no tomen un video en sí, si no que capturen imágenes cada cierto tiempo, así que el usuario no se preocupe por el almacenamiento del ordenador.
3.2.1Diagrama de bloques de labview.
Fig.2.1.- Diagrama de bloques en Labview.
1.- Aquí vemos las herramientas base para el diseño en labview, es la librería VAS (NI VisionAcquisition) este se carga de que nosotros podremos controlar la cámara a nuestro gusto, es la herramienta base para la programación del control de cámaras.
2.- Este también es parte de la librería de VAS, solo que este está por fuera porque no tiene nada que ver con la configuración de la cámara, si no que aquí es donde nosotros podremos elegir lo que es el RGB o colores de las imágenes capturadas.
3.- Aquí es la parte donde se encuentra el contador de nuestro programa, aquí usamos convertidor de un usamos convertidores de decimal a cadena y unión de cadenas con concatenado, así la extensión .jpg se guardara aumentando su nombre en uno, para que no se repita el mismo nombre y se remplace, así se guardara .jpg1, .jpg2 etc., se tuvo que hacer este contador porque había un error en el que se guardaba la imagen capturada pero tenía el error de que se sustituía en la imagen anteriormente guardada.
39
4.- Aquí es donde se hace la unión de la extensión .jpg con el archivo guardado, así es como se guardan las imágenes para que no se sustituyan, y se guarden consecutivamente y también es coger la dirección de donde queramos que se guarden nuestras imágenes capturadas, claro este es un case y para que este se active primero debemos presionar el botón de captura, en caso de presionar el boto, el case entra a modo TRUE y hará lo que es la captura, en caso contrario que no esté presionado, entrara a modo FALSE y no hará nada.
3.2.2 Panel frontal de labview.
Fig. 2.2.-Panel frontal en Labview.
1.- Selección de cámara, aquí es donde escogeremos la cámara que deseemos usar para nuestra vigilancia, aquí aparecerá un listado de las cámaras conectadas a nuestro ordenador.
2.- Este es el botón de captura y es el que inicia con la captura de imágenes.
3.- Aquí veremos la imagen que vamos a capturar, antes del almacenamiento.
40
4.- Este es el botón de STOP, en este caso detener, y se encarga de poner en alto todo el programa.
5.- Aquí veremos el número total de capturas que lleva nuestra cámara.
6.-En este recuadro es donde nosotros veremos las imágenes que va capturando nuestra cámara, ósea las que se van almacenando en nuestro ordenador.
3.2.3 Diagrama de flujo de labview.
41
Inicio
Capturar
Si No
Iniciar captura de imágenes
Almacenar Imagen capturadas
Detener
Seleccionar cámara
CAPITULO V
Componentes del proyecto.
5.- Costo unitario de los componentes del sistema:
-1 cable Ethernet...………….$100
-1 cable USB…………………$80
-1 kit cámaras de vigilancia...…$2800
-1 kit arduino mega…………$2000
-1 chapa magnética…………$750
-1 Computadora……………..$6300
Costo total del sistema……. $12410
42
5.1.- Vendedores en línea de los componentes para el proyecto.
-Para la compra del cable USB y Ethernet puede contactar con el vendedor y ver el producto mediante está página de internet:
USB:
http://articulo.mercadolibre.com.mx/MLM-493465302-extencion-cable-usb-10-metros-macho-hembra-laptop-impresora-_JM
Ethernet:
http://articulo.mercadolibre.com.mx/MLM-493092352-cable-de-red-20-metros-de-longitud-_JM
-Para la compra de cámaras se consultara con otro distinto:
http://articulo.mercadolibre.com.mx/MLM-495517841-kit-cctv-dvr-videovigilancia-4-camaras-envio-gratis-circuito-_JM
-Compra de componentes electrónicos, arduino, relevadores, potenciómetros, celda matricial, pantalla LCD y cables para la conexión:
http://articulo.mercadolibre.com.mx/MLM-495915325-arduino-starter-kit-100-original-aprende-a-usar-arduino-_JM
-En la compra de la computadora de escritorio se debe contactar con el usuario:
http://articulo.mercadolibre.com.mx/MLM-493895669-computadora-cpu-hardcore-gamer-amda4-1tb-8gb-teclado-mouse-_JM
-Compra para la chapa magnética con el usuario:
http://articulo.mercadolibre.com.mx/MLM-496724733-chapa-magnetica-iman-280kgs-con-led-ym280tled-_JM
43
CAPÍTULOVl
Diagrama de construcción del prototipo.
6.- Control de las puertas (Diagrama eléctrico).
Se implementó un prototipo en el cual se pudieran comprobar las activaciones que
se hacían en el programa (ver fig.3) y así corregir errores y verificar su correcto
funcionamiento.
Fig. 3.- Diagrama eléctrico del control de puertas hecho en proteus.
44
6.1.-Diagrama básico del prototipo.
Fig. 3.1.- Diagrama básico del prototipo.
45
6.2.-Diagrama del cableado de cámaras.
Fig. 3.2 Diagrama del cableado de las Cámaras.
1.- Las lineas rojas son el cableado de las camaras.
2.- los ovalos rojos es donde van a ir colocadas las camaras de seguridad.
3.- el cuadro rojo indica el servidor central.
46
CAPÍTULO Vll
CONCLUSION.
Si la escuela lleva a cabo el financiamiento de este proyecto podrá implantarse en distintas secciones estratégicas que mantenga en seguridad toda la universidad. El proyecto es un sistema novedoso que puede introducirse hasta empresas y otras sucursales que se desee mientras sea financiado correctamente.
47
RECOMENDACIONES.
6.1 Notas.
Este sistema solo es prototipo para simular un sistema de seguridad y de monitoreo en el departamento de metal-mecánica, se cumplieron los objetivos, el prototipo fue diseñado con todos los elementos indicados como una cámara de pc simulando una cámara profesional de monitoreo, un relevador para simular el abierto de la puerta electrónica, el control del sistema se hizo con un teclado matricial para introducir la contraseña. Se llevó acabo solo esto porque hizo falta dinero para llevarlo completo a la práctica.
6.2 Notas de mejora.
El sistema claro que se puede mejorar algunos mejoras podrían ser:
-El sistema de comando de reconocimiento de voz con un celular (en vez del teclado matricial).
- La cámara sea seguidora de patrones ósea que reconozca rostros (que no sea cámara figa).
48
Bibliografías.
http://www.protecciontitanium2948.com/a-que-llamamos-sistemas-de-vigilancia-quien-los-necesita-ventajas/
https://www.google.com.mx/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CCQQFjAAahUKEwj4iLa-84XGAhVDIqwKHblyAMw&url=http%3A%2F%2Fes.wikipedia.org%2Fwiki%2FVigilancia&ei=ipV4VfibEsPEsAW55YHgDA&usg=AFQjCNH6bXdjcwj2vGRZmr4JIBnnV0xksg
https://www.google.com.mx/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&cad=rja&uact=8&sqi=2&ved=0CCcQFjABahUKEwiQzqz5-IXGAhWBGKwKHS3ZAB0&url=https%3A%2F%2Fproyectoarduino.wordpress.com%2F%25C2%25BFque-es-arduino%2F&ei=RJt4VZCcA4GxsAWtsoPoAQ&usg=AFQjCNHYcsQr1-8QPba_TfhCBTnRZaDzTg
https://www.google.com.mx/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&cad=rja&uact=8&sqi=2&ved=0CC4QFjADahUKEwjG18SB-YXGAhVIAawKHeJ-AFU&url=http%3A%2F%2Fwww.ni.com%2Flabview%2Fwhy%2Fesa%2F&ei=VZt4VYbZDciCsAXi_YGoBQ&usg=AFQjCNGr1r9bQncJNHWzPzurhbtOzEpDEA
https://www.google.com.mx/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&uact=8&sqi=2&ved=0CCMQFjACahUKEwjqgL-f-YXGAhVBZqwKHV8DAOM&url=http%3A%2F%2Fes.wikipedia.org%2Fwiki%2FVisual_Basic&ei=lJt4VermAsHMsQXfhoCYDg&usg=AFQjCNG6hkXLTJN-BAqN_KXG_CRLyIhcbA
http://ryutaku.com/proyecto-caja-fuerte-en-arduino-con-diagrama-de-conexion/
49
Anexos.
fig. 4.- Circuito físico, y componentes.
50