Академический Документы
Профессиональный Документы
Культура Документы
TALLER ELECTRNICO IV
Gestin I/2013
Cochabamba Bolivia
Fuente:(3)
En informtica y electrnica se habla de dos tipos de seguridades, la fsica (barreras fsicas
que impiden el paso al sistema de cualquier persona no acreditada. Se realiza a travs de
aplicaciones y procedimientos especficos que tienen el objeto de bloquear el acceso a
dichos individuos) y la lgica (las formas en las que se desempea este tipo de seguridad es
a travs de encriptacin de cdigos, de modo que no puedan ser ledos o traducidos por los
intrusos que pudieran sobre pasar las barreras fsicas, cdigos de autenticacin y antivirus o
pared de fuego, en el caso de usar un sistema operativo como Windows). A la hora de
elaborar un diseo electrnico, que funcionar con un sistema el cual controla todos los
eventos se requiere de estos tipos de seguridad [1].
Seguridad Domiciliaria.
La seguridad domiciliaria pretende la proteccin de nuestros domicilios y negocios y de todo
su contenido: nosotros y nuestras familias, objetos valiosos y bienes. Nuestros hogares y
negocios son los lugares donde desarrollamos la parte ms privada de nuestras vidas y
donde necesitamos sentir una mayor sensacin de seguridad y proteccin.
Desgraciadamente no existe ningn dispositivo que sea totalmente inviolable, pero cuanto
mayor sea el nmero de medidas disuasorias que tomemos (puertas, rejas, alarmas, etc.)
menor ser la probabilidad de sufrir un robo [2].
Alarmas Electrnicas
Fig.II. Alarmas Electrnicas
Fuente:(3)
Una alarma electrnica est dentro del grupo de alarmas ms utilizadas, precisamente
porque las mismas suelen ser bastante efectivas, por esta razn es que muchas personas
las instalan en sus casas, ya que se debe tener en cuenta que dichas alarmas representan
un excelente medio para la seguridad de las propiedades.
Una de las ventajas ms importantes que se debe destacar cuando se habla de la instalacin
de una alarma electrnica, es que la misma resulta ser muy prctica y conveniente, de
hecho, las alarmas electrnicas son aquellas que se activan mediante una clave de
seguridad que se introduce en un teclado digital generalmente colocado en una pared cerca
de la puerta de la entrada, de esta manera contamos con una misma clave para activar y
desactivarla.
Quizs uno de los inconvenientes que poseen dichas alarmas, tanto en las casas como en
los autos es, que definitivamente son muy sensibles y ante cualquier movimiento extrao se
disparan enseguida. Esto provoca que muchas veces se produzcan reiteradas falsas alarmas
y esto es algo que se debe intentar evitar en lo posible porque de lo contrario no slo se
volver molesta sino que al mismo tiempo se corre el riesgo de que nadie le haga caso.
No obstante y considerando que esto no es algo que se pueda preveer, lo que se puede
hacer es instalar un sistema cuyos sensores no sean tan sensibles como los que
generalmente se colocan a estos sistemas de alarmas y de hecho ya que se menciona, la
mayora de las fbricas que se dedican a desarrollar los sistemas de alarma electrnica,
actualmente las estn haciendo con sensores mucho ms precisos justamente para evitar
todo este tipo de problemas [3].
CONCLUSIONES
Se pudo desarrollar y construir un sistema de accesos con cmara de vigilancia, que ayuda
al registro de personas en la entrada de un ambiente, para tener mayor seguridad y
confiabilidad, y principalmente poder tener un registro e histrico de trabajo que est
plasmado en una base de datos.
REFERENCIAS BIBLIGRFICAS
[1] TORO, Vincent del (1988), Fundamentos de Ingeniera Elctrica (2da. Ed.).Editorial
Prentice Hall. Mxico.
[2] EUROSEGUR (2008). Sistemas Acorazados. Recuperado de
< http://www.eurosegur.com/f/25/-seguridad-domiciliaria>
[3] ANTIRROBO (2007) Recuperado de
<http://www.antirrobo.net/alarmas/alarmas-electronicas.html>
Misael Apaza I.
I.E.S.
msl_ies777@hotmail.com
ndice
CAPTULO I. INTRODUCCIN............................................................................................... 1
1. 1. ANTECEDENTES........................................................................................................ 1
1.2. PLANTEAMIENTO DEL PROBLEMA............................................................................... 1
1.3. ALCANCE TCNICO / CIENTFICO................................................................................. 1
1.4. JUSTIFICACIN........................................................................................................... 1
1.5. OBJETIVOS................................................................................................................. 2
1.5. 1. OBJETIVO GENERAL........................................................................................................2
1.5.2. OBJETIVOS ESPECFICOS................................................................................................2
CAPITULO II. MARCO TEORICO............................................................................................ 3
2.1. INTRODUCCIN A LOS CONCEPTOS BSICOS.............................................................3
2.1.1. ARDUINO............................................................................................................................. 3
2.1.2. ARDUINO MEGA 2560........................................................................................................ 3
CARACTERSTICAS..................................................................................................................... 3
ALIMENTACIN............................................................................................................................ 4
ENTRADAS Y SALIDAS................................................................................................................ 5
PROTECCIN CONTRA SOBRETENSIONES EN USB...............................................................6
COMUNICACIONES...................................................................................................................... 6
2.2. DRIVER DE MOTOR L298N........................................................................................... 6
2.3. ULTRASONIDO............................................................................................................ 7
2.3.1. PROBLEMAS CON EL ULTRASONIDO..............................................................................8
2.3.2. DATOS TCNICOS............................................................................................................10
2.4. LEDS INFRARROJOS................................................................................................. 11
2.4.1. FUNCIONAMIENTO........................................................................................................... 11
2.5. MOTORES DC........................................................................................................... 12
2.6. COMUNICACIN SERIAL RS-232................................................................................ 13
2.7. MOTORES PASO A PASO........................................................................................... 13
2.7.1. FUNCIONAMIENTO........................................................................................................... 14
CAPITULO III. INGENIERIA DEL PROYECTO.........................................................................16
3.1. DISEO DE HARDWARE............................................................................................ 16
3.1.1. DIAGRAMAS DE BLOQUE DEL SISTEMA.......................................................................16
3.1.2. FUENTE DE ALIMENTACIN...........................................................................................16
3.1.3. SISTEMA DE APERTURA Y CIERRE DE LA CERRADURA ELCTRICA.......................18
3.1.4. ESTRUCTURA DE LA CMARA Y WEB CAM.................................................................20
3.1.5. CONTROL INFRARROJOS...............................................................................................20
3.1.6. DIAGRAMA GENERAL DEL CIRCUITO DEL PROYECTO...............................................21
3.1.7. FOTOGRAFA DEL CIRCUITO DEL PROYECTO COMPLETO........................................22
3.2. DISEO DEL SOFTWARE........................................................................................... 23
3.2.1. DIAGRAMA DE FLUJO DEL SISTEMA.............................................................................23
3.2.2 FUNCIONAMIENTO DEL SISTEMA...................................................................................24
CAPITULO IV....................................................................................................................... 25
CONCLUSIONES.............................................................................................................. 25
RECOMENDACIONES...................................................................................................... 25
CAPITULO V. BIBLIOGRAFIA............................................................................................... 26
LIBROS........................................................................................................................... 26
WEBS............................................................................................................................. 26
CAPITULO VI. APENDICE.................................................................................................... 27
CDIGO DE ARDUINO..................................................................................................... 27
CDIGO DEL PROGRAMA EN VISUAL STUDIO C#............................................................31
ANEXOS............................................................................................................................. 42
CAPTULO
INTRODUCCIN
1
CAPTULO I. INTRODUCCIN.
1. 1. ANTECEDENTES.
En la actualidad existe gran preocupacin por obtener un sistema de seguridad, no slo para
las casas, sino tambin para el trabajo u otras actividades, esto debido a la falta de seguridad
existente dentro el pas. Por lo cual se ve necesaria la adquisicin de sistemas de seguridad,
pero en algunas ocasiones no est dentro del presupuesto de algunas familias o negocios.
Se propone un sistema mnimo de control de accesos mediante una cmara de vigilancia
que se encargar de la visualizacin del sujeto, se guardar la foto con la fecha y hora del
ingreso, esto con el fin de tener histricos de ingresos de las personas dentro un ambiente,
con la finalidad de contar con un sistema de seguridad eficiente.
1.2. PLANTEAMIENTO DEL PROBLEMA.
Ser posible realizar un sistema de seguridad que sea capaz de controlar y manejar el
acceso de las personas dentro un ambiente familiar o comercial, con el fin de resguardar la
seguridad e integridad de las mismas?
1.3. ALCANCE TCNICO / CIENTFICO.
Las pruebas se realizarn en placas de pruebas, pero el circuito final se presentar en placas
impresas. Adems se harn pequeos mdulos para poder alivianar y probar el mejor
rendimiento del circuito; se utilizar la cmara de la computadora para poder tomar las fotos
correspondientes. Se usar tambin un sensor ultrasnico para poder alertar al sistema de
que una persona se encuentra por ingresar, el cual permitir poder aumentar la eficiencia del
sistema.
1.4. JUSTIFICACIN
Este proyecto tiene la finalidad de poder ofrecer a las personas un sistema de seguridad
mediante el control de acceso con cmara de vigilancia, que sea capaz de poder registrar el
ingreso de personas en un ambiente o entidad, tratando de hacer un sistema mnimo pero
funcional que est al alcance econmico de las personas.
2
Todo esto se realizar para de poder implementar este circuito en sistemas de seguridad
domiciliaria; tambin puede ser usado para otros fines en otras reas acadmicas o de
estudio.
1.5. OBJETIVOS.
1.5. 1. OBJETIVO GENERAL.
-
Disear un sistema que se encargue del control del acceso, movimiento de la cmara
y toma de la foto del usuario.
CAPTULO
MARCO TERICO
3
CAPITULO II. MARCO TERICO.
2.1. INTRODUCCIN A LOS CONCEPTOS BSICOS
2.1.1. Arduino
Arduino es una plataforma de cmputo libre [open-source] basada en una tarjeta I/O
[entradas y salidas] programada en un ambiente con un lenguaje similar a C llamado
Processing/Wiring. Arduino puede ser utilizado para desarrollar objetos autnomos e
interactivos, capaz de comunicarse con software instalado en tu computadora como Flash,
Processing, MaxMSP, etc. Dada su rpida curva de aprendizaje y su bajo precio constituye
una herramienta ideal para estudiantes, maestros, diseadores y cualquier interesado en
electrnica y robtica. El software para su programacin es gratuito y puede ser descargado
para Mac OS X, Windows y Linux (5HZ-ELECTRNICA, 2012).
2.1.2. Arduino Mega 2560
El Arduino Mega es una tarjeta basada en el ATmega2560. Tiene 54 pines digitales de I/O
(14 de los cuales pueden ser usados como salidas PWM), 16 entradas analgicas, 4 UARTs
(puertos seriales en hardware), un cristal osciliador a 16MHz, conexin USB, jack para
conexin a la electricidad, un header ICSP y un botn de reset. Cuenta con todo lo
necesario para dar soporte a este microcontrolador; simplemente conctalo a una
computadora mediante un cable USB, un adaptador AC/DC o una batera y estar listo para
funcionar. El Mega es compatible con la mayora de shields diseados para el Arduino
Duemilanove o Diecimila (5HZ-ELECTRNICA, 2012).
Caractersticas
Microcontrolador ATmega2560.
16 entradas analgicas.
Alimentacin
El Arduino Mega puede ser alimentado va la conexin USB o con una fuente de alimentacin
externa. El origen de la alimentacin se selecciona automticamente.
Las fuentes de alimentacin externas (no-USB) pueden ser tanto un transformador o una
batera. El transformador se puede conectar usando un conector macho de 2.1mm con
centro positivo en el conector hembra de la placa. Los cables de la batera pueden
conectarse a los pines Gnd y Vin en los conectores de alimentacin (POWER)
La placa puede trabajar con una alimentacin externa de entre 6 a 20 voltios. Si el voltaje
suministrado es inferior a 7V el pin de 5V puede proporcionar menos de 5 Voltios y la placa
puede volverse inestable, si se usan ms de 12V los reguladores de voltaje se pueden
sobrecalentar y daar la placa. El rango recomendado es de 7 a 12 voltios.
Los pines de alimentacin son los siguientes:
VIN. La entrada de voltaje a la placa Arduino cando se est usando una fuente externa
de alimentacin (en opuesto a los 5 voltios de la conexin USB). Se puede
proporcionar voltaje a travs de este pin, o, si se est alimentado a travs de la
conexin de 2.1mm, acceder a ella a travs de este pin.
5
integrado en la placa, o proporcionada directamente por el USB u otra fuente
estabilizada de 5V.
3V3. Una fuente de voltaje a 3.3 voltios generada en el chip FTDI integrado en la
placa. La corriente mxima soportada 50mA.
Fuente:(ARDUINO, 2013).
Entradas y Salidas
Cada uno de los 54 pines digitales pueden utilizarse como entradas o como salidas usando
las funciones pinMode(), digitalWrite(), y digitalRead() . Las E/S operan a 5 voltios. Cada pin
puede proporcionar o recibir una intensidad maxima de 40mA y tiene una resistencia interna
(desconectada por defecto) de 20-50kOhms.
El Mega tiene 16 entradas analgicas, y cada una de ellas proporciona una resolucin de
10bits (1024 valores). Por defecto se mide de tierra a 5 voltios, aunque es posible cambiar la
cota superior de este rango usando el pin AREF y la funcin analogReference(). Adems
algunos pines tienen funciones especializadas:
I2C: 20 (SDA) y 21 (SCL). Soporte del protocolo de comunicaciones I2C (TWI) usando
la librera Wire.
AREF.
Voltaje
de
referencia
para
las
entradas
analgicas.
Usado
por
analogReference().
Fuente:(STIRNER, 2011).
Fuente:(PREZ, 2006).
8
La mayora de los sensores de ultrasonido de bajo coste se basan en la emisin de un pulso
de ultrasonido cuyo lbulo, o campo de accin, es de forma cnica. Midiendo el tiempo que
transcurre entre la emisin del sonido y la percepcin del eco se puede establecer la
distancia a la que se encuentra el obstculo que ha producido la reflexin de la onda sonora,
mediante la frmula:
d=1/2V*t
donde V es la velocidad del sonido en el aire y t es el tiempo transcurrido entre la emisin y
recepcin del pulso.
2.3.1. Problemas con el Ultrasonido
A pesar de que su funcionamiento parece muy sencillo, existen factores inherentes tanto a
los ultrasonidos como al mundo real, que influyen de una forma determinante en las medidas
realizadas. Por tanto, es necesario un conocimiento de las diversas fuentes de incertidumbre
que afectan a las medidas para poder tratarlas de forma adecuada, minimizando su efecto en
el conocimiento del entorno que se desea adquirir. Entre los diversos factores que alteran las
lecturas que se realizan con los sensores de ultrasonido cabe destacar:
Fuente:(PREZ, 2006).
Fuente:(PREZ, 2006).
Los factores ambientales tienen una gran repercusin sobre las medidas: Las ondas
de ultrasonido se mueven por un medio material que es el aire. La densidad del aire
depende de la temperatura, influyendo este factor sobre la velocidad de propagacin
de la onda.
Un factor de error muy comn es el conocido como falsos ecos. Estos falsos ecos se
pueden producir por razones diferentes: Puede darse el caso en que la onda emitida
por el transductor se refleje varias veces en diversas superficies antes de que vuelva a
incidir en el transductor (si es que incide). Este fenmeno, conocido como reflexiones
mltiples, implica que la lectura del sensor evidencia la presencia de un obstculo a
10
una distancia proporcional al tiempo transcurrido en el viaje de la onda; es decir, una
distancia mucho mayor que a la que est en realidad el obstculo ms cercano, que
pudo producir la primera reflexin de la onda. Otra fuente ms comn de falsos ecos,
conocida como crosstalk, se produce cuando se emplea un cinturn de ultrasonidos
donde una serie de sensores estn trabajando al mismo tiempo. En este caso puede
ocurrir (y ocurre con una frecuencia relativamente alta) que un sensor emita un pulso y
sea recibido por otro sensor que estuviese esperando el eco del pulso que l haba
enviado con anterioridad (o viceversa).
Figura.7. El sensor a emite el pulso que recibe el sensor b.
Fuente:(PREZ, 2006).
Las ondas de ultrasonido obedecen a las leyes de reflexin de las ondas, por lo que
una onda de ultrasonido tiene el mismo ngulo de incidencia y reflexin respecto a la
normal a la superficie. Esto implica que si la orientacin relativa de la superficie
reflectora con respecto al eje del sensor de ultrasonido es mayor que un cierto umbral,
el sensor nunca reciba el pulso de sonido que emiti (PREZ, 2006).
11
2.4. LEDS INFRARROJOS
En el mundo de la electrnica, el led es uno de los ms importantes que ha habido y que
probablemente habr. Deberamos tener en cuenta que este tipo de elemento es, adems,
uno de los ms utilizados por la sociedad de estos das. Entre estos podemos encontrar
muchsimas funciones y elementos que fueron conformados a partir de la utilizacin de los
leds, pero tambin encontramos aquellos que hoy en da recin comienzan a ser conocidos
por la sociedad comn que son es el diodo led infrarrojo. En estos es factible ver una de las
cualidades que fueron incluidas en los mismos a partir de muchsimas investigaciones
realizadas hace poco tiempo.
Figura.8. Led Infrarrojo.
Fuente:(ILUMINACIONLED, 2013).
2.4.1. Funcionamiento
El diodo led infrarrojo debera estar presente en nuestras vidas, por ms que no estemos
interesados en la electrnica. Los mismos podemos encontrarlos en muchos sitios y para
reconocerlos solo tendramos que buscar luces tenues no tan reflejantes, dado que su
funcin no tiene nada que ver con el alumbran grandes sectores, sino darnos la posibilidad
de ver aquello que para nuestros ojos es imposible. Es decir, que el diodo led infrarrojo solo
alumbra los reflejos causados por las ondas magnticas que a simple vista es imposible de
percibir. Por esto mismo es que fueron tan famosos, dado que en las sociedades causaron
gran impacto al poder percibir con simpleza las ondas magnticas que son tan
sorprendentes.
Para que tener una idea bsica sobre lo que es un diodo led infrarrojo y lo que alumbran los
mismos, deberamos introducirnos en la fsica, de un modo en donde usted pueda
entenderlos. El magnetismo es una de las corrientes energticas ms importantes de la
fsica. Podemos ver con solo investigar un poco que grandes ramos de la fsica se han
interesado de tal modo que hasta el da de hoy siguen con las investigaciones al respecto.
12
El motivo por el cual este ramo de la ciencia est tan interesado en tales magnetismos es
porque el mundo entero depende de tal energa. Es decir, los polos norte y sur son los que
provocaran la fuente de magnetismos ms importantes del planeta, la cual es la que nos
protege de los peligros del universo. El diodo led infrarrojo estara ms ligado a un pequeo
sitio de provocacin de magnetismo, dado que muchos cientficos sostienen que el ser
humano crea los mismos constantemente de tal modo que se creara la sensacin de
materia, y por tales motivos es que nosotros no atravesaramos las paredes.
Entonces, vindolo desde este punto podemos deducir que el diodo led infrarrojo reflejara
tales ondas imperceptibles para nuestros ojos. Quiz usted ya haya estado en contacto con
uno de estos leds de luz infrarroja, dado que los mismos son utilizados la mayora de las
veces en sitios de entretenimiento para provocar que nuestras prendas tengan colores
extraos y provoquen luz en sitios oscuros. Este sera uno de los motivos y particularidades
del diodo led infrarrojo, que en lo siguiente le explicaremos ms a fondo. El mismo, al no
provocar luces fuertes no tiene efecto en sitios abiertos, por lo cual colocarlos en exteriores
no tendra sentido o por lo menos durante el da. Es por esto mismo que encontramos que
tales sitios aprovechan la oscuridad de sus habitaciones para que tal efecto se vea
absolutamente. Con esto ya estaramos listos para poder realizar la instalacin de los
mismos, a sabiendas de sus funciones y requisitos lumnicos (ILUMINACIONLED, 2013).
2.5. MOTORES DC
El motor de corriente continua es una mquina que convierte la energa elctrica continua en
mecnica, provocando un movimiento rotatorio. En la actualidad existen nuevas aplicaciones
con motores elctricos que no producen movimiento rotatorio, sino que con algunas
modificaciones, ejercen traccin sobre un riel. Estos motores se conocen como motores
lineales.
Esta mquina de corriente continua es una de las ms verstiles en la industria. Su fcil
control de posicin, par y velocidad la han convertido en una de las mejores opciones en
aplicaciones de control y automatizacin de procesos. Pero con la llegada de la electrnica
su uso ha disminuido en gran medida, pues los motores de corriente alterna, del tipo
asncrono, pueden ser controlados de igual forma a precios ms accesibles para el
consumidor medio de la industria. A pesar de esto los motores de corriente continua se
siguen utilizando en muchas aplicaciones de potencia (trenes y tranvas) o de precisin
(mquinas, micro motores, etc.).
13
Fig.9. Motores CC de varios tamaos
14
Los motores, tanto de corriente continua como de corriente alterna, son muy efectivos en
muchas labores cotidianas desde la traccin de grandes trenes hasta el funcionamiento de
lavarropas. Pero debido a problemas tales como la, inercia mecnica o su dificultad para
controlar su velocidad, se desarrollaron otro tipo de motores cuya caracterstica principal es
la precisin de giro. Este tipo de motores son ideales cuando lo que queremos es
posicionamiento con un elevado grado de exactitud y/o una muy buena regulacin de la
velocidad.
Estn constituidos esencialmente por dos partes:
Estator: parte fija construida a base de cavidades en las que van depositadas las
bobinas.
Este conjunto va montado sobre un eje soportado por dos cojinetes que le permiten girar
libremente.
2.7.1. Funcionamiento
Aun basado en el mismo fenmeno que los motores de corriente continua, el principio de
funcionamiento de los motores paso a paso es ms sencillo que cualquier otro tipo de motor
elctrico.
Los motores elctricos, en general, basan su funcionamiento en las fuerzas ejercidas por un
campo electromagntico y creadas al hacer circular una corriente elctrica a travs de una o
varias bobinas. Si dicha bobina, generalmente circular y denominada estator, se mantiene en
una posicin mecnica fija y en su interior, bajo la influencia del campo electromagntico, se
coloca otra bobina, llamada rotor, recorrida por una corriente y capaz de girar sobre su eje.
Al excitar el estator, se crearan los polos N-S, provocando la variacin del campo magntico
formado. La respuesta del rotor ser seguir el movimiento de dicho campo (tender a buscar
la posicin de equilibrio magntico), es decir, orientar sus polos NORTE-SUR hacia los
polos SUR-NORTE del estator, respectivamente. Cuando el rotor alcanza esta posicin de
equilibrio, el estator cambia la orientacin de sus polos y se tratar de buscar la nueva
posicin de equilibrio. Manteniendo dicha situacin de manera continuada, se conseguir
un movimiento giratorio y continuo del rotor, producindose de este modo el giro del eje del
motor, y a la vez la transformacin de una energa elctrica en otra mecnica en forma de
movimiento circular.
15
Al nmero de grados que gira el rotor, cuando se efecta un cambio de polaridad en las
bobinas del estator, se le denomina "ngulo de paso".
Los motores paso a paso, se controlan por el cambio de direccin del flujo de corriente a
travs de las bobinas que lo forman:
-
controlar el desplazamiento del rotor en funcin de las tensiones que se aplican a las
bobinas, con lo que podemos conseguir desplazamientos adelante y atrs.
CAPTULO
INGENIERA DEL
PROYECTO
16
CAPITULO III. INGENIERIA DEL PROYECTO.
A continuacin se detallar, todo lo desarrollado durante todo este semestre, desde la parte
del diseo del hardware y concluyendo con el software de control del mismo.
3.1. DISEO DE HARDWARE
3.1.1. DIAGRAMAS DE BLOQUE DEL SISTEMA
A continuacin, en la Figura 11, se puede observar a todos los bloques que conformarn el
sistema de control de accesos con cmara de vigilancia.
Fig.11. Diagrama de Bloque del Sistema
SERVIDOR
CLIENTE
ALARMA
RS232/BLUETOOH
TECLADO
LCD
SENSOR
ULTRASNICO
LEDS INFRARROJO
CONTROL DE
CMARA
MOTOR PASO/
SERVO MOTOR
DRIVER DE MOTOR
FUENTE/BATERIA
CERRADURA ELCTRICA
MOTO
R
DC
MOTO
R
DC
Se necesitar una fuente de 5V. de alimentacin para el motor paso a paso que
reemplazar o simular a mi chapa elctrica y la sirena que ser como la alarma.
17
-
Para la corriente se tomar el peor caso del consumo de corriente tomando en cuenta
a la sirena y el motor:
Sirena
200mA
Motores DC
120mA
El valor del capacitor se sac como referencia del datasheet del 7805, obteniendo y
trabajando con un:
C=470F
Elaboracin:
En la Fig.12 se muestra el circuito armado con fuente de 5V.
Fig.12. Fuente de 5V
D2
BR1
U11N4001
7805
2
1
1
VI
VO
BRIDGE
C1
C2
470uF
100nF
R1
GND
TBLOCK-I2
J1
J2
220
C3
C4
100nF
470uF
D1
LED-RED
1
2
TBLOCK-I2
18
En la Fig.13. Se muestra el diseo Final para el quemado en Placa para la fuente de 5V.
Fig.13. Placa quemada para colocar componentes
5V.
Fuente: ELABORACIN PROPIA
5
6
7
1
RA3/AN3/VREF+
RB6/PGC
RA4/T0CKI/C1OUT
RB7/PGD
RA5/AN4/SS/C2OUT
RC0/T1OSO/T1CKI
MCLR/Vpp/THV
RC1/T1OSI/CCP2
RC2/CCP1
RC3/SCK/SCL
RC4/SDI/SDA
RC5/SDO
RC6/TX/CK
RC7/RX/DT
27
28
11
12
13
14
15
16
17
18
19
PIC16F876A
R5
U1(EN1)
16
28
2
7
1
9
10
15
IN1
IN2
EN1
VSS
8
VS OUT1
OUT2
U1
3
6
D3
D5
1N4001
1N4001
D4
EN2
IN3
IN4
GND
OUT3
GND OUT4
11
14
1N4001
D6
1N4001
L293D
D7
D9
1N4001
1N4001
D8
1N4001
D10
1N4001
Se realiz este diseo con el fin de usar el puente H (L293D), como amplificador de corriente
y adems para poder controlar los movimientos de los 2 motores DC.
Para esto se utiliz dos motores DC, de lectores de CD/DVD en desuso, para poder simular
lo que es la cerradura elctrica tal como se ve en la Fig.16.
Fig.16. Cerradura Elctrica hecha manualmente
20
3.1.4. ESTRUCTURA DE LA CMARA Y WEB CAM
El diseo de esta cmara se realiz en base a una estructura de aluminio, cuya base y altura
son de 5cm. con un espesor de 1.5cm, en cul se encuentran los motores paso a paso
incrustados en el mismo los cuales responden al funcionamiento del sistema, los cuales
estn conectados mediante el driver de motor L298N, el cul dota a los motores la secuencia
de pasos para realizar su movimiento respectivo.
Sobre esta estructura se encuentra una webcam, el cual es de la empresa Genius, siendo el
modelo respectivo iSlim 320.
Fig.17. Cmara de control
Para poder controlar los infrarrojos que se incorporaron en la cmara se realiz un circuito
para poder controlar el encendido y apagado de estos mediante un relay el cual nos permite
un control eficiente de este, el diseo se bas en el siguiente esquema.
Fig.18. Esquema relay.
R4
220
RL1
D2
G5CLE-14-DC12
1N4007
R5
Q1
2N2222
470
D3
LED-GREEN
21
3.1.6. DIAGRAMA GENERAL DEL CIRCUITO DEL PROYECTO
LCD1
LCD
LM016L
LS1(2)
GND
R2X
100
Pulso Trigger
220
220
Triger
P12
Eco
Pulso eco
11
12
13
14
15
16
17
18
A0
A1
A2
A3
A4
A5
A6
A7
A8
A9
A10
A11
A12
A13
A14
A15
MOTOR 1
PIC16F876A
1
4
R6
1
15
100k
R7
IN1
IN2
IN3
IN4
ENA
ENB
VCC
VS
SENSA
SENSB
OUT1
OUT2
13
OUT3
14
OUT4
TX
RX
TX1
RX1
TX2
RX2
TX3
RX3
GND
8
100k
U4
+88.8
5
7
10
12
6
11
2
3
P13
P12
P11
P10
P9
P8
P7
P6
P5
P4
P3
L298
D0
D1
D2
D3
D4
D5
D6
D7
(SS)D53
(SCK) D52
(MOSI)D51
(MISO)D50
RS
1
E
2
D4
3
D5
4
D6
Alarma
D7
D49
D48
D47
D46
D45
D44
D43
D42
D41
D40
D39
D38
D37
D36
D35
D34
D33
D32
D31
D30
D29
D28
D27
D26
D25
D24
D23
D22
f1
f2
Clear
f3
TECLADO
2ND
I
HELP
ENTER
f4
IN2
c1
IN1
c2
c3
c4
5
7
6
VCC
RA0/AN0
RA1/AN1
RA2/AN2/VREF-/CVREF
RA3/AN3/VREF+
RA4/T0CKI/C1OUT
RA5/AN4/SS/C2OUT
RC0/T1OSO/T1CKI
MCLR/Vpp/THV
RC1/T1OSI/CCP2
RC2/CCP1
RC3/SCK/SCL
RC4/SDI/SDA
RC5/SDO
RC6/TX/CK
RC7/RX/DT
POWER
21
22
23
24
25
26
27
28
1
2
3
4
A
B
C
D
S
1k
2
3
4
5
6
7
RB0/INT
RB1
RB2
RB3/PGM
RB4
RB5
RB6/PGC
RB7/PGD
1
2
3
4
5
6
7
8
9
RV1
OSC1/CLKIN
OSC2/CLKOUT
VCC
VCC1
GND1
AREF
8
A
U3
VCC1
GND1
470
f1
f2
f3
f4
c1
c2
c3
c4
RESET
ULTRASONIDO
9
10
SPEAKER
R10
Alarma
ARDUINO MEGA
R1X
15k
7
8
9
10
D4 11
D5 12
D6 13
D7 14
RS
RW
E
RS
4
5
6
E
1
2
3
VSS
VDD
VEE
LS1
SDA
SCL
U1(VS)
CERRADURA ELCTRICA
CCT001
16
IN1
IN2
R4
MOTOR 2
6
7
8
100k
R9
100k
1
15
IN1
IN2
IN3
IN4
ENA
ENB
VCC
VS
SENSA
SENSB
U5
OUT1
OUT2
OUT3
OUT4
RL1
D2
2
3
13
14
G5CLE-14-DC12
R5
D3
LED-GREEN
1N4007
Q1
2N2222
470
GND
8
9
10
15
220
+88.8
R8
55
7
10
12
6
11
L298
RELAY INFRARROJOS
2
7
1
IN1
IN2
EN1
EN2
IN3
IN4
VSS
GND
8
VS OUT1
OUT2
OUT3
GND OUT4
U1
3
6
11
14
L293D
Q1
TIP31
22
3.1.7. FOTOGRAFA DEL CIRCUITO DEL PROYECTO COMPLETO
23
DISTANCIA
<=30
SI
INGRESE CODIGO
NO
CONT+
+
SI
CODIGO==
TRUE
CLAVE
ERRADA
NO
SI
INICIO CMARA
CONT
==3
ACTIVACI
N ALARMA
SI
NO
NO
NO
MOVIMIENT
O
CMARA==
TRUE
ENCENDER
INFRARROJO=
=TRUE
RESET==T
RUE
REGISTRO
REALIZADO
BIENVENIDO
SI
SI
SI
24
3.2.2 FUNCIONAMIENTO DEL SISTEMA
Como se pudo apreciar en el anterior punto, el diagrama de flujo del sistema es un resumen
del funcionamiento del circuito electrnico, a continuacin se explicar a detalle los pasos del
sistema:
-
El servidor contar con el programa de manejo de la cmara para poder sacar la foto
correspondiente al usuario que ingresa, adems tendr la posibilidad de reiniciar el
sistema desde all. Adems este tendr una activacin manual desde el sistema de los
leds infrarrojos de la cmara de vigilancia.
CAPTULO
CONCLUSIONES Y
RECOMENDACIONES
25
CAPITULO IV. CONCLUSIONES Y RECOMENDACIONES
CONCLUSIONES
RECOMENDACIONES.
circuito.
Se debe tomar muy en cuenta el cuidado al momento de la programacin y control del
programa que se cargar al Arduino, ya que ste es el que controlar todo el
funcionamiento del sistema. Adems de tener un buen control por parte del servidor y
el sistema informtico, siendo estos fundamentales para el funcionamiento de todo el
sistema.
CAPTULO
BIBLIOGRAFA
26
CAPITULO V. BIBLIOGRAFIA.
LIBROS.
-
WEBs
-
STIRNER (2011). LiPeMo 3.0 Control de motores L298N Dual H Bridge DC stepper
Motor Driver. Recuperado de http://proyectoarduino.blogspot.com/2011/11/lipemo-30control-de-motores-l298n-dual.html
TAMAYO
(2009).
Comunicacin
Serial.
Recuperado
de
http://galaxi0.wordpress.com/el-puerto-serial/
-
CAPTULO
APNDICE
27
CAPITULO VI. APENDICE.
CDIGO DE ARDUINO
#include <Keypad.h>
#include <LiquidCrystal.h>
#include <NewPing.h>
#include <Stepper.h>
//Ultrasonido y motor
#define TRIGGER_PIN 12 // Arduino pin tied to trigger pin on the ultrasonic sensor.
#define ECHO_PIN
11 // Arduino pin tied to echo pin on the ultrasonic sensor.
#define MAX_DISTANCE 200 // Maximum distance we want to ping for (in centimeters). Maximum
sensor distance is rated at 400-500cm.
const int stepsPerRevolution = 200; // change this to fit the number of steps per revolution for
your motor
//Para el teclado
const byte ROWS = 4; //4 filas
const byte COLS = 4; //4 columnas
//definimos los valores para el teclado
char hexaKeys[ROWS][COLS] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}};
byte rowPins[ROWS] = {22,24,26,28}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {30,32,34,36}; //connect to the column pinouts of the keypad
//inicializando componentes
LiquidCrystal lcd(52,50,48,46,44,42);//Inicializando los pines del LCD
Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS); //para
el teclado
NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Para iniciar el ultrasonido.
Stepper
Stepper
Stepper
Stepper
myStepper(stepsPerRevolution,23,25,27,29);//motor2 abajo
myStepper2(stepsPerRevolution,29,27,25,23);//motor2 arriba
myStepper3(stepsPerRevolution,31,33,35,37);//motor1
myStepper4(stepsPerRevolution,37,35,33,31);//motor1
//Variables
int contador_alarma=1; //contador de la alarma
char dato;//Dato recibido por serial
int alarma=53;//Salida de la alarma en el pin 31
String clave="";//Almacenamos aqui la clave
int cont;//Contador para el ingreso de clave
int espera;//contador de espera
void(* resetFunc) (void) = 0;//RESETEA
void setup(){
//Modo de salida de la alarma
pinMode(alarma, OUTPUT);
Serial.begin(9600);
//Inicia LCD
lcd.begin(16,2);
lcd.clear();
//Borra el LCD
lcd.setCursor(0,0);
//Pone la alarma en bajo
digitalWrite(alarma, LOW);
28
//Para los motores
pinMode(A0, OUTPUT);
pinMode(A1, OUTPUT);
digitalWrite(A0, LOW);
digitalWrite(A1, LOW);
pinMode(A2, OUTPUT);
pinMode(A3, OUTPUT);
digitalWrite(A2, LOW);
digitalWrite(A3, LOW);
//chapa
pinMode(49,OUTPUT);
pinMode(51,OUTPUT);
digitalWrite(49, HIGH);
digitalWrite(51, HIGH);
//luces infrarrojas
pinMode(A4, OUTPUT);
digitalWrite(A4, LOW);
}
void loop(){
while(true)
{
lcd.clear();
delay(50);
// Wait 50ms between pings (about 20 pings/sec). 29ms should be the
shortest delay between pings.
unsigned int uS = sonar.ping(); // Send ping, get ping time in microseconds (uS).
lcd.print("Distancia: ");//Serial.print("Ping: ");
lcd.print(uS / US_ROUNDTRIP_CM); // Convert ping time to distance in cm and print result (0 =
outside set distance range)
lcd.print("cm");
delay(2000);
lcd.clear();
if(uS / US_ROUNDTRIP_CM<=30)
{
break;
}
//Para resetear
dato=Serial.read();
delay(100);
if(dato=='r')
{
resetFunc();
}
}
while(true)
{
lcd.clear();
lcd.print("Ingrese clave");
delay(1000);
lcd.setCursor(0,2);
while(cont<=3)
{
//Para resetear
dato=Serial.read();
delay(100);
if(dato=='r')
29
{
resetFunc();
}
//Leyendo el teclado
char customKey = customKeypad.getKey();
if (customKey != NO_KEY)
{
Serial.print(customKey);
lcd.print(customKey);
delay(500);
clave=clave+customKey;
cont++;
}
delay(50);
espera++;
if(espera==150)
{
espera=0;
resetFunc();
}
}
while(true)
{
//Contador de la alarma activa
dato=Serial.read();
delay(100);
//En caso de ser la clave incorrecta
if(dato == 'n')
{
lcd.clear();
//Borra el LCD
lcd.setCursor(0,0);
lcd.print("Clave Errada");
delay(5000);
contador_alarma++;
//Caso en que se haya equivocado 3 veces
if(contador_alarma==4)
{
digitalWrite(alarma, HIGH);
delay(5000);
digitalWrite(alarma, LOW);
delay(100);
cont=0;
}
cont=0;
break;
}
if(dato=='y')
{
lcd.clear();
//Borra el LCD
lcd.setCursor(0,0);
lcd.print("Bienvenido");
delay(3000);
digitalWrite(A4, LOW);
digitalWrite(49, LOW);
delay(8000);
digitalWrite(49, HIGH);
digitalWrite(51, LOW);
delay(8000);
30
digitalWrite(51, HIGH);
lcd.clear();
cont=0;
break;
}
//Para mover los motores de la camara
if(dato == 'd')
{
digitalWrite(A0, HIGH);
digitalWrite(A1, HIGH);
for(int i=0;i<9;i++)
{
myStepper.step(1);
delay(500);
}
digitalWrite(A0, LOW);
digitalWrite(A1, LOW);
}
if(dato == 'a')
{
digitalWrite(A0, HIGH);
digitalWrite(A1, HIGH);
for(int i=0;i<9;i++)
{
myStepper2.step(1);
delay(500);
}
digitalWrite(A0, LOW);
digitalWrite(A1, LOW);
}
if(dato == 's')
{
digitalWrite(A2, HIGH);
digitalWrite(A3, HIGH);
for(int i=0;i<5;i++)
{
myStepper3.step(1);
delay(500);
}
digitalWrite(A2, LOW);
digitalWrite(A3, LOW);
}
if(dato == 'w')
{
digitalWrite(A2, HIGH);
digitalWrite(A3, HIGH);
for(int i=0;i<5;i++)
{
myStepper4.step(1);
delay(500);
}
digitalWrite(A2, LOW);
digitalWrite(A3, LOW);
}
if(dato=='z')
{
digitalWrite(A4, HIGH);
}
31
if(dato=='x')
{
digitalWrite(A4, LOW);
}
if(dato=='r')
{
resetFunc();
}
}
break;}
}
Cdigo:
using
using
using
using
using
using
using
using
System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Linq;
System.Text;
System.Windows.Forms;
namespace TallerIV
{
public partial class FormLogin : Form
{
int x,contador=0;
public FormLogin()
{
InitializeComponent();
timer1.Enabled = false;
lblIntento.Text = "INTENTO :0";
}
32
private void btnAceptar_Click(object sender, EventArgs e)
{
Verifica();
}
public void Verifica()
{
String consulta;
consulta = "Select * from Usuarios where nombre= '" + txtUser.Text + "' and contrasenia= '" +
txtPassword.Text + "'";
Consultas con = new Consultas();
con.Consulta(consulta);
/**/
if (txtUser.Text == "")
errorProvider.SetError(txtUser, "Debe ingresar un usuario");
if (txtPassword.Text == "")
errorProvider.SetError(txtPassword, "Debe ingresar un password");
if (txtUser.Text != "" && txtPassword.Text != "" && contador != 3)
{
errorProvider.Clear();
if (con.Tabla.Rows.Count == 0)
{
MessageBox.Show("No existe usuario");
contador++;
lblIntento.Text = "INTENTO : " + contador;
txtUser.Clear();
txtPassword.Clear();
txtUser.Focus();
}
else
{
timer1.Enabled = true;
}
if (contador == 3)
{
txtPassword.Clear();
txtUser.Clear();
System.Threading.Thread.Sleep(4000);
Application.Exit();
}
}
}
private void btnCancelar_Click(object sender, EventArgs e)
{
txtUser.Clear();
txtPassword.Clear();
txtUser.Focus();
}
private void timer1_Tick(object sender, EventArgs e)
{
if (pgb_Inicio.Value != pgb_Inicio.Maximum)
{
label1.Text = "Cargando...";
pgb_Inicio.Value = pgb_Inicio.Value + 1;
x = pgb_Inicio.Value;
}
else
{
timer1.Enabled = false;
label1.Text = "Finalizado";
33
x = 0;
label1.Text = "BIENVENIDO";
FormPrincipal ventana = new FormPrincipal();
ventana.Show(this);
ventana.WindowState = FormWindowState.Maximized;
this.Hide();
}
using
using
using
using
using
using
using
using
using
using
using
System;
System.Collections.Generic;
System.ComponentModel;
System.Data;
System.Drawing;
System.Linq;
System.Text;
System.Windows.Forms;
AForge.Video;
AForge.Video.DirectShow;
System.IO;
34
namespace TallerIV
{
public partial class FormPrincipal : Form
{
String consulta; string datoCadena; String ruta; int cont = 0;
String fecha; String hora;
public FormPrincipal()
{
InitializeComponent();
BuscarDispositivos();
ruta = Application.StartupPath;
pictureBox1.ImageLocation = ruta + "//arduino.jpg";
timer1.Enabled = true;
}
private bool ExistenDispositivos = false;
private FilterInfoCollection DispositivosDeVideo;
private VideoCaptureDevice FuenteDeVideo = null;
Consultas con = new Consultas();
private void FormPrincipal_Load(object sender, EventArgs e)
{
consulta = "Select * from Empleados";
con.Consulta(consulta);
dgvEmpleados.DataSource=con.Tabla;
dispositivos.Hide();
iniciar.Hide();
consulta = "Select * from Asistencia";
con.Consulta(consulta);
dataGridViewAsistencia.DataSource = con.Tabla;
}
this.Conectar();
35
{
if (ExistenDispositivos)
{
capturawebcam.Image = null;
//FuenteDeVideo = new
VideoCaptureDevice(DispositivosDeVideo[dispositivos.SelectedIndex].MonikerString);
FuenteDeVideo = new VideoCaptureDevice(DispositivosDeVideo[1].MonikerString);
FuenteDeVideo.NewFrame += new NewFrameEventHandler(video_NuevoFrame);
FuenteDeVideo.Start();
iniciar.Text = "Detener";
dispositivos.Enabled = false;
capturar.Enabled = true;
}
}
else
{
if (FuenteDeVideo.IsRunning)
{
TerminarFuenteDeVideo();
iniciar.Text = "Iniciar";
dispositivos.Enabled = true;
capturar.Enabled = false;
}
}
}
}
private void capturar_Click(object sender, EventArgs e)
{
Rectangle formaRecorte = new Rectangle(0, 0, 400, 400);
Bitmap imagenOrigen = (Bitmap)webcam.Image;
Bitmap imagen = imagenOrigen.Clone(formaRecorte, imagenOrigen.PixelFormat);
//capturawebcam.Image = webcam.Image;
capturawebcam.Image = imagen;
/*Asistencia*/
if (datoCadena != "")
{
marcaIngreso(datoCadena);
datoCadena = "";
serialPort1.Write("y");
datoCadena = "";
txtCodigo.Clear();
//Vuelve iniciar camara
TerminarFuenteDeVideo();
iniciar.Text = "Iniciar";
dispositivos.Enabled = true;
capturar.Enabled = false;
webcam.Image = null;
//Llena la asistencia
consulta = "Select * from Asistencia";
con.Consulta(consulta);
dataGridViewAsistencia.DataSource = con.Tabla;
}
}
/*Algunos Mtodos*/
public String Leer_Direccion(String Cadena)
{
return (Cadena.Replace("\\", "?"));
}
36
public String Cargar_Direccion(String Cadena)
{
return (Cadena.Replace("?", "\\"));
}
public void Conectar()
{
try
{
//serialPort1.PortName = cboCom.Text;
//serialPort1.BaudRate = Convert.ToInt32(cboBaudRate.Text);
serialPort1.PortName =label7.Text;
serialPort1.BaudRate = Convert.ToInt32(label8.Text);
serialPort1.Open();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error);
serialPort1.Close();
}
}
private void btnIzquierda_Click(object sender, EventArgs e)
{
serialPort1.Write("a");
}
private void btnDerecha_Click(object sender, EventArgs e)
{
serialPort1.Write("d");
}
private void btnArriba_Click(object sender, EventArgs e)
{
serialPort1.Write("w");
}
private void btnAbajo_Click(object sender, EventArgs e)
{
serialPort1.Write("s");
}
private void serialPort1_DataReceived(object sender,
System.IO.Ports.SerialDataReceivedEventArgs e)
{
int dato;
dato = serialPort1.ReadChar();
datoCadena += Convert.ToString(Convert.ToChar(dato));
if (datoCadena.Length == 4)
{
CheckForIllegalCrossThreadCalls = false;
txtCodigo.Text = datoCadena;
iniciar_Click(sender, e);
}
}
public void marcaIngreso(string _Codigo)
{
string ID = "no";
string Nom = "";
string Cargo = "";
37
for (int i = 0; i < dgvEmpleados.RowCount-1; i++)
{
if (_Codigo == dgvEmpleados[5, i].Value.ToString())
{
ID = dgvEmpleados[5, i].Value.ToString();
Nom = dgvEmpleados[1, i].Value.ToString();
Cargo = dgvEmpleados[4, i].Value.ToString();
}
}
if (ID != "no")
{
try
{
fecha = DateTime.Now.ToString("dd/MM/yyyy");
hora = DateTime.Now.ToString("hh:mm:ss");
ruta = "D:\\TallerIV\\TallerIV\\TallerIV\\bin\\Debug\\FotosEmpleados\\" + Nom + "_" + ID +
"_" + hora.Replace(":", "_") +".jpg";
capturawebcam.Image.Save(ruta, System.Drawing.Imaging.ImageFormat.Jpeg);
//cont++;
consulta = "Insert into asistencia (Nombre,Cargo,Codigo,Fecha,Hora,Direccion) VALUES ('"
+ Nom + "','" + Cargo + "','" + ID + "','" + fecha + "','" + hora + "','" + Leer_Direccion(ruta) + "')";
Consultas con = new Consultas();
con.Consulta(consulta);
serialPort1.Write("H");
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
else
{
serialPort1.Write("L");
}
}
#region TallerIV
public void CargarDispositivos()
{
for (int i = 0; i < DispositivosDeVideo.Count; i++)
dispositivos.Items.Add(DispositivosDeVideo[i].Name.ToString());
dispositivos.Text = dispositivos.Items[0].ToString();
}
public void BuscarDispositivos()
{
DispositivosDeVideo = new FilterInfoCollection(FilterCategory.VideoInputDevice);
if (DispositivosDeVideo.Count == 0)
ExistenDispositivos = false;
else
{
ExistenDispositivos = true;
CargarDispositivos();
iniciar.Enabled = true;
}
}
public void TerminarFuenteDeVideo()
{
if (!(FuenteDeVideo == null))
38
if (FuenteDeVideo.IsRunning)
{
FuenteDeVideo.SignalToStop();
FuenteDeVideo = null;
}
39
private void timer1_Tick(object sender, EventArgs e)
{
fecha = DateTime.Now.ToString("dd/MM/yyyy");
hora = DateTime.Now.ToString("hh:mm:ss");
label6.Text = hora;
label4.Text = fecha;
}
}
}
ANEXOS
42
ANEXOS