Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Adios

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 132

INTRODUCCIÓN

El continuo progreso de la tecnología en cuanto a sistemas de seguridad


y de vigilancia ha llevado a que la gran mayoría de hogares, negocios e
instituciones públicas y privadas tengan la necesidad de poseer equipos que
le faciliten el resguardo de sus establecimientos. La calidad del servicio que
brindan los oficiales es buena, para mantener el control en la ciudad y la
seguridad a los ciudadanos. Sin embargo, no es suficiente tener el
conocimiento de algún problema determinado, sino también conocer los
eventos que estén suscitando en diferentes intervalos de tiempo y que este
sea alertado.

Se observa que hoy en día las calles se vuelven más peligrosas y esto
influye a que se contrate el servicio de guardias, pero este servicio posee un
alto costo, o muchas veces las empresas que manejan roles monetarios o
instituciones privadas son las que gozan de un sistema de seguridad completo
y sumamente bueno, sin embargo porque no se puede pedir un sistema de
vigilancia de igual excelencia o mejor, para que brinde la protección a
instituciones educativas, hogares o fundaciones.

Se debe de reconocer que estos últimos establecimientos mencionados


son los que necesitan de mayor seguridad y protección ya que no solo están
cuidando algún objeto o material de alto costo, sino que se cuida
principalmente la vida humana, donde se les brinda la construcción de
proyecto de vida digna, siendo injusto que se sientan desprotegidos en su
hogar.

Es por ello, que con el diseño y la implementación de este proyecto, se


busca mejorar el control de seguridad, cumpliendo con los requerimientos que
un hogar o empresa necesita para llevar una correcta vigilancia.
EL PROBLEMA

1.1 Planteamiento del problema

En la Actualidad la ciudad de Mexicali y su valle, necesita de un sistema de


seguridad, debido a que solo cuenta con sistemas de alarma que son costosos y
que las empresas demoran mucho en llegar al lugar de los hechos; a su vez por
el sector es casi nula la vigilancia.

1.2 Delimitación del problema

En un sistema de seguridad a través de 6 contactos magnéticos ubicados


estratégicamente en las puertas y 1 sensor de movimiento, monitorizado y
controlado por medio de una central de alarma que tendrá un microcontrolador
18F4550 para recibir las señales de los diferentes equipos, activando una sirena y
por medio de un modem GSM enviar un mensaje a un móvil, para el control del
sistema como activación y desactivación.
Además contará de 4 cámaras ip, conectadas a un switch que estará enlazada
a una computadora que los autores implantarán en la fundación, en ella se instalará
el programa Team Viewer, el cual nos permitirá tener la monitorización telemétrica,
a través de un dispositivo que contengan la misma id del asociado para controlar
el ordenador de forma remota.
1.3 Objetivos
1.3.1 Objetivos general:
Diseñar e implementar un sistema de seguridad utilizando el microprocesador
18F4550 y dispositivos adecuados para el monitoreo telemétrico del centro de
acogida “Patio mi Pana”.

1.3.2 Objetivos específicos:


 Diseñar e implementar un sistema de vigilancia contribuyendo la mejoría de la
seguridad de Mexicali y su valle.
 Determinar los dispositivos necesarios para el diseño la alarma.
 Analizar sitios estratégicos donde se ubicarán tanto la sirena, sensores,
ordenador y equipos complementarios a necesitarse.
 Equipar la aplicación en tu celular para recibir las alertas.

1.4 Justificación

Debido a la necesidad de integrar nuevas tecnologías para la seguridad, se ha


seleccionado implementar este proyecto con el diseño y la implementación se
busca mejorar el control de seguridad, cumpliendo con los requerimientos que una
empresa o un hogar necesita para llevar una correcta vigilancia, pudiendo observar
las notificaciones de manera remota a través de un dispositivo móvil o cualquier
equipo que se acople con este sistema, por medio de la aplicación Blynk, este
proyecto contará con un ordenador conectado a la red local.

Para la administración se elaborará la tarjeta electrónica, en la cual habrá un


microcontrolador que será el encargado de recibir las señales de los equipos y
tendrá como salida la activación de una sirena y el envío de mensajes de texto que
llegarán a un teléfono móvil.
Con este sistema de seguridad vía móvil se garantizará al administrador una
supervisión de la propiedad y el monitoreo las 24 horas del día, además un control
de los sistemas de activación/desactivación de alarma, evitando así la sustracción
de diversos equipos y sobre todo otorgar seguridad a las personas que habitan en
el lugar.

1.5 Variables
 Tiempo de monitoreo: los sensores estarán en activación las 24horas
del día y podrán ser monitoreadas por medio de la aplicación Blynk.
 Notificación: si el sensor ultrasónico es interrumpido por medio de la
aplicación llegaran notificaciones
 Armado del sistema de alarmas: Diversas configuraciones a realizarse
en el menú de la central de alarma: armado parcial y armado global.

1.6 Metodología
Para el desarrollo de este proyecto se aplicaron los siguientes métodos, técnicas y
procedimientos de investigación los cuales fueron de gran ayuda en el momento de su
ejecución.

1.6.1 Métodos:
Método deductivo: Aportó en la evaluación de distintos aspectos de gran
importancia en la investigación, debido a que se analizó los inconvenientes
presentados, además se recolecto información y se utilizó un desarrollo con soporte en
fundamentos teóricos y científicos para tener resultados positivos, obteniendo de esta
manera conclusiones válidas que nos posibiliten una elaboración detallada y
organizada a partir de los datos concretos.
Instrumentos de investigación

Para el desarrollo del proyecto se utilizó la investigación


Científica- Experimental.

 Científica: Debido a que se va a recolectar información de fuentes


verídicas sobre la comunicación inalámbrica por medio de la aplicación
móvil, características de los diferentes componentes que integran la
tarjeta impresa perteneciente a la central de alarma, comunicación de la
tarjeta impresa con los diferentes equipos tanto de entradas como de
salidas y programación mediante Proteus, Pic C, Pickit 2.
 Experimental: Puesto que se muestra la ejecución de un diseño e
implementación del sistema de seguridad en el interior de un hogar. Se
realizaron pruebas en tiempo real para verificar la correcta comunicación
de los equipos existentes.

1.7 Población y muestra


1.7.1 Población:
 Mexicali y su valle
 Estudiantes del instituto Tecnológico de Mexicali.
 En general se podrá instalar este sistema de
seguridad en cualquier establecimiento
que requiera de seguridad y protección.

1.7.2 Muestra
El sistema de alarma está ubicado en la vivienda de uno de los
creadores.
1.8 Descripción de la propuesta
El presente Proyecto pretende desarrollar e implementar un sistema de
seguridad en la Mexicali y sus alrededores.
El sistema de seguridad constará de un sensor ultrasónico Hc-sr04, que serán
distribuidas una en cada esquina y una en la zona central, estos sensores poseen
una larga distancia de detectar movilidad y dificulta que los residentes lo muevan o
manipulen. A su vez se colocará sensor Pir, el cual posee un sencillo
funcionamiento pero eficaz ya que miden la radiación infrarroja cuando un cuerpo
intercede con el sensor.
Se consideró a su vez un modulo de Wifi iot mcu 8266
Además, el proyecto constará de una central de alarma diseñada y construida
por los autores, que tendrá como funcionalidad de acuerdo a la programación del
microprocesador 18F4550 de recibir las señales de los diferentes equipos y tomar
acciones como activar una sirena y enviar un mensaje a un dispositivo móvil, el
teclado permitirá realizar a los usuarios autorizados las programaciones de la
central de alarma así como también realizar el control del sistema como activación
y desactivación.

1.8.1 Beneficiarios

Este sistema de seguridad cubrirá las necesidades de todo el que


instale el sistema de alarma
MARCO TEÓRICO

Antecedentes
Los sistemas de seguridad se han venido planteando desde hace algún tiempo
atrás debido a la gran necesidad de las personas por proteger su integridad física
o simplemente sus objetos de valor; para ciertos establecimientos se ha
presentado el requerimiento de contar con circuitos cerrados de televisión (video-
cámaras) y sistemas de alarmas (sensores, alarmas, entre otros), sin embargo, lo
más empleado son las cámaras de video vigilancia debido a su gran eficacia en
tener un registro de almacenamiento de las actividades realizadas y pasadas por
alto del ojo humano.

Tomando en cuenta los distintos objetivos que cumplen los equipos de


seguridad no cabría duda que estos elementos nos faciliten el resguardo y
protección, dejando atrás el arriesgar nuestras vidas por seguridad.

En la ciudad de Quito, Flores, Mónica y Rosero, Ricardo en el 2014


presentaron como proyecto de tesis un “Diseño e implementación de un sistema
de seguridad con comunicación inalámbrica utilizando tecnología zigbee y control
de eventos por medio de sms para la empresa de calzado Docceti Shoes”, en este
documento destaca el uso de un sistema de alarmas para realizar el control de
seguridad y la detección de incendio de un establecimiento de venta de zapatos.

En el año 2009, en la Escuela Superior Politécnica del Litoral Lizano,


Washington; Palacios, Kleber; Vargas, Miguel y Leyton, Edgar presentaron como
proyecto de tesis el “Estudio y diseño de un sistema de vigilancia y monitoreo de
video en tiempo real, sobre una red Ip, para un terminal de despacho y bombeo de
combustible de la gerencia regional sur de Petrocomercial” el cual tenía como
propósito el establecer las bases del funcionamiento de un sistema de video
vigilancia sobre una red Ip, como una alternativa al servicio tradicional de seguridad
y detección de intrusos.

Actualmente existe una gran cantidad de proyectos, estudios y diversas


investigaciones acerca del uso de sistemas de seguridad, que han sido
indispensables aportaciones para beneficio de la sociedad.
Telemetría.

La telemetría es aquella que se encarga de la medición a distancia de


magnitudes físicas, ya sea de una manera manual o automática. Los sistemas de
telemetría nos ayudan a conocer las etapas que guardan los equipos, procesos y
sistemas, así como poder controlar su funcionamiento de manera remota,
identificar fallas y corregir estados de error de los mismos, para finalmente transmitir
los datos de manera inalámbrica (ondas de radio, redes celulares, satélite) hacia el
administrador o el encargado de monitorear el sistema.

Aplicaciones de telemetría.

Se dispone de un gran uso de aplicaciones y procesos que necesitan de la


telemetría como por ejemplo:

 Supervisión de niveles de líquidos (presas, ríos, contenedores o depósitos).


 Medición de parámetros de fluidos (temperatura, presión, caudales).
 Monitoreo del medio ambiente (calidad del aire, agua, humedad de la
tierra, presencia de gases dañinos o peligrosos).
 Medición de parámetros que se mide en las plantas de generación o
subestaciones eléctricas (voltajes, corrientes, factor de potencia, etc).
 Conocer el estado de ciertos dispositivos como apagado/encendido
(alarmas, vehículos, compresores, unidades de enfriamiento, válvulas o
sistemas de seguridad o dispositivos de rastreo y seguimiento).
 Sistemas de alarma

Partes de un sistema de telemetría

Un sistema de telemetría normalmente se compone de tres partes consiste de


un transductor como un dispositivo de entrada, un medio de transmisión en forma
de líneas de cable o las ondas de radio, dispositivos de procesamiento de señales,
y dispositivos de grabación o visualización de datos. El transductor convierte una
magnitud física como la temperatura, presión o vibraciones en una señal eléctrica
correspondiente, que es transmitida a una distancia a efectos de medición y registro.
 Sistema de recolección de información, formado por los elementos
sensores del parámetro a medir y una interface electrónica.
 La segunda parte es el medio de comunicación para hacer llegar la
información al punto donde se utilizará.
 Sistema de notificación y despliegue, que generalmente consiste de
una aplicación de software que permite mostrar de manera clara el estado
que guarda aquello que estamos midiendo.

2.1.2 Blynk

Blynk es una de las soluciones líderes en todo el mundo para intercambio


de escritorio y colaboración en línea a través de internet. La empresa alemana
Blynk GmbH fue fundada en 2005 y se centra en el desarrollo y la distribución
de soluciones de alta gama para la colaboración y la comunicación en línea.

La tecnología básica desarrollada por Blynk GmbH permite el


funcionamiento eficiente, económico y global de una extensa red de
servidores, a través de la cual se en rutan las conexiones que se basan en la
tecnología geolocalización, con Blynk podrá controlar ordenadores remotos o
servidores a cualquier hora y desde cualquier lugar, como si los tuviera delante
suyo. (Blynk, 2015)

Figura 2.1 Blynk instalado en la computadora. Programa Blynk instalado


para poder tener la visualización telemétrica. Por Blynk, (2015)
2.2 Medios de transmisión

Los medios de transmisión son una parte fundamental de las redes de


cómputo. Están constituidos por los enlaces que interconectan los diferentes
equipos de red y a través de ellos se transporta la información desde un punto
a otro de la propia red. De acuerdo con su estructura física, los medios de
transmisión se clasifican en
alámbricos, ópticos y electromagnéticos. La tabla 1 muestra estos medios y su
clasificación. (Pérez, 2003)

Tabla 2.1
Medios de transmisión
Blindado (STP)
Par trenzado
No blindado (UTP)
Alámbricos
Delgado
Cable coaxial
Grueso
Ópticos Fibra óptica
Electromagnéticos Espacio atmosférico

Nota: Tabla que indica los distintos medios de transmisión en los CCTV. Pérez
(2003)

2.2.1 Cable UTP

El cable PTSB (UTP, sin blindaje), es el más popular de los cables de par
trenzados y se está convirtiendo rápidamente en el más utilizado para el
cableado de área local. La longitud máxima por segmento es de 100 metros.
Los cables UTP son económicos, flexibles y permiten manipular una señal a
la distancia máxima de 110 metros sin repetidor. (Pérez, 2003)

 Categorías 1 y 2: Tradicionalmente usado para voz y datos de


muy baja velocidad. No se emplean para la transmisión de datos.
 Categoría 3: Los cables, conectores y accesorios se especifican hasta
16 MHz. El cableado de esta categoría se emplea normalmente para
transmisiones de voz y datos con velocidades de hasta 10 Mbps.
 Categoría 4: Los cables, conectores y accesorios se especifican
hasta 20 MHz y se utilizan usualmente para transmisiones de voz y
datos con velocidades de hasta 16 Mbps.
 Categoría 5: Los cables, conectores y accesorios se especifican hasta
100 MHz y se emplean normalmente en las nuevas instalaciones con
velocidades de transmisión que llegan, y quizá sobrepasen, los 100
Mbps.
 Categoría 6: Estándar de cables para Gigabit Ethernet y
protocolos de redes retro compatible con los estándares de categoría
5/5e y categoría 3. Posee características y especificaciones para
evitar la diafonía y el ruido,
alcanza frecuencias de hasta 250 MHz en cada par y una velocidad
de 1 Gbps.

Figura 2.4 Par trenzado sin blindaje (UTP). Par trenzado cable UTP categoría 6
usado para la comunicación de las cámaras. Por Pérez (2003)

2.3 Monitoreo
El monitoreo se lo puede implementar de dos formas:

 Local: Se lo realiza colocando monitores convencionales, desde


celulares, pantallas para PC, o tabletas electronicas que pueden estar
prendidos 24hrs al día para poder estar visualizando lo que ocurre en el sensor
de aproximidad.

Figura 2.5 Monitoreo local, celular ubicado en la residencia. Visualización local del
monitor instalado en la recidencia. Por Hikvision (2014).
 Remoto: Luego de poder configurar una salida a internet, podemos
tener una página en la cual podamos visualizar el movimiento de los sensores
y así tener acceso en donde quiera que estemos atravez de nuestro correo
electronico. Podemos monitoreas en nuestros celulares, siempre y cuando
esté disponible el software dependiendo de las características de nuestro
grabador, y las características de nuestros teléfonos celulares, en una tablet,
laptop, etc.

Figura 2.6 Monitoreo remoto de la visualización de las cámaras.


Visualización remota de las cámaras instaladas en la fundación desde un
dispositivo móvil. Por
Blynk, (2015)

2.4 Sistema de alarmas

Un sistema de alarma es un elemento de seguridad pasiva es decir que


no evitan el problema (intrusión, incendio, inundación, fuga de gas, etc.) pero
estos sí son capaces de advertirlo, además de permitir la rápida actuación
sobre el problema y disminuir los daños producidos. (LASSER, 2010)

Los sistemas de seguridad y alarma tienen gran importancia, siendo los


equipos antitrusión (antirrobo) y contra incendios los que más interés levantan
entre los propietarios de los inmuebles, pero esta vez esta siento necesitado
para cuidado de hogares (Martín, 2010)
El sistema de alarma cuenta con:

 Central de alarma
 Teclado
 Sensores
 Mensajes de Texto

Todos los sistemas de alarmas traen conexiones de entrada para los distintos
tipos de detectores y por lo menos una de salida para activar otros
dispositivos, si no hay más conexiones de salida, la operación de llamar a un
número, mandar un aviso por correo electronico, sonar una sirena, abrir el
rociador o cerrar las puertas deberá ser realizada en forma manual por un
operador.

Los equipos de alarma pueden estar conectados con una Central Receptora,
para esto, se necesita de un medio de comunicación, como pueden serlo: una
línea telefónica RTB o una línea GSM, un transmisor por radiofrecuencia
llamado Trunking o mediante transmisión TCP/IP que utiliza una conexión
de banda ancha ADSL y últimamente servicios de Internet por cable, Cable
Módem y nuestra inovacion Un correo electrónico a gmail.

2.5 Central de alarma

La central de alarma es el centro neurálgico del sistema, posee un


microcontrolador que es el encargado, de acuerdo a su programación, de
recibir las señales de los sensores y tomar acciones como activar un mensaje
de emergencia atreves de correo electrónico.

Constantemente recoge información del estado de los distintos sensores y, en


caso de detectar una intrusión en la zona protegida, accionará los sistemas
de aviso (sean estos acústicos u ópticos). Puede verse a este elemento del
sistema de alarma como una especie de tarjeta electrónica, ya que en ella
quedan registradas las distintas entradas y salidas del hogar. (Rodriguez,
2011)
Figura 2.7 Central de alarma. Estos son los distintos elementos que posee
una central de alarma. Por Rodríguez (2011) recuperado de
http://serviciostc.com/central- de-alarmas/

La central de alarma suele encontrarse resguardada en un gabinete lo


suficientemente protegido como para no poder ser desarmado. Cada una de
estas zonas puede ser activada y desactivada de forma independiente, lo cual
es una gran prestación para hogares con muchas dependencias, ya que es
posible proteger las áreas en las que no debería haber presencia humana y
desactivar los detectores en aquellas áreas que estén siendo ocupadas por
los habitantes de la vivienda. Las centrales de alarma comúnmente se activan
mediante un teclado con la ayuda para visualizar mediante una pantalla LCD,
aunque también se pueden controlar remotamente con mandos vía radio, a
través del teléfono, o con un PC vía internet. (Rodriguez, 2011)
2.6 Microcontrolador
Un microcontrolador es un circuito integrado, en cual posee en su interior toda
la arquitectura de un computador, esto es CPU, memorias RAM, EEPROM, y
circuitos de entrada y salida. Se debe de tomar en cuenta que un
microcontrolador no realiza las tareas por sí mismo su funcionamiento está
determinado por la programación, siendo superior a muchos circuitos lógicos
como compuertas AND, OR, NOT, NAND, conversores A/D, D/A,
temporizadores, decodificadores, etc., simplificando todo el diseño a una placa
de reducido tamaño y pocos elementos, además, pueden reprogramarse
repetidas veces.

Los Microcontroladores poseen principalmente una ALU (Unidad Lógica


Aritmética), memoria del programa, memoria de registros y pines I/O (entrada
y/o salida). La ALU es la encargada de procesar los datos dependiendo de las
instrucciones que se ejecuten, mientras que los pines son los que se encargan
de comunicar al microprocesador con el medio externo; la función de los pines
puede ser de transmisión de datos, alimentación de corriente para el
funcionamiento de este o pines de control especifico. (Reyes, 2008)

2.6.1 Microcontrolador Pic18F4550


Características fundamentales:

 Arquitectura RISC avanzada Harvard:16 bit con 8 bit de datos.


 77 instrucciones.
 Desde 18 a 80 pines.
 Hasta 64k bytes de programa (hasta 2 Mbytes en ROMless).
 Multiplicador Hardware 8x8.
 Hasta 3968 bytes de Ram y 1KBytes de EEPROM.
 Frecuencia máxima de reloj 40Mhz. Hasta 10 MIPS.
 Pila de 32 niveles.
 Múltiples fuentes de interrupción.
 Periféricos de comunicación avanzados (CAN y USB)
Tabla 2.2
Comparación de las características de los microcontroladores PIC18F2455,
PIC18F2550, PIC18F4455 y PIC18F4550.

Nota: En esta tabla podemos observar la comparación de las características de los


microcontroladores PIC18F2455, PIC18F2550, PIC18F4455 y PIC18F4550.
Recuperado de http://ww1.microchip.com/downloads/en/devicedoc/39632c.pdf)

El microcontrolador pic 18f4550 dispone de 5 puertos de entradas y


salidas que incluyen un total de 35 líneas digitales de E/S:

Tabla 2.3
Puertos del Microcontrolador PIC 18F4550
PUERTO LINEAS DE ENTRADA/SALIDA
PUERTO 7 LINEAS DE E/S
A
PUERTO 8 LINEAS DE E/S
B
PUERTO 6 LINEAS DE E/S + 2 LINEAS DE
C ENTRADA
PUERTO 8 LINEAS DE E/S
D
PUERTO 3 LINEAS DE E/S + 1 LINEA DE
E ENTRADA

Nota: Esta tabla posee los puertos respectivos del Microcontrolador PIC
18F4550. Reyes (2008)

En la siguiente figura observaremos el patillaje que posee el


microcontrolador pic 18f4550 donde indican sus distintos puertos y pines.
Figura 2.8 Patillaje del microcontrolador PIC18F4550. La imagen muestra los
distintos puertos y pines del microcontrolador PIC18F4550. Recuperado de
http://ww1.microchip.com/downloads/en/devicedoc/39632c.pdf

2.7 Módulo LCD gráfica

Los módulos LCD (Display de cristal líquido), son utilizados para mostrar
mensajes que indican al operario el estado de la máquina, o para dar
instrucciones de manejo, mostrar valores, etc. El LCD permite la comunicación
entre las máquinas y los humanos, este puede mostrar cualquier carácter
ASCII. (Reyes, 2008)

Figura 2.9 GLCD ubicado en la central de alarma de la fundación. En el GLCD se


visualizara con mayor facilidad los comandos y menú de nuestra central
La LCD gráfica, permite interactuar con el microcontrolador, de manera eficaz,
esta pantalla cuenta con 14 pines E/S (para el control y datos) y 6 pines de
alimentación relacionados, entre sus principales características están:

- 128x64 puntos
- Modo de visualización (azul y amarillo)
- Visualización de la dirección o columna de la GLCD en 6 tiempos de reloj.
- 8 líneas de datos paralelos

La tabla 2.4 muestra la descripción de terminales del GLCD, la cual


contiene el símbolo, descripción, funciones de cada uno de las terminales del
GLCD para la interconexión con el microcontrolador.

Tabla 2.4
Descripción de las terminales de la GLCD.

Nota: Descripción de terminales del GLCD


2.8 Teclado matricial

Un teclado matricial está compuesto por teclas interconectadas formando una


matriz. Las teclas son simples interruptores mecánicos y cada una ocupa la
intersección de una fila con una columna. Cuando se pulsa una tecla, se
ponen en contacto eléctrico la fila y la columna donde está dicha tecla. Las
filas y columnas de esta matriz se pueden conectar a los terminales de uno o
más puertos paralelos. (Valdés & Pallás, 2007)

Figura 2.10 Teclado matricial de 16 teclas. Con el teclado se tendrá la


facilidad de navegar en el menú de la central de alarma. Por Reyes
(2008).

Para explorar un teclado matricial se envían señales hacia las filas de la matriz
por las líneas de exploración y se recoge información por las columnas, que
entonces constituyen las líneas de retorno. Básicamente se parte de que si no
hay ninguna tecla pulsada, todas las líneas de retorno están en el nivel lógico
“1”. Las líneas de exploración son puestas a “0”. Este valor lógico sólo aparece
en la línea de retorno mantienen el valor “1”. Con la información enviada hacia
la matriz y la que retorna, se conforma un código único para cada tecla,
llamado código de exploración. (Valdés & Pallás, 2007)

2.9 Sensores
Los sensores son aquellos que pueden trabajar de forma autónoma para
automatizar aisladamente determinados circuitos de la vivienda o de forma
integrada en el sistema remoto. Existen numerosos tipos de sensores. Desde
los más simples, tipo interruptor y pulsador, que envían señales de acciones
manuales del usuario
hacia la instalación, hasta los más complejos que son capaces de detectar
magnitudes físicas (temperatura, humedad, velocidad del viento, humos, etc).
A estos últimos también se les denomina detectores. (Martín, 2010)

 Sensores magnéticos  Detectores de monóxido de carbono

 Detectores de presencia o  Detectores de inundación


volumétricos
 Sensores de luminosidad
 Sensores de accionamiento
manual  Sensores de viento

 Detectores de humo o fuego  Sensor de Temperatura

 Detectores de gas

2.9.1 Sensores magnéticos


Se utilizan para detectar la apertura y cierre de puertas y ventanas. Su
funcionamiento es simple. Un contacto se abre o cierra en función de la
proximidad de un imán permanente sobre él. (Martín, 2010)

Figura 2.11 Sensor magnético ubicado en la fundación. Los sensores


magnéticos mantendrán segura las puertas de la central. Recuperado de
http://www.seco- larm.com

Si se desea aprovechar una entrada del nodo para realizar una función
con varias ventanas y puertas a la vez, es necesario utilizar una conexión en
serie de esta forma cuando las puertas y ventanas están cerradas, los
contactos permanecen cerrados, así si una de ellas se abre, el contacto lo hace
también de forma inmediata y la falta de señal puede ser detectada por el nodo
para producir una acción. Para que el dispositivo sea
eficaz no se debe superar la distancia recomendada por el fabricante
entre el contacto y el imán.

2.9.2 Detectores de presencia o volumétricos

También conocidos como PIR (passive Infrared), son dispositivos piro-


eléctricos que disparan un circuito electrónico cuando se producen, en su
campo de acción cambios en los niveles de radiación ante la presencia de una
persona o animal. (Martín, 2010)

Un detector de movimiento es un dispositivo que permite el control


automático de ciertos receptores (luminosos, acústicos o de otra naturaleza)
en función de la detección del movimiento de personas u objetos. Esta
detección puede realizarse por la variación de la intensidad luminosa o por la
emisión de radiación infrarroja del objeto captado. Existen diversas formas
constructivas de un detector de movimiento según que su instalación se
realice en techo, en pared, en caja de mecanismos, etc. (Valentín Labarta,
2012)

Figura 2.12 Detector de movimiento instalado en la fundación. El


Detector de movimiento es de doble tecnología el cual discrimina las
falsas alarmas como movimiento de objetos o animales. Recuperado de
http://www.riscogroup.com/

La zona de detección de un detector de movimiento es regulable, tanto en


distancia como en ángulo de barrido. A este respecto es muy importante
conocer la información que proporciona el fabricante sobre alturas mínimas
de instalación,
entorno, etc. De no hacerlo, el dispositivo puede funcionar de modo errático,
con activados intempestivos. (Valentín Labarta, 2012)

Figura 2.13 Detector de movimiento zona de captación. Estas son las distintas
captaciones que posee el detector de movimiento. Por Valentín (2012).
2.10 Sistema GSM

La red de comunicaciones móviles GSM proporciona enlaces de


comunicación entre usuarios del servicio de comunicación móviles, incluso si
se encuentran en células distintas o en el dominio de diferentes operadores,
así como conexiones entre usuarios del servicio de comunicaciones móviles
y usuario de las redes fijas. Dos conceptos básicos vinculados a las
mencionadas propiedades son:

- Traspaso (handover): Facultad de mantener una conexión mientras el


usuario se desplaza de una célula a otra.
- Itinerancia (roaming): Capacidad de la red para permitir que un usuario
transite entre varios operadores, incluso de diferentes países, o la
propiedad que posibilita a un usuario ser llamado cuando se desplaza
entre distintas áreas de localización de la misma red de
comunicaciones móviles terrestres.

Los principales elementos del sistema GSM son:

- Estaciones móviles (MS): Su comunicación con la red tiene lugar


vía la interfaz radio Um, también conocida como interfaz <aérea>.
- Subsistema de estaciones base (BSS): Se encarga de la gestión
de los recursos para la transmisión vía radio. Cada BSS dispones
de un controlador de estación base (BSC) que se ocupa de un grupo
formado por una o más estaciones transceptoras base (BTS).
- Centro de conmutación de servicios móviles (MSC): Este
elemento del sistema actúa como centro neurálgico del mismo. Se
halla enlazado a los subsitemas de estaciones base de una zona a
través de enlaces punto a punto, los cuales constituyen la interfaz
A. Además de controlar la señalización y el procesamiento de las
llamadas, coordina al traspaso entre células cuando el terminal
móvil se traslada de una célula a otra. El MSC es equivalente a una
central de conmutación de la red de telefonía fija, pero con
funciones específicas que contemplan la movilidad. (España, 2003)
Figura 2.15 Arquitectura de una red GSM. La arquitectura nos
muestra los elementos de los que está compuesta la red GSM.
Por España (2003).

2.10.1 Tarjeta SIM

Un terminal GSM no tiene acceso a la red salvo si dispone de todos los datos
específicos del abonado. Estos datos están incluidos en una tarjeta inteligente
llamada SIM (Subscritber Identity Module) que debe introducirse en el
terminal. La tarjeta SIM, cuyo acceso se protege con un número de
identificación personal, contiene no sólo los datos del abonado (número en la
RDSI, clave personal, etc...) sino también determinada información personal,
como marcación abreviada de números, lista de redes preferentes e
información de tarifación. En la tarjeta SIM también se almacena los mensajes
cortos. (Martínez, 2002)

El SIM está protegido por cuatro dígitos que reciben el nombre de PIN,
una vez que se introduce el PIN en el terminal se empieza a buscar redes
GSM que estén disponibles y va a tratar de validarse en ellas, una vez que la
red ha validado el terminal, el teléfono queda registrado.
Figura 2.16 Tarjeta SIM. Elemento que nos dará un número de
identificación personal. Recuperado de
http://www.claro.com.ec/
2.10.2 Servicio de mensajes cortos (SMS)

Una función única de GSM que no existe en los sistemas analógicos


anteriores es el servicio de mensajes cortos (SMS), que es bidireccional para
mandar mensajes alfanuméricos hasta de 160 bytes de longitud. Estos
mensajes SMS son transportados por el sistema en forma de almacenar y
enviar. También se pueden usar en un modo de radioemisión celular, para
mandar mensajes a receptores múltiples. (Tomasi, 2003)

Figura 2.17 SMS recibido de la central de alarma. Mensaje que


enviara la central de alarma en caso de que se active o se haya
realizado algún cambio

2.10.3 Modem GSM

Los modem GSM actúan como teléfonos móviles, se les debe de proporcionar
una tarjeta SIM para que estos comiencen a ejecutar el envío y recepción de
mensajes, gestionar la base de datos, la configuración de diversos
parámetros. El estándar para controlar los módems se basa en los comandos
AT HAYES.

Los comandos AT HAYES conocidos como AT con cadenas ASCII que


comienzan por los caracteres AT y terminan con un retorno. Cada vez que el
modem recibe un comando, lo procesa y devuelve un resultado, que
normalmente es una cadena ASCII salvo que hayamos indicado lo contrario.

Modem SIM900 S2-1040S-Z095P

El SIM900 es un solución cuatri-banda completa GSM / GPRS en un


módulo de SMT que puede ser incrustado en las aplicaciones de los clientes.
Se ofrece una interfaz estándar industrial, el SIM900 ofrece GSM/GPRS
850/900/1800/1900MHz
rendimiento para voz, SMS, datos y fax en un factor de forma pequeña y con
bajo consumo de energía. Con una configuración minúscula de 24 mm x 24
mm x 3 mm, SIM900 puede adaptarse a casi todos los requisitos de espacio
en su aplicación M2M, especialmente para una delgada y compacta demanda
de diseño.

 SIM900 está diseñado con un potente procesador de un solo chip de


integración AMR926EJ-S núcleo.
 Traje tipo SMT para la aplicación cliente
 Una pila de protocolos TCP integrado de gran alcance / IP
 Sobre la base de la plataforma madura y probada, respaldados por
nuestro servicio de soporte, desde la definición para el diseño y la
producción
 Cuatro Bandas: 850/ 900/ 1800/ 1900 MHz que permite trabajar con
todas las redes GSM en todos los países.
 Control vía comando AT, con el estándar de comandos GSM 07.07 y 07.05.
 Servicio de mensajes cortos
 Encriptado al formato TCP/UDP para descargar datos a un servidor web.
 Conector de micrófono y parlantes, por lo que se puede enviar
señales DTMF.
 Posee 12 GPIOS, 2 PWs y un ADC (todos a 2.8 V lógicos) para
acrecentar el servicio del Arduino.
 RS232 interfaz Serial
 Temperatura normal de operación: -20 °C a +55 °C
 Voltaje de entrada: 5V-12V DC
Figura 2.18 Modem GSM, Modem instalado en la central de
alarma.
Interface serie

Tabla 2.5
Especificación del puerto serial DB9.
Puerto Serial DB9
Nombr Pin Función
e
CTS 8 Listo para enviar
RTS 7 Solicitud de envío
TXD 2 Transmite datos
RXD 3 Recepción de
datos
Nota: Especificación del puerto serial DB9.

El módulo GSM está diseñado como un DCE (Data Communication


Equipment), siguiendo el tradicional DCE-DTE (Data Equipo Terminal)
conexión. El módem GSM y el cliente (DTE) se conectan a través de la
siguiente señal.
Puerto serial.
• TXD: Envía datos a la línea de señal RXD del DTE
• RXD: Recibe datos de la línea de señal TXD del DTE

Interfaz del módem al microcontrolador (conexión básica)

El módem puede interactuar directamente con microcontroladores de 5V


como PIC, AVR, 8051 Derivados, Arduino y microcontroladores 3V3 como
ARM, ARM, etc.

Se debe asegurar que el pin V_INTERFACE se suministre con el mismo


nivel de tensión que el VCC del microcontrolador. Sólo se necesitan 2
conexiones para utilizar el módem. Conecte pin RX del módem al pin TX del
microcontrolador y pin TX del módem al pin RX del microcontrolador. La fuente
de alimentación conectada (4.2v a 12V DC) debe ser capaz de soporte de
corriente hasta 1 A.
CAPÍTULO III: DISEÑO DEL SISTEMA DE SEGURIDAD

De manera global al proyecto se lo divide en dos sistemas que son:

 Sistema de Circuito Cerrado de Sensor aprox. (CCS).


 Sistema de Alarma (Mail).

El sistema de circuito cerrado de Sensor está formado por conectores y


circuitos (IP), medios de transmisión (cable UTP), dispositivo de monitoreo
(local o remoto), unidad de almacenamiento (disco duro de 1TB, en PC),
dispositivo de visualización remota (teléfono móvil, tablets, etc).

El sistema de alarma para el procesamiento de datos se lo explica a través


del siguiente diagrama de bloques como se muestra en la figura 3.1 el cual
está formado por un sistema de control (microcontrolador), sistema sensorial
(sensor de movimiento y magnético), actuadores (sirena, mensaje de texto) e
ingreso de datos (teclado).

Figura 3.1 Diagrama de bloques global del sistema de la central de alarma.


Muestra entradas y salidas en diagrama de bloques del sistema de alarma.

En el desarrollo de la tarjeta del sistema de alarmas se realizaron varias


pruebas para estar seguros de su funcionabilidad, cuando se llegó a tener un
funcionamiento satisfactorio se elaboró toda la circuitería en dos PCB, las
cuales cumplen con funciones específicas denominadas placa maestro y
placa esclavo. En este capítulo se detallara su contenido, elaboración,
programación y función dentro del sistema de seguridad.
3.1 Desarrollo

A continuación se muestra en la figura 3.2 y 3.3 el diagrama de bloques del


sistema de Circuito Cerrado de Sensor (CCS) y el sistema de alarmas
respectivamente de las placas que conforman el diseño a desarrollar.

SENSOR

DE

PROXIMIDAD

Figura 3.2 Diagrama de bloques del sistema de CCS. Indica los elementos
utilizados en el sistema de CCS

Figura 3.3 Diagrama de bloques del sistema de alarmas. Indica los elementos
utilizados en el sistema de alarmas.
Posteriormente se muestra en la figura 3.4 el diagrama físico de las conexiones del
sistema de seguridad.

34

Figura 3.4 Diagrama de bloques físico del sistema de seguridad. Indica los equipos
físicos utilizados en el sistema de seguridad.
3.1.1 Placa
Maestro
Componente
s
Para el diseño de la placa maestro procedimos con anterioridad a realizarlo
en un protoboard con la finalidad de comprobar el correcto funcionamiento de
los componentes y así corregir errores que pudieren presentarse.

Figura 3.5 Circuito en protoboard. Se realizaron las respectivas pruebas en


protoboard para verificar el buen funcionamiento de todos los componentes.

Luego de haber realizado el circuito en el protoboard procedemos a


comprobar los microcontroladores y su respectiva adquisición de datos, esto
lo realizamos mediante
Una vez concluido la adquisición de datos por parte de los
35
microcontroladores 18F4550 y corrección de errores presentados, tenemos
como finalidad realizar las

36
pruebas de transmisión de datos usando un módulo wifi y un dispositivo
móvil.

La placa maestro consta de los siguientes elementos detallados en la tabla


3.1

Tabla 3.1
Elementos de la PCB para la placa maestro

Elemento Cantida
s d
Microcontrolador 18F4550 1
Módulo Wifi 1
Tarjeta Proto 1
App 1

Nota: En la tabla se indica cada uno de los elementos utilizados para la


elaboración de la placa maestro.

Luego de asegurarse que el sistema estaba funcionando adecuadamente, se


realizó la elaboración de una PCB (Circuito Impreso) de acuerdo a las
requisitos presentados por el microcontrolador 18F4550 para que pueda este
procesar las distintas señales provenientes de los contactos magnéticos,
detectores de movimiento, comandos de los dispositivos móviles, alarma y la
comunicación y control tipo conexión serial con la placa esclavo. A
continuación se muestra en la figura 3.8 el diagrama esquemático de los
elementos que conforman la placa maestra

37
Funcionalidad

Esta placa posee una fuente de alimentación la cual es alimentada a 5v por


tal razón se utilizó un transformador de 110v a 6v, y estos son regulados 5v.
A la salida del transformador se coloca un puente de diodos que se encargara
de rectificar la corriente de entrada que no debería de ser mayor a 1 amperio
luego un condensador de 470 Uf/16v que ayuda a eliminar parte del propio
rizado de este tipo de rectificador. El corazón de la fuente es el regulador de
voltaje LM7805, que posee un condensador de 100nF a su entrada y otro a
su salida, entonces a la salida de esta etapa ya tenemos los 5V regulados que
necesitamos para nuestro microcontrolador y la pantalla otro condensador de
470 Uf /16v que ayuda a eliminar cualquier pequeño rizado que hubiese
quedado. Se coloca un led rojo que indica la correcta alimentación del circuito.
A continuación se muestra en la figura 3.11 el diseño de la fuente de
alimentación

Figura 3.12 Diagrama del circuito de la fuente de alimentación placa maestro.


Diseño de la fuente de alimentación realizada en Isis.

Para protección de acceso a la fundación se instalaron seis contactos


magnéticos al marco de la puerta estos envían una señal a la central si la
puerta es abierta; del mismo modo cerca de la puerta de entrada se colocó un
detector de movimiento watch-out, el cual detectara la presencia de algún
intruso ambas enviaran a la activación de una alarma sonora.

Es por este motivo que la placa maestro contiene un bloque de borneras, las
cuales contienen en cada entrada una resistencia en serie de 10K, una
resistencia pull-down de 100k y un diodo zener de 5.1 V. Se usa esta
configuración para proporcionar al cable de los contactos 9 voltios, debido a
que la longitud del cable es

38
tan largo que podría haber una caída de voltaje de 4 voltios pero aun así
detectaría un nivel lógico alto, el zener asegura de que no sobrepase el voltaje
máximo de 5v en la entrada del PIC y la resistencia pull-down de 100k que se
coloca siempre al final del recorrido nos permite mantener un estado lógico
bajo cuando se haya abierto el circuito del sensor.

Los seis contactos magnéticos están conectados en el puerto B del pic


(B0-B5), y el sensor watchout al pin D7 como se muestra en la figura 3.12.

El circuito de accionamiento para la sirena está constituido por un relé de


5v, un transistor 2N3904, un diodo de protección que evitará sobretensiones
cuando la bobina se desconecte además de que posee una resistencia de 1k
conectada entre el microcontrolador y la base del transistor. El
microcontrolador envía una señal por el pin D6, finalmente la señal enviada es
recibida por el relé para activar o desactivar la sirena.

39
A continuación en la figura 3.14 se detalla los elementos necesarios para
proceder a la activación de la alarma sonora.

También se cuenta con la conexión del módulo GSM SIM900 S2-1040S-


Z095P para el envío y recepción de mensajes de texto. Este equipo presenta
un módulo SIM900 inalámbrica ultra compacta y confiable. Se trata de un
módulo GSM / GPRS de banda Quad completa en un tipo de SMT y diseñado
con un potente procesador de un solo chip de integración de núcleo
ARM926EJ-S, lo que le permite beneficiarse de pequeñas dimensiones y
soluciones rentables.

Con una interfaz estándar de la industria, el SIM900 ofrece GSM / GPRS


850/900/1800 el rendimiento / 1900MHz para voz, SMS, datos y fax en un
pequeño factor de forma y con bajo consumo de energía.

Las conexiones necesarias son la alimentación de 5v, Tx, Rx conectadas


a C6 Y C7 del microcontrolador respectivamente y la señal para encender el
módulo es el terminal 23 del módulo al pin D4 del microcontrolador, este pin
tiene una resistencia PULL-UP para que se encienda junto a la central de
alarma, pero también está conectado al pic para que este pueda encender en
cualquier momento el modulo. Se colocaron capacitores de 470uF/16v
alrededor de la alimentación del módulo para que estos puedan entregarle
energía en el caso de que el módulo GSM requiera mayor potencia al
momento de enviar o recibir un mensaje.

Programación

El IDE (entorno de desarrollo integrado) usado es PIC C, el cual nos ofrece


funciones para la fácil configuración del hardware usado, una de estas
funciones es (#use rs232), la cual configura los registros necesarios para
poder usar el puerto serial del microcontrolador de una manera fácil y sencilla.

Sus elementos son:

 STREAM=id: asocia un identificador a este puerto RS232, el


identificador puede ser usado en funciones como putc.
 BAUD=x: Setea la velocidad de trasmisión en baudios.

40
 XMIT=pin: Setea el pin de transmisión.
 RCV=pin: Setea el pin de recepción.
 PARITY=X: puede ser N, E u O.
 TIMEOUT=X: Setea el tiempo que getc( ) espera por una entrada en
ms, si ningún carácter ingresa dentro de este tiempo el
RS232_ERRORS es seteado 0.

El microcontrolador maestro posee dos puertos de comunicación, uno


implementado por hardware interno del microcontrolador usado para la

41
comunicación con el módulo GSM y otro por software usado para la
comunicación con el esclavo.

La programación del maestro comienza con la configuración de los pines


como entradas o salidas como es el caso de entradas para sensores y salidas
para el relé y señal de control para el encendido del modem GSM.

Los que contienen la letra ‘t’ significa que el registro se configura como
entrada o salida, por este motivo están asignados los TRISX. Los nombres
que no contienen la letra ‘t’ son los que contienen la información de los pines
y es lo q se usa más adelante en la programación.

42
Luego se procede a pedirle la información al esclavo de los teléfonos
almacenados, claves almacenadas, sensores activos.

Se configuran las interrupciones del TIMER1, la cual es usada para crear


interrupciones cada 250 ms de este modo cada 4 interrupciones significa que
ha pasado 1segundo y se incrementa los contadores de segundos usados en
el programa.

Se habilitan las interrupciones de hardware periférico para que la


interrupción por dato de entrada en el puerto serial sea procesada.

43
Figura 3.16 Diagrama de flujo del funcionamiento detallado del maestro. Configuraciones realizadas en las entradas y salidas del
pic 18f4550 y encendido del modem GSM sim 900.
47
Como se puede observar en el diagrama de flujo al inicio se cuenta con una
configuración de las entradas y salidas del microcontrolador, seguido por el proceso
de encendido del modem GSM y luego su configuración que toma
aproximadamente 13 segundos. Este proceso se ejecuta solo una vez al
energizarse el sistema seguido de esto se queda encerrado en dos FOR, el primero
de una variable ‘j’ que va desde 0 a 4 y el segundo for que está dentro del for
anterior controlado por la variable cont, que va desde 0 a 99.Dentro de este for se
realiza la verificación de los puertos, la verificación de la alarma activada por el
usuario y la notificación por mensaje SMS.
La verificación de los puertos se realiza cada 1ms, es decir que si un intruso quiere
abrir las puertas debería hacerlo en menos de 1ms.

Después de 100 verificaciones de las puertas, es decir 100ms sale del segundo for
y continúa haciendo la tarea del primer for, la cual es pedir informaciones al esclavo
de 1 vez cada 100ms. Esto quiere decir que después de los primeros 100 ms de
verificar los sensores continuamente se le hace una petición al esclavo para que le
envíe el teléfono 1, luego de esto espera otros 100ms más para pedir el teléfono 2
y así sucesivamente. De este modo la información en el maestro queda actualizada
completamente después de 500 ms.

Se realiza de esta manera para que tanto el maestro y el esclavo tengan


tiempo de realizar sus tareas y no estar pendientes de la comunicación a cada
instante de tiempo.

Configuración del modem GSM sim 9000

Este modem es configurado a través de comandos AT, los cuales lo


proporciona el fabricante del mismo (SIM COM), existe una gran cantidad de
comandos usados para configurar la red móvil gsm, configuración de
comunicación serial, y configuración de puertos que posee este módulo.

Nos centraremos específicamente en los que se han usado para realizar


este proyecto, los cuales son:

- AT+CMGF
- AT+CNMI
- AT+CMGS

48
Sintaxis de los comandos AT.

El ‘AT’ o ‘at’ es un prefijo que debe de estar al inicio de cada línea de


comando para terminar una línea de comando se debe agregar <CR> (retorno
de carro o el carácter 13 de la tabla del código ASCII).

Los comandos son usualmente seguidos por una respuesta que incluye
<CR><LF><respuesta><CR><LF>.

En la documentación siguiente solo se muestra la respuesta ya que


<CR><LF> son omitidos intencionalmente.

Sintaxis Básica

Los comandos AT tienen el formato de ‘AT<x><n>’ donde < x> es el


comando y <n> son los argumentos para ese comando.

El comando AT+CMGF, selecciona el formato de los mensajes sms, la


forma de escribir el comando hacia el modem es: AT+CMGF = <mode>

Donde: <mode> puede ser 0 o 1,

 0 para el modo PDU y


 1 para el modo texto.

En nuestro caso configuramos el modem como modo texto, para que la


información que envía al microcontrolador sea ASCII y poder ser leída
fácilmente.

El comando AT+CNMI, este comando configura la indicación de un


nuevo sms de la bandeja de entrada del modem, la forma de escribir este
comando es: AT+CNMI=<mode>[,<mt>],<bm>[,<ds>[,<bfr>]]]],

49
Donde: < mode > puede tener los siguientes valores:

Parámetros de <mode>
0 El adaptador terminal (TA) almacena los sms no
solicitados en un buffer, si este se llena los nuevos
mensajes reemplazan los
antiguos mensajes.
1 Descarta las indicaciones y rechaza los nuevos mensajes
no
solicitados. De lo contario transmitirá al equipo terminal
(TE).
2 Indica al terminal que envíe el contenido de cualquier
mensaje
sms a través del puerto serial.
3 Muestra directamente el código en el terminal.
Nota: Puede tomar el valor de 0, 1, 2, 3 deacuerdo a la programación
requerida.
Mt, establece el formato del código del mensaje el valor por default es 1 puede
tomar los siguientes valores.

Formato del código del mensaje


0 Indicación de formato de código mensaje nuevo. El mensaje
no
será guardado
1 Nuevo código de mensaje en formato MT, <index>. El
mensaje
será guardado pero no visualizado directamente
2 Nuevo código de mensaje en formato modo texto. El mensaje
será
mostrado directamente pero no se guardará.
Nota: Los valores que puede tomar Mt son 0, 1 y 2.
Bm, indica el método cuando el mensaje difundido llega, puede tomar los
siguientes valores:
Método del mensaje
0 No envía salida en modo broadcast(CBM)
2 Directamente envía el terminal a mostrar, cuando la difusión ha
llegado.
Nota: Los valores que puede tomar Mt son 0 y 2.

50
Ds, indica el estado del mensaje que está siendo enviado, puede tomar
los siguientes valores:

Formato del código del mensaje


0 Ningún reporte del estado de los sms es dirigido hacia el equipo
terminal.
1 El reporte del estado de los sms es dirigido al equipo terminal.
Nota: Los valores que puede tomar Ds son 0 y 1.

Bfr, puede tomar los siguientes valores:

Parámetros de <Bfr>
0 El código de este comando almacenado en TA será enviado al
TE
1 El código de este comando almacenado en TA será borrado.
Nota: valores que puede tomar Bfr son 0 y 1.

Nosotros configuraremos los mensajes para que se muestren


directamente en el puerto serial y para que no sean guardados en el terminal,
por este motivo se configura de la siguiente manera: AT+CNMI=2, 2, 0, 0, 0

Los dos comandos anteriores son usados para configurar el modem al


momento de encenderlo.
El comando AT+CMGS, sirve para enviar los mensajes, la forma de escribir el
comando hacia el modem es: AT+CMGS=<da>[,<toda>]<CR>text is
entered<ctrl-Z/ESC>

Donde: <da> es el teléfono de destino del mensaje en formato de string,


incluyendo las comillas. <toda>, es el teléfono destino en octetos en formato
de enteros Text is entered, es el mensaje que se desea enviar. <ctrl-Z/ESC>,
ctrl-z es
51
el carácter 26 del código ASCII, es usado para enviar el mensaje, ESC es el
carácter 27 del código ASCII y es usado para salir sin enviar el mensaje.

Funcionamiento de la interrupción de datos en el puerto serial.


Una parte de la información que envía el módulo GSM hacia el
microcontrolador se la muestra en la siguiente imagen.

- +CMT: “+593959210710”, “”, “15/01/11,18:00:30-20”


- #0

Donde: “+593959210710”, corresponde al número telefónico de donde


se ha enviado el mensaje de texto seguido por la fecha junto a la hora y
después el mensaje de texto.

Al tratarse de un sistema de seguridad es importante saber de donde se


ha enviado el mensaje de texto por este motivo se implementa el
reconocimiento de este número después del patrón “+CMT: “593”, después
que se haya encontrado este patrón se procede a copiar el número que viene
hasta encontrar las comillas (“).

El mensaje de texto que el usuario envía para apagar la alarma,


52
encender o apagar el sistema deberá ser escrito con el siguiente formato:

- #<clave de acceso> para apagar alarma


- #<clave de acceso>on, para encender el sistema
- #<clave de acceso>off, para apagar el sistema.

El uso del carácter numeral (#) es importante en la programación ya que la


información que provee el modem gsm no contiene en ningún lado este carácter y
nosotros al encontrar este carácter estamos seguros de que es parte del mensaje que el
usuario ha enviado.

53
Diagrama de flujos de la interrupción por datos de entrada en el puerto serial. Primero se
recibe información del número telefónico y luego información acerca del mensaje
que envía el usuario.

54
La recepción de información se produce por interrupciones y la secuencia lógica
del funcionamiento viene dada por la información que se recibe por parte del módulo
GSM, es decir, primero se recibe información del número telefónico y luego
información acerca del mensaje que envía el usuario, este orden está controlado por la
variable “número comprobado”.

Cuando esta es 0, se procede a la verificación de número una vez que se verifica


que número telefónico es igual al número telefónico almacenado en el sistema, la
variable número comprobado pasa a ser 1.

La próxima vez que ingrese a la interrupción debido a un nuevo carácter del


mismo mensaje no habrá pasado más de 1 segundo y debido a que ya se comprobó el
número se procede a la verificación de la clave y de los comandos “on” y “off” del
mensaje de texto.

Cada vez que se entra a la interrupción se resetea el contador de segundos,


cuando llega un mensaje de texto continuamente se está entrando a la interrupción y
por ende el contador de segundo se mantiene en 0.

Cuando se acaba el mensaje de texto el contador de segundos se deja de resetear


y comienza a contar los segundos transcurridos, hasta la próxima vez que llega un
mensaje y el contador de segundos es mayor que 1 haciendo que la variable del número
comprobado sea igual a 0. De este modo se vuelve a comprobar el número para nuevo
mensaje de texto.

55
3.1.2 Placa Esclavo
Componentes
Para la elaboración del módulo esclavo designada para ingreso y visualización
de datos se realizó con el programa Isis el diseño de una PCB acorde a las necesidades
presentadas por el microcontrolador 18f4550 para poder procesar las diversas señales
provenientes de la placa maestro.

La placa esclavo consta de los siguientes materiales para su elaboración descritos


en la tabla.
Elementos de la PCB para la placa esclavo.
Elemento Cantidad
Microcontrolador 18F4550 1
LCD gráfico 1
Teclado 4x4 1
Puente rectificador de diodos
1
w04
Regulador LM7805 1
Capacitor 470 uf 3
Capacitor 100 nf 2
Resistencia 100k 4
Resistencia 10k 4
Resistencia 4,7k 1
Resistencia 220 2
Transistor 2N3904 2
Pin header 3
Botonera 1
Borneras 2 pines 1
Borneras 3 pines 1
Diodo led 1
Cables con conector 5
Zócalo de 16 pines 1
Nota: En la tabla se indica cada uno de los elementos utilizados para la elaboración de la
placa esclavo.

Como se mencionó anteriormente ambas placas fueron previamente revisadas en


un circuito en protoboard, para no tener ningún error al momento de transferir el
circuito a una PCB. A continuación en la figura 3.19 se muestra el diagrama
esquemático del circuito de los elementos que conforman la placa esclavo.

56
Funcionalidad

El módulo esclavo es el encargado de enviar y recibir datos solo cuando el pic


maestro lo solicita, habiendo comunicación maestro-esclavo y viceversa
constantemente. La comunicación constante entre placa maestro y placa esclavo se la
realiza mediante la comunicación serial RS232, permitiendo enviar y recibir los bytes
de información con el pic maestro. Las líneas necesarias para realizar la comunicación
serial son tres: Rx, Tx y Gnd. Como se muestra en la figura 3.23

Diagrama de Transmisión. Pines utilizados para la comunicación serial.

Debido a que la transmisión es asíncrona, es posible enviar datos por una línea mientras
se recibe datos por otra. Además se muestra R2 (100k), la cual es una resistencia
PULL-UP para que en caso de que no esté conectado el maestro no haya ruido
electrónico o variaciones en la fuente de alimentación cayendo en un bajo y así pase a
un estado lógico alto.
Cuando el módulo maestro envía los bytes de datos el modulo esclavo almacena y
ejecuta las acciones correspondientes a las tareas programadas entre las que podemos
mencionar:
- Ingreso de clave de acceso al menú de alarma.
- Activar/desactivar alarma general.
- Habitar /deshabilitar los contactos magnéticos y el sensor de movimiento.
- Grabar un nuevo número telefónico de los usuarios designados.
- Grabar una nueva clave de acceso.

Los datos son procesados y almacenados en la memoria EPROM del


microcontrolador. Detallando la circuitería de la placa esclavo para ingreso y
57
visualización de datos ésta consta con una fuente de alimentación para alimentar el
pic y la glcd con 5vdc rectificados.

El diseño electrónico de la fuente es igual a la placa maestro con los mismos


componentes ya explicados en placa maestro. La placa esclavo cuenta con unas
borneras llamadas Vin (voltaje alterno) proveniente del transformador de 110v a 6v
que lo utilizamos para alimentar a ambas placas. Se tiene el led que indica la correcta
alimentación de la placa. La figura 3.24 muestra el diagrama de la fuente de
alimentación.

Diagrama del circuito de la fuente de alimentación. Diseño de la fuente de


alimentación realizada en Isis.

Para el ingreso de información como meter la clave, activación/desactivación


de sensores, cambio de contraseña y cambio de número telefónico, utilizamos un
teclado matricial 4x4, el cual es un elemento pasivo (no necesita energía).

Se conecta el teclado usando 8 pines conectados a nuestro microcontrolador.


Las columnas (vertical) se conectan a los bits más significativos que funcionan como
salidas, mientras que las filas (horizontal) del teclado se conectan a los bits menos
significativos que funcionan como entradas con resistencias pull-down. Cualquier
tecla que se oprima en una fila causará que uno de los bits menos significativos del
puerto (RA0-RA3) cambie de un estado lógico bajo a un estado alto.

58
Diagrama del circuito del teclado. Pines utilizados para conectar el teclado.

Para la visualización del menú del sistema de alarma se utiliza un LCD gráfico
de 128x64 de marca JHD12864E.

Las líneas de datos del GLCD (DB0-DB7) se conectan directamente al puerto


D del microprocesador y las líneas de control D/I ,R/W, E, CS1 y CS2 se conectan al
puerto B a lo terminales 4, 5,6,15,16 respectivamente, la líneas RST del GLCD va al
reset del microcontrolador. La figura 3.26 muestra el diagrama de la LCD gráfica.

LCD
SIL-100-20

C6
10
11
12
13
14
15
16
17
18
19
20
1
2
3
4
5
6
7
8
9
VDD

470uF
b5
b4
b3
d0
d1
d2
d3
d4
d5
d6
d7
b0
b1
b2

R3
VOUT
VSS

DB0
DB1
DB2
DB3
DB4
DB5
DB6
DB7
CS1
CS2
R/W

BLK
RST

4.7k
`D/I
VO

Blight
E

Figura. 3.26 Diagrama del circuito del LCD gráfico. Pines utilizados para conectar
la GLCD.

Se controla la iluminación trasera o retroiluminación con el terminal 19 de la


GLCD al pin 17 del microcontrolador a través del transistor 2N3904 que es controlado
por el controlador. Este control es con PWM (Modulación por ancho de pulso) que es
la técnica que hemos usado para la regulación de la luz de fondo para poder tener un
rango de iluminación de 0 a 100% para que las imágenes sean visibles

59
y el texto pueda ser percibido de una manera legible. También se coloca un capacitor
de 470 Uf/16v para mantener un voltaje fijo sin muchas variaciones

Diagrama del circuito del pin de retroalimentación. Pin 17 controla la


retroiluminación de la GLCD.

Programación

Así como el maestro usa funciones del IDE para las configuraciones del
hardware, el esclavo también usa para la comunicación serial con el maestro.

Se definen en que pines se encuentran conectadas las columnas y las filas del
teclado matricial

Se configura el TIMER0 para que produzca una interrupción cada 10 ms, de


este modo cada 100 interrupciones habrá transcurrido 1 segundo y se incrementará los
contadores de segundos respectivos.

60
Se configura el módulo PWM (modulación por ancho de pulso) para poder
controlar la luminosidad de la pantalla para esto es necesario habilitar el TIMER2 y
el módulo CCP1.

Como el esclavo almacena información en la memoria EEPROM de los datos


ingresados por el usuario como números telefónicos, la clave y la activación de
sensores. Es necesario comprobar que existe información útil al encender el sistema,
por este motivo en la dirección 0 y en la dirección 1 no existe el dato 0xAA y 0x55
respectivamente, se asume que el resto de la información almacenada no es útil para
nosotros, y se procede a inicializar la memoria EEPROM con los datos por default que
son:

- Clave:12345
- Teléfono 1: 0983918659
- Teléfono 2: 0959210710

En caso de que si se encuentre 0xAA y 0x55 se procede a leer la información


de la memoria EEPROM

Se habilitan las interrupciones globales, periféricas, recepción de datos y de


Timer0.

61
Diagrama de flujo del funcionamiento general del esclavo. Proceso lógico si
detecta alguna alarma.

Como se puede observar en el diagrama de flujo constantemente se pregunta si hay


una alarma, cuando hay una alarma se muestra en la pantalla “ingrese clave para
apagar alarma” una vez ingresada la alarma se apaga y vuelve a un modo de espera
donde al presionar una tecla se enciende la pantalla y nos pide la clave para ingresar a
las opciones.

Cuando se sale de las opciones se procede a guardar toda la información que


ha ingresado el usuario y vuelve a modo de espera.

En el siguiente diagrama se muestra el recorrido del menú de opciones.

62
Diagrama de flujos del menú de opciones. Proceso lógico del recorrido en menú de
la central de alarma.

63
Como se muestra en el diagrama para desplazarse en el menú de opciones se lo
realiza con las teclas A Y B para subir y bajar respectivamente, para modificar el
parámetro seleccionado, se lo realiza con la tecla C, para guardar y salir del menú de
opciones se presiona la tecla D.

Comunicación entre Maestro – Esclavo

Al tratarse de dos microcontroladores que cumplen funciones específicas


dentro de un sistema, éstos deben estar comunicados de alguna manera, la forma por
la cual se comunican es por comunicación serial asíncrona, siguiendo una jerarquía
maestro - esclavo.

Donde es el maestro el que inicia la comunicación todo el tiempo y el esclavo


a está atento a cualquier petición del maestro, para este sistema se ha implementado
un protocolo para establecer una comunicación entre ellos.

El maestro le solicita al esclavo información a través de caracteres definidos en


la siguiente tabla se muestra todos los caracteres que se transmite, su funcionamiento
y la respuesta de parte del esclavo.
Caracteres definidos para la comunicación maestro - esclavo
CARÁCTER DESCRIPCIÓN RESPUESTA DEL ESCLAVO
‘A’ El maestro indica que se ha ‘a’
activado una alarma.
‘D’ El maestro indica que la ‘d’
alarma ha sido apagada.
‘B’ El maestro pregunta si ya se ‘s’ en caso de que si se ha activado
ha ingresado la clave a través la clave ‘n’ en caso de que no se
del teclado. haya ingresado la clave.
‘T’ El maestro pide el teléfono 1. El primer byte es número de dígitos
del teléfono y después envía todos
los dígitos del teléfono.
‘V’ El maestro pide el teléfono 2. El primer byte es número de dígitos
del teléfono y después envía todos
los dígitos del teléfono.

64
‘S’ El maestro pide que sensores El esclavo responde 10bytes de los
están habilitados para que cuales 7 corresponden a los
suenen con la alarma. sensores habilitados y 3 de reserva.
‘C’ El maestro solicita la clave. El esclavo responde con el primer
byte que indica la cantidad de
dígitos de la clave seguidos por
todos los dígitos de la clave.
‘U’ El maestro indica que a El esclavo solo recibe la
enviar que puertas están información que envió el maestro.
abiertas o cerradas.
‘R’ El maestro pregunta si está ‘r’
listo para una nueva
recepción de datos.
‘K’ El maestro indica que se debe ‘k’
habilitar el sistema para que
suene la alarma en caso de
haber intrusos.
‘Q’ El maestro indica que se ‘q’
deshabilita el sistema.

Nota: Función que cumple cada carácter en comunicación maestro esclavo.

3.2Montaje, implementación y capacitación del sistema de alarmas y


el circuito cerrado de televisión.

En este ítem explicaremos como se procedió a la respectiva instalación de los


diversos equipos y accesorios correspondientes. Antes de ejecutar el montaje se
procedió a realizar un levantamiento el cual incluía diagramas de comunicación,
conexiones eléctricas, trayectoria del cableado y ubicación de equipos.

Teniendo estos parámetros en cuenta, procedimos a la instalación de las


canaletas las cuales estarán ubicadas en el exterior tanto en la parte frontal y posterior
de la fundación y las tuberías que serán colocadas en el interior justamente arriba del
cielo raso, ambas llevaran el cableado de alimentación y comunicación; teniendo en
cuenta que hay que dejar un espacio necesario para el montaje de las

65
cajas de paso las cuales nos servirán para tener los empalmes y halar o mantener
reserva del cable.

Instalación de canaletas y tuberías. Canaletas ubicadas en el exterior tanto en la


parte frontal y posterior de la fundación y tuberías por cielo raso para respectiva
protección de los cables.

Una vez culminada la instalación de las canaletas y tuberías se comenzó a poner


el cable de alimentación AWG#16 para los equipos requeridos cámaras, sensor de
movimiento, central de alarma, computador, switch, etc; algunos de los elementos
requerían tener un transformador debido a que el voltaje era muy alto. También en las
mismas canaletas y tuberías se pasó el cable de comunicación UTP categoría 6

para comunicar las cámaras se poncharon y se le adaptó los conectores RJ45; en cambio para
comunicar los contactos magnéticos con la central de alarma se usaron dos hilos estos fueron
empalmados.

Cableado de alimentación y comunicación a equipos. Se utilizó cable


AWG#16 para alimentación de los equipos y cable UTP cat. 6 para las
cámaras con conector RJ45.

Después de tener todo el esquema de cableado se siguió en colocar los equipos;


en el caso del sistema de CCTV fue la instalación de las cámaras ip, el switch y el
computador en cambio en el caso del sistema de alarmas se colocó los contactos
magnéticos, el sensor de movimiento, la sirena y la central de alarma; ambos sistemas
se alimentan a un UPS.

Las cámaras Hikvisión DS-2CD2112-I (tipo domo) se colocaron en la parte


posterior de la fundación y la cámara Hikvisión DS-2CD2012-I (tipo tubo) se colocó
en la parte frontal en la esquina superior derecha; el switch y el computador se
instalaron en la oficina de trabajo social.

66
Instalación de los equipos del sistema de CCTV. Se instalaron los respectivos
equipos para el funcionamiento del CCTV en cada ubicación designada.

Luego se procederá a montar los seis contactos magnéticos Seco-Larm SM-


226R-3Q ubicados uno en la puerta principal corrediza, otro en la puerta de ingreso,
dos ubicados en las puertas posteriores corredizas, uno en la puerta posterior y
finalmente uno en la puerta de acceso al patio posterior; el sensor de movimiento se lo
ubico en la pared lateral derecha al ingreso de la fundación; la alarma sonora fue
colocada en el interior de la fundación y finalmente la central de alarma será situada
en el dormitorio de uno de los que diseñaron el equipo .

67
Montaje de equipos perteneciente a la central de alarma.
Instalación de contactos magnéticos y sensor de movimiento a la central de alarma.

Finalmente se instaló un breaker para no interferir en conexiones eléctricas,


previamente realizando diagramas y calculando la tensión con la que van a trabajar los
equipos, el cable que va a ser utilizado para la instalación, la distancia que poseen los
dispositivos; además con la fórmula I= W/V obtendremos el amperaje para
implementar nuestro breaker.

Luego de realizar los procedimientos anteriormente mencionado llegamos a la


conclusión de tener un breaker de 15 Amperios a 1polo. Este breaker se conecta a un
UPS SL-1011 de 1000VA ubicado en la oficina de trabajo social, a este equipo se le
conecto el cpu, el monitor, las video cámaras, el switch y la central de alarma el cual
mantendrá a todos estos elementos con suministro de energía durante una hora en el
caso de que exista un corte eléctrico

68
Instalación de breaker y alimentación de los equipos al UPS. Las instalaciones
se realizaron de forma independiente con un breaker de 15A -1P.

A continuación instalamos los respectivos programas pertenecientes a las


cámaras hikvision para poder tener la visualización de manera local en el monitor y
luego instalamos el programa Blynk, este será el programa que nos permitirá realizar
la visualización de forma remota, le instalamos claves de acceso para que únicamente
el administrador y encargado puedan ingresar sin presentar inconvenientes con
usuarios no autorizados.

Instalación de programas hikvision y del Blynk. Se utilizó el programa SADP y


IVMS-400 para detección automática de IP y visualización de las cámaras
respectivamente, además Team Viewer para la visualización remota.

69
Una vez culminado el montaje de todo el sistema de seguridad y la instalación
de los respectivo programas se procede a realizar las pruebas; comprobamos que las
cámaras se encuentran grabando de forma óptima y que se puede realizar el monitoreo
telemétrico a través de la aplicación instalada, a la vez se comprobó el funcionamiento
de la central de alarma verificando que el modem GSM envíe y reciba los mensajes de
alarma en caso de que los contactos magnéticos y el sensor de movimiento envíen
algún pulsos de alarma hacia la central.
Asegurándose que todo esté en óptimo funcionamiento avanzamos con la
capacitación hacia el personal que se encargará de la fundación.

3.3 Manual de usuario.

1.- Presionar cualquier tecla para encender la pantalla. A continuación se indica las
funciones de cada tecla.

Funciones del teclado matricial. Cada tecla fue programada con su respectiva
función.

2.- Ingresar clave para acceder al menú de alarma, utilice la tecla * si desea borrar un
digito mal ingresado.

70
Figura 3.38 Pantalla 1. Muestra al presionar cualquier tecla.

3.- Acceso a la pantalla de menú principal donde tenemos dos opciones para la
activación general de la alarma.

71
3.1 Activación manual del sistema.

Presionar la tecla C , inmediatamente empieza a contar 80 segundos antes de realizar


el armado completo del sistema, es decir se activan los seis contactos magnéticos, el
sensor de movimiento, la activación de envío de mensajes de texto a través del módem
GSM y la alarma sonora.

En caso de no querer esperar este tiempo establecido que se muestra en pantalla, puede
presionar cualquier tecla e inmediatamente se activará el sistema.

Figura 3.39 Pantalla 2. Muestra tiempo prudencial antes de activar el sistema.

3.2 Desactivación manual del sistema.

Presionar la tecla C e inmediatamente se realizará la desactivación del envío de


mensajes de texto vía GSM y la alarma sonora, normalmente se usará esta opción
durante el día o en situaciones que la requieran para no enviar avisos de falsa alarma.

Figura 3.40 Pantalla 3. Muestra la opción respectiva de desactivación.

72
3.3 Activación/Desactivación por mensaje de texto.

Enviamos un mensaje de texto con el siguiente formato < #(contraseña)on > para la
activación del armado completo del sistema y < #(contraseña)off > para la
desactivación del mismo.

Activación/desactivación vía sms. Muestra formato respectivo a enviarse.

Recibiremos un mensaje de confirmación de que efectivamente el sistema se ha


activado o desactivado.

Mensajes de confirmación recibidos. Muestra los respectivos mensajes.

4.- Luego tendremos la opción para realizar un armado parcial del sistema, es decir la
activación y desactivación individual de los contactos magnéticos y el sensor de
movimiento, presionando las teclas A y B se puede ascender y descender en este menú.

73
Pantalla 4. Muestra identificación, ubicación y estado de los contactos magnéticos.

En el menú de armado parcial muestra en la pantalla los contactos magnéticos con la


identificación alfanumérica K1- K2- K3- K4- K5- K6, la ubicación donde están
instalados, el estado en el que se encuentra dicha zona (abierta/cerrada) con opción de
activar o desactivar.

Pantalla 5. Muestra opción a un armado parcial del sistema con los contactos
magnéticos.

5.- De igual manera se muestra en pantalla la opción de activar/desactivar el sensor de


movimiento y el estado en el que se encuentra. Si desea activar/desactivar el sensor de
movimiento presionar la tecla C.

Pantalla 6. Muestra opción de armado parcial para sensor de movimiento.

74
Cuando el sensor de movimiento detecte una alarma, esperará un tiempo programado
de 80 segundos. Este tiempo de igual manera se programó para el contacto magnético
de la puerta de ingreso.

Pantalla 7. La puerta de ingreso cuenta con un tiempo de 80seg.

Durante ese tiempo se tendrá la opción de digitar la clave para que no se accione la
sirena.

Pantalla 8. Muestra durante 80seg. la opción a apagar la alarma.

Transcurrido este tiempo se accionará la sirena y enviará el mensaje de texto indicando


que se ha activado la puerta de ingreso y el sensor de movimiento, dándonos la opción
del envío de la clave para detener la alarma sonora.

Mensaje de alarma recibido. Se recibe el Mensaje una vez accionada la sirena.

75
6.-Luego aparece el menú “cambiar número de teléfono 1 “y “cambiar número de
teléfono 2” para ejecutar esta opción se debe presionar la tecla C y a su vez solicitará
el nuevo número.

Pantalla 9. Muestra opción a cambiar el primer número celular.

Pantalla 10. Muestra opción a cambiar el segundo número celular.

Digitar el nuevo número celular y con la tecla D guardo los cambios.

Pantalla 11. Muestra la opción para digitar nuevo número de celular 2.

Pantalla 12. Muestra la opción para digitar nuevo número de celular 1.

76
7.- A continuación tendremos el menú “nueva contraseña “si desea crear una nueva
clave presionar la tecla C.

Pantalla 13. El número máximo de dígitos para la contraseña es de 10.

Ingresar la nueva clave y seguido presionar la tecla D para que se quede guardado
el cambio.

Pantalla 14. Muestra la nueva contraseña digitada.

8.- Al momento de activarse una alarma inmediatamente recibirá un mensaje de texto


indicando que zona o zonas se han activado.

Mensaje de alarma recibido. Se recibe un mensaje de texto al momento de


producirse la alarma y que puerta o puertas han sido alarmadas.

Mensaje para detener alarma. Este formato solo detendrá la alarma producida que
indique el mensaje de texto más no todo el sistema.

Inmediatamente se desactivará y la central le enviará un mensaje de confirmación


diciendo “alarma desactivada”

Mensaje de confirmación recibido. Muestra el mensaje respectivo de que la alarma


ha sido desactivada.

Si desea realizarlo de manera manual únicamente deberá ingresar la clave.


77
Pantalla de apagado manual. Muestra la opción de apagar la alarma desde la central
de alarma.

78
Procedimiento a seguir en caso de olvidar contraseña:

 Proceder a abrir la central de alarma a un ángulo máximo de 90 grados, con el


objetivo de no desconectar los cables de bus de datos de la glcd y el teclado.

Ángulo de apertura máximo. El ángulo máximo de apertura es de 90 grados.

 Realizar con un cable un puente en los extremos de los pines del bloque de
programación de la placa esclavo.

Cable colocado en bloque de programación. El puente debe realizarse en los


extremos del bloque.

 Presionar el botón reset de la placa esclavo e inmediatamente se setea la


clave y números telefónicos por defecto.

Los datos por default que son:


 Clave:12345
 Teléfono 1: 0983918659
 Teléfono 2: 0959210710

79
BOTON
RESET

Ubicación de botón Reset. Se resetea clave y números telefónicos.

 Ingresamos la clave 12345 y listo, ya podemos ingresar al menú principal para


ir a las diferentes opciones del sistema de alarma. Una vez finalizado este
procedimiento retirar el cable y cerrar la central de alarma.

Pantalla de sistema reseteado. Para acceder al menú se debe ingresar la nueva clave
reseteada.

80
CONCLUSIONES

Al término de la implementación y pruebas realizadas, se llegó a la conclusión


que es técnicamente viable la construcción del proyecto en establecimientos que
requieran sistemas de seguridad. Sin embargo también se debe de tomar en cuenta el
factor costos que conlleva dicha implementación, ya que se ha usado equipos y
dispositivos que brindan el más óptimo respaldo en cuanto a seguridad se refiere.

Los objetivos y alcances que se plantearon inicialmente en el proyecto, se


cumplen debido a que en la actualidad tanto el sistema de alarmas y el sistema de
circuito cerrado de televisión se encuentran operando de manera efectiva.

En el momento de pruebas de la tarjeta impresa se presentaron algunos


inconvenientes referente al microcontrolador ya que anteriormente se había propuesto
utilizar el pic 16F877, pero para poder implementar el presente proyecto se utilizó el
microcontrolador 18F4550, son del mismo fabricante y se utiliza la misma forma de
programar pero mejora algunas prestaciones como son la de memoria, velocidades y
algunos beneficios a la hora de hacer la comunicación serial. Cabe rescatar que el
principal motivo para cambiar el microcontrolador fue la memoria, ya que en este
diseño la GLCD utiliza gran cantidad de memoria de programa.

Finalmente, la ejecución de este proyecto ayudo a ampliar y aplicar los


conocimientos obtenidos durante la carrera de electrónica y a su vez pudimos ayudar
a la fundación a tener una mejora de seguridad y vigilancia.

81
PRESUPUESTO

VALOR
ITEM DESCRIPCIÓN CANT. TOTAL
UNITARIO
1 SERVICIOS TÉCNICOS
1.1 Fabricación de circuito impreso en PCB 1 $ 94,65 $ 94,65
1.2 Elaboración de caja para la central de alarma 1 $ 30,00 $ 30,00
Elaboración de rejas de protección para las
1.3 1 $ 35,00 $ 35,00
cámaras y el sensor de movimiento
2 ACTIVOS DEL PROYECTO
2.1 Equipos
2.1.1 Cámara Hikvisión DS-2CD2012-I 1 $ 300,00 $ 300,00
2.1.2 Cámara Hikvisión DS-2CD2112-I 3 $ 310,00 $ 930,00
2.1.3 Sensores magnéticos Seco-Larm SM-226R- 6 $ 25,00 $ 150,00
3Q
2.1.4 Sensor de movimiento WatchOUT 1 $ 240,00 $ 240,00
2.1.5 CPU Core i3 3,0 GHZ/ 4GB / 1 TB 1 $ 400,00 $ 400,00
2.1.6 Monitor / tarjeta de video 1Giga 1 $ 100,00 $ 100,00
2.1.7 Mouse inalámbrico 1 $ 10,00 $ 10,00
2.1.8 Teclado 1 $ 12,50 $ 12,50
2.1.9 UPS 1000va 1 $ 100,00 $ 100,00
2.1.10 Switch TP-LINK 8 puertos 1 $ 25,00 $ 25,00
2.1.11 Programador Pickit 3 1 $ 90,00 $ 90,00
2.1.12 Multímetro 1 $ 26,00 $ 26,00
2.2 Construcción de placas
2.2.1 Placa esclavo
Microcontrolador 18F4550 1 $ 12,50 $ 12,50
LCD gráfico 1 $ 15,00 $ 15,00
Teclado 4x4 1 $ 7,00 $ 7,00
Puente rectificador de diodos w04 1 $ 0,25 $ 0,25
Regulador LM7805 1 $ 0,35 $ 0,35
Capacitor 470 uf 3 $ 0,07 $ 0,21
Capacitor 100 nf 2 $ 0,05 $ 0,10
Resistencia 100k 4 $ 0,04 $ 0,16
Resistencia 10k 4 $ 0,02 $ 0,08
Resistencia 4,7k 1 $ 0,01 $ 0,01
Resistencia 220 2 $ 0,01 $ 0,02
Transistor 2N3904 2 $ 0,03 $ 0,06
Pin header 3 $ 0,40 $ 1,20
Botonera 1 $ 0,20 $ 0,20
Borneras 2 pines 1 $ 0,20 $ 0,20
Borneras 3 pines 1 $ 0,25 $ 0,25
Diodo led 1 $ 0,07 $ 0,07
Cables con conector 5 $ 1,20 $ 6,00
Zócalo de 16 pines 1 $ 0,50 $ 0,50
2.2.2 Placa maestro
82
Microcontrolador 18F4550 1 $ 12,50 $ 12,50
Módulo GSM 1 $ 80,00 $ 80,00
Tarjeta
1 $ 5,00 $ 5,00
SIM
Sirena a 12 v y repuestos varios 1 $ 17,25 $ 17,25
Transformador 110V - 6v / 1A 1 $ 5,39 $ 5,39
Puente rectificador de diodos w04 1 $ 0,25 $ 0,25
Regulador LM7805 1 $ 0,35 $ 0,35
Capacitor 1000uf 1 $ 0,04 $ 0,04
Capacitor 470 uf 4 $ 0,07 $ 0,28
Capacitor 100 uf 1 $ 0,05 $ 0,05
Capacitor 100 nf 3 $ 0,05 $ 0,15
Resistencia 100k 10 $ 0,04 $ 0,40
Resistencia 10k 7 $ 0,02 $ 0,14
Resistencia 1k 1 $ 0,01 $ 0,01
Resistencia 300 1 $ 0,01 $ 0,01
Transistor 2N3904 1 $ 0,03 $ 0,03
Relé JZC-4123 /5VDC 1 $ 5,00 $ 5,00
Pin header 3 $ 0,40 $ 1,20
Botonera 1 $ 0,20 $ 0,20
Borneras 2 pines 9 $ 0,20 $ 1,80
Borneras 3 pines 2 $ 0,25 $ 0,50
Diodo 1N4001 1 $ 0,10 $ 0,10
Diodo zener 1N4733A 7 $ 0,10 $ 0,70
Diodo led 1 $ 0,07 $ 0,07
Cables con conector 5 $ 1,20 $ 6,00
Zócalo de 16 pines 1 $ 0,50 $ 0,50
2.3 Instalación
2.3.1 Cables
Cable UTP Categoría 6 160 $ 0,60 $ 96,00
Cable UTP Categoría 5 40 $ 0,48 $ 19,20
Cable 2x18 120 $ 0,38 $ 45,60
Cable 2x16 70 $ 0,60 $ 42,00
Cable 2x12 86 $ 0,65 $ 55,90
Cables 5,5x2,5 4 $ 4,35 $ 17,40
Cable DC 1,8mt 1 $ 1,05 $ 1,05
Cable Ribbon macho -hembra 1 $ 3,13 $ 3,13
Bus de datos 1 $ 2,40 $ 2,40
Kit cables para arduino 1 $ 4,46 $ 4,46
2.3.2 Tubos y canaletas
Tubería 3/4" 16 $ 1,80 $ 28,80
Tubo anillado flex 3/4 1 $ 0,26 $ 0,26
Conector de tubo metal 3/4" 16 $ 0,49 $ 7,86
Derivación en T 20x12 1 $ 0,46 $ 0,46
Canaletas 35 $ 2,00 $ 70,00
Angulo interno 20x20 6 $ 0,56 $ 3,38

83
Angulo Externo 20x12 6 $ 0,43 $ 2,57
Tapa 4x4 11 $ 0,70 $ 7,70
Cajetin PVC rectangular 11 $ 2,00 $ 22,00
Codo PVC para tubo 3/4 in 5 $ 0,35 $ 1,74
2.3.3 Accesorios
Enchufe 15A 125V 4 $ 0,41 $ 1,64
Enchufe 2 patas 1 $ 0,91 $ 0,91
Taco Fisher 3 $ 0,65 $ 1,95
Conector RJ45 20 $ 0,40 $ 8,00
Amarras 2,5mm 3 $ 0,87 $ 2,61
Tornillos 1" x 10 200 $ 0,03 $ 6,00
Tornillos 1" x 8 200 $ 0,03 $ 6,00
Rodelas de presión 1/4 100 $ 0,02 $ 2,00
Rodelas de presión N10 100 $ 0,02 $ 2,00
Broca cemento 1/4 6 $ 0,81 $ 4,86
Toma doble empotrado 1 $ 1,12 $ 1,12
Placa para tomacorriente 1 $ 0,07 $ 0,07
Adaptador de voltaje 12v 1000mA 2 $ 5,36 $ 10,72
Broca para concreto 1/2" 1 $ 15,14 $ 15,14
Letrero para central de alarma 1 $ 6,00 $ 6,00
Candados 2 $ 3,27 $ 6,54
Pintura spray negro 2 $ 2,59 $ 5,18
Alambre galvanizado 44 Lbs 2 $ 0,93 $ 1,86
Organizador de cable 1 $ 2,58 $ 2,58
Kit receptor y transmisor Seco-Larm 1 $ 50,74 $ 50,74
3 SERVICIOS VARIOS
3.1 Insumos 1 $ 918,20 $ 918,20
3.2 Impresos y material audio visual 1 $ 339,95 $ 339,95
TOTAL DEL PRESUPUESTO $ 4.551,21

84
BIBLIOGRAFIA
Cornejo, A., & Tintin, J. (2010). Diseño, construcción e implementación de un sistema de
telemetrá utilizando tecnología GSM; para el monitoreo de los parámetros de
temperatura, presíon de aceite, velocidad de giro del motor y velocidad de
desplazamiento de un vehiculo chevrolet optra 200. Tesis, Universidad Politecnica
Salesiana, Cuenca. Obtenido de
http://dspace.ups.edu.ec/bitstream/123456789/1114/23/UPS-CT001987.pdf

Chang, J. (23 de Noviembre de 2010). Tech-Hard. Obtenido de


https://techhard.wordpress.com/productos/circuito-cerrado-de-tv/

España, M. (2003). Servicios avanzados de telecomunicación. Madrid: Ediciones Díaz de


Santos.

Flores, M., & Rosero, R. (2014). Diseño e implementación de un sistema de seguridad con
comunicación inalambrica utilizando tecnología zigbee y control de eventos por
medio de sms para la empresa de calzado Docceti shoes. Quito.

García, F. (2010). Videocigilancia: CCTV usando vídeos IP. Málaga: Vértice.

González, I. G. (2007). Técnicas y Procesos en las Instalaciones Singulares en los Edificios.


Madrid, España: Paraninfo S.A. Obtenido de

Hikvision. (6 de Enero de 2014). Hikvision Digital Technology Co. Obtenido de


http://www.hikvision.com/

LASSER, G. (18 de Octubre de 2010). Seguridad LASSER. Obtenido de


http://seguridadlasser.com/alarmas-para-el-hogar

Martín, J. C. (2010). Instalaciones domóticas. Editex. Obtenido de


http://books.google.com.ec/books?id=Him8AwAAQBAJ&printsec=frontcover&hl=e
s&source=gbs_ge_summary_r&cad=0#v=onepage&q&f=false

Martínez, J. (2002). Redes de comunicaciones. Valencia: Universidad Politécnica de


Valencia.

Menéndez, L., Fernández, L., López, E., & Mandado, E. (2007). Microcontroladores PIC.
Sistema integrado para el autoaprendizaje. Barcelona: marcombo.

Novenca Security Systems. (s.f.). Obtenido de http://www.novenca.com/cctv-


3/fundamentos.html

Pérez, E. H. (2003). Tecnologías y redes de transmisión de datos. México D.F.: LIMUSA S.A.
GRUPO NORIEGA.

Ramirez, C. y. (11 de Noviembre de 2010). SecureSiteCameras. Obtenido de


https://sites.google.com/site/securesitecamera/temas-del-proyec/presentacion-
del-proyecto/bibliografia-y-documentos-tecnicos

85
Reyes, C. A. (2008). Microcontroladores Pic Programacion en BASIC. Quito: RISPERGRAF.

Rodriguez, F. G. (30 de Abril de 2011). Tecnología de la Seguridad. Obtenido de


http://serviciostc.com/central-de-alarmas/

Blynk. (2015). Blynk. Obtenido de


http://www.Blynk.com/es/index.aspx

Tomasi, W. (2003). Sistemas de comunicaciones electrónicas. México: Pearson Educación.

Valdés, F., & Pallás, R. (2007). Microcontroladores: Fundamentos y aplicaciones con PIC.
España: Marcombo S.A.

Valentín Labarta, J. L. (2012). Introducción a los circuitos eléctricos básicos. Pokopandegi,


San Sebastián, España: Donostiarra. Obtenido de

86
ANEXOS

ANEXO A: Programación del microcontrolador de la placa maestro.


#include <main.h>
#users232(stream=GSM,baud=9600,xmit=PIN_C6,rcv=PIN_C7,PARITY=N,BITS
=8,TIMEOUT=10)
#users232(stream=PAD,baud=9600,xmit=PIN_C1,rcv=PIN_C2,PARITY=N,BITS
=8,TIMEOUT=10)

#include <stdlib.h>
#include "PIC18F4550_registers.h"

#bit ON=_PORTD.4
#bit princ=_PORTB.0
#bit S1=_PORTB.1
#bit S2=_PORTB.2
#bit S3=_PORTB.3
#bit S4=_PORTB.4
#bit S5=_PORTB.5
#bit mov=_PORTD.7
#bit RELE=_PORTD.6

#bit tON=_TRISD.4
#bit tPrinc=_TRISB.0
#bit tS1=_TRISB.1
#bit tS2=_TRISB.2
#bit tS3=_TRISB.3
#bit tS4=_TRISB.4
#bit tS5=_TRISB.5
#bit tMov=_TRISD.7
#bit tRele=_TRISD.6

char clave[15]={0};
char telefono[15]={0};
char telefono2[15]={0};
char sensActivo[10]={0};
char sensActual[10]={0};
char sensHaSidoActivado[10]={0};
char claveRecibida=0;
char recibido[50];
char mensaje[200];
char hab;
char SensMovimientoAct=0;
char SensIngresoAct=0;

char pedirClave();
char pedirTelefono();
char pedirTelefono2();
char pedirSenActivo();
char enviarSenActual();
void fn();
void llamar();

87
void enviarMensaje(char queTelefono);
void encender();
void configurar();
void ActSensActual();
char ComprobarAlarma();

#define SEGUNDOS_PARA_QUE_ACTIVE_ALARMA 80

char contadorSeg2=0;
char contadorSeg3=0;
char numeroSMS[20];
char numeroSMScomprobado=0;

char Comprobar(char *texto)


{
char i,len;
len=strlen(texto);
for(i=0;i<len;i++)
{
if(getc(GSM)!=texto[i])
return 0;
}
return 1;
}

int notificarON=0,notificarOFF=0;

#INT_RDA
void RDA_isr()
{
char t[]="+CMT: \"+593";
char i;
if(contadorSeg2>1)
{
numeroSMScomprobado=0;
}
contadorSeg2=0;
if(numeroSMScomprobado==0)
{
if(Comprobar(t)==1)
{
numeroSMS[0]='0';
i=1;
do{
numeroSMS[i]=getc(GSM);
i++;
}while(i<19 && numeroSMS[i-1]!='\"');
numeroSMS[i-1]='\0';
if(strcmp(numeroSMS,telefono+1)==0)
{
numeroSMScomprobado = 1;
}
else if(strcmp(numeroSMS,telefono2+1)==0)
{
numeroSMScomprobado = 1;
}
}
}

88
else
{
Recibido [ 0 ] = getc ( GSM );
If ( recibido [ 0 ] == ' # ' )
{
char len;
fgets ( recibido+1,GSM );
len=strlen(recibido+1);
for ( i=len+1;i<50;i++ ) recibido [i] = ' \0 ' ;
recibido[len]='\0';
recibido[45]='\0';
notificarOFF=0;
notificarON=0;
if(recibido[len-1]=='f')
{
if(recibido[len-2]=='f')
{
if(recibido[len-3]=='o')
{
notificarOFF=10;
recibido[len-3]='\0';
}
}
}
else if(recibido[len-1]=='n')
{
if(recibido[len-2]=='o')
{
notificarON=10;
recibido[len-2]='\0';
}
}
if(strcmp(clave+1,recibido+1)==0)
{
claveRecibida=1;
}
else
{
notificarON=0;
notificarOFF=0;
}
numeroSMScomprobado=0;
}
}
}

int16 contadorSeg=0;
char contadorCuartoSeg=0;
#INT_TIMER1
void ISR_TIMER1()
{
SET_TIMER1(3036);
contadorCuartoSeg++;
if(contadorCuartoSeg>=4)
{

contadorSeg++;
contadorCuartoSeg=0;
contadorSeg2++;

89
contadorSeg3++;
}
}

void main()
{
char text[10],i,j,k,est,alarma;
int16 cont;

SETUP_CCP1(CCP_OFF);
SETUP_CCP2(CCP_OFF);

_PORTA=0;
_PORTB=0;
_PORTD=0

ON=1;
rele=0;
tON=1;
tPrinc=1;
tS1=1;
tS2=1;
tS3=1;
tS4=1;
tS5=1;
tMov=1;
tRele=0;
encender();
configurar();

pedirTelefono ( );
pedirTelefono2 ( );
pedirClave();
pedirSenActivo ( );

mensaje [0]= '\0';


alarma =0;

claveRecibida=0;

SET_TIMER1 (0);
SETUP_TIMER_1 (T1_INTERNAL|T1_DIV_BY_8);

ENABLE_INTERRUPTS(GLOBAL);
ENABLE_INTERRUPTS(PERIPH);
ENABLE_INTERRUPTS(INT_RDA);
ENABLE_INTERRUPTS(INT_TIMER1);

notificarON=0;
notificarOFF=0;

putc('D',PAD);
while(1)
{
for(j=0;j<5;j++)

90
{
for(cont=0;cont<100;cont++)
{
if(notificarOFF>0)
{
putc('K',PAD);
if(getc(PAD)=='k')
{
notificarOFF=0;
sprintf(mensaje, "Sistema Desactivado");
enviarMensaje (1);
enviarMensaje (2);
pedirSenActivo ( );
}
}

if(notificarON>0)
{
putc('Q',PAD);
if(getc(PAD)=='q')
{
notificarON=0;
sprintf(mensaje,"Sistema Activado");
enviarMensaje (1);
enviarMensaje (2);
pedirSenActivo ();
}
}
ActSensActual ( );
est=ComprobarAlarma ( );
if(est>0)
{
alarma=1;
}
if(alarma==1)
{
rele=1;
pedirClave ( );
for(i=0;i<10;i++)
sensHaSidoActivado[i]=0;
claveRecibida=0;
enviarMensaje (1);
enviarMensaje (2);
mensaje[0]='\0';
putc('A',PAD);
if(getc(PAD)=='a')
{
do{
delay_ms(100);
putc('B',PAD);
i=getc(PAD);
}

91
while((claveRecibida==0) && (i!='s'));
delay_ms(100);
putc('D',PAD);
delay_ms (100);
pedirSenActivo ();

rele=0;
alarma=0;
SensMovimientoAct=0;
SensIngresoAct=0;
if(notificarOFF==0)
{

sprintf(mensaje,"Alarma Desactivada");
enviarMensaje(1);
enviarMensaje(2);
}
}
}
delay_ms(1);
}
switch(j)
{
case 0:
pedirTelefono ( );
break;
case 1:
pedirTelefono2( );
break;
case 2:
pedirSenActivo ();
break;
case 3:
pedirClave ( );
break;
case 4:
ActSensActual ( );
enviarSenActual ( );
break;
}
}
};
}

char pedirClave z( )
char i;
putc('R',PAD);
if(getc(PAD)=='r')
{
putc('C',PAD);

clave[0]=getc(PAD);
if(clave[0]<15)

92
{
for(i=1;i<=clave[0];i++)
clave[i]=getc(PAD);
clave[clave[0]+1]='\0';
return 1;
}
}
return 0;
}
char pedirTelefono ( )
{
char i;
putc('R',PAD);
if(getc(PAD)=='r')
{
putc('T',PAD);
telefono[0]=getc(PAD);
if(telefono[0]<15)
{
for(i=1;i<=telefono[0];i++)
telefono[i]=getc(PAD);
telefono[telefono[0]+1]='\0';
}
}
}

char pedirTelefono2 ( )
{
char i;
putc('R',PAD);
if(getc(PAD)=='r')
{
putc('V',PAD);
telefono2[0]=getc(PAD);
if(telefono2[0]<15)
{
for(i=1;i<=telefono2[0];i++)
telefono2[i]=getc(PAD);
telefono2[telefono2[0]+1]='\0';
}
}
}

char pedirSenActivo()
{
putc('R',PAD);
if(getc(PAD)=='r')
{
char i;
putc('S',PAD);
for(i=0;i<10;i++)
sensActivo[i]=getc(PAD);

93
}
char enviarSenActual()
{
char i;//
putc('R',PAD);//
if(getc(PAD)=='r')//
{
putc('U',PAD);
delay_us(10);
for(i=0;i<10;i++)
putc(sensActual[i],PAD);
}
}

void fn()
{
fprintf(GSM,"%c%c",13,10);

void enviarMensaje(char queTelefono)


{
if(queTelefono==1 && telefono[0]==0)
return;
if(queTelefono==2 && telefono2[0]==0)
return;
fprintf(GSM,"AT+CMGF=1\r");
delay_ms(200);
if(queTelefono==1)
{
fprintf(GSM,"AT+CMGS=\"%s\"",telefono+1);fn();
}
else if(queTelefono==2)
{
fprintf(GSM,"AT+CMGS=\"%s\"",telefono2+1);fn();
}
delay_ms(500);
fprintf(GSM,mensaje);
fn();

delay_ms(100);
putc(26,GSM);fn();
delay_ms (100);
fn();
delay_ms (5000);
}
void encender ( )
{
delay_ms (1000);
ON=1;
delay_ms (1000);
ON=0;
delay_ms(10000);

94
void configurar()
{
fprintf(GSM,"AT+CMGF=1\r");fn ( );
delay_ms(100);
fprintf(GSM,"AT+CNMI=2,2,0,0,0\r");fn ( );
delay_ms (100);
}

void ActSensActual ( )
{
sensActual[0]=princ+'0';
sensActual[1]=S1+'0';
sensActual[2]=S2+'0';
sensActual[3]=S3+'0';
sensActual[4]=S4+'0';
sensActual[5]=S5+'0';
sensActual[6]=mov+'0';
}

char OK[5];
char ComprobarAlarma ( )
{
char buff[150]={0};
char i;
i=0;

if(sensActivo[7]=='1')
{

sprintf(mensaje,"Se ha activado:\n");
if(sensActivo[0]=='1' && sensActual[0]=='0' && sensHaSidoActivado[0]==0)
{
sensHaSidoActivado[0]=1;
i++;
sprintf(buff,"%sP. Principal\n",mensaje);
strcpy(mensaje,buff);
}

if(sensActivo[1]=='1' && sensActual[1]=='0' )


{
SensIngresoAct=1;
}
if(SensIngresoAct==1 && sensHaSidoActivado[1]==0)
{

if(OK[1]==0)
{
char c;
putc('A',PAD);
c=getc(PAD);
if(c=='a')
OK[1]=1;

95
}
if(contadorSeg3>SEGUNDOS_PARA_QUE_ACTIVE_ALARMA)//mayor que 1 minutos
{
i++;
sprintf(buff,"%sP. Ingreso\n",mensaje);
strcpy(mensaje,buff);
sensHaSidoActivado[1] = 1;
OK[1]=0;
}
}
else
{
OK[1] = 0;
contadorSeg3 = 0;
}

if(sensActivo[2]=='1' && sensActual[2]=='0' && sensHaSidoActivado[2]==0)


{
sensHaSidoActivado[2]=1;
i++;
sprintf(buff,"%sP. Patio trasero\n",mensaje);
strcpy(mensaje,buff);
}
if(sensActivo[3]=='1' && sensActual[3]=='0' && sensHaSidoActivado[3]==0)
{
sensHaSidoActivado[3]=1;
i++;
sprintf(buff,"%sP. Posterior\n",mensaje);
strcpy(mensaje,buff);
}
if(sensActivo[4]=='1' && sensActual[4]=='0' && sensHaSidoActivado[4]==0)
{
sensHaSidoActivado[4]=1;
i++;
sprintf(buff,"%sP. Corrediza 1\n",mensaje);
strcpy(mensaje,buff);
}
if(sensActivo[5]=='1' && sensActual[5]=='0' && sensHaSidoActivado[5]==0)
{
sensHaSidoActivado[5]=1;
i++;
sprintf(buff,"%sP. Corrediza 2\n",mensaje);
strcpy(mensaje,buff);
}

if(sensActivo[6]=='1' && sensActual[6]=='0' )


{
SensMovimientoAct = 1;
}
if(SensMovimientoAct==1 && sensHaSidoActivado[6]==0)
{

96
if(OK[0]==0)
{
char c;
putc('A',PAD);
c=getc(PAD);
if(c=='a')
OK[0]=1;
}
if(contadorSeg>SEGUNDOS_PARA_QUE_ACTIVE_ALARMA)
{
i++;
sprintf(buff,"%sS. Movimiento\n",mensaje);
strcpy(mensaje,buff);
sensHaSidoActivado[6] = 1;
OK[0]=0;
}
}
else
{
OK[0]=0;
contadorSeg = 0;
}

sprintf(buff,"%s\nEnvie codigo para detener alarma",mensaje);


strcpy(mensaje,buff);
return i;
}
else
{

SensMovimientoAct = 0;
SensIngresoAct = 0;
contadorSeg3 = 0;
contadorSeg = 0;
OK[0] = 0;
OK[1] = 0;
}
return 0;
}

97
ANEXO B: Programación del microcontrolador de la placa esclavo.
#include <main.h>
#use rs232(stream=PAD,baud=9600,xmit=PIN_C6,rcv=PIN_C7,PARITY=N,BITS
=8,TIMEOUT=10)

#include "PIC18F4550_registers.h"
#define FAST_GLCD
#include "HDM64GS12.c"
#include "graphics.c"
#include <stdlib.h>

#define pad_C0 PIN_E2


#define pad_C1 PIN_E1
#define pad_C2 PIN_E0
#define pad_C3 PIN_A5
#define pad_F0 PIN_A3
#define pad_F1 PIN_A2
#define pad_F2 PIN_A1
#define pad_F3 PIN_A0

#define cargaTMR0 64286


#define dirClave 2
#define dirTelefono 17
#define dirTelefono2 54
#define dirActivos 35

#bit Blight=_PORTC.2
#bit tBlight=_TRISC.2

const char logo1[1024] = {


0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 192, 224, 96, 48, 176, 216, 248, 120, 60, 124,
238, 198, 198, 134, 134, 130, 130, 130, 254, 254, 254, 254, 254, 254, 254, 254, 252, 252, 252, 248,
248, 248, 240, 240, 224, 224, 192, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 128, 192, 240, 184, 28, 14, 7, 3, 193, 240, 60, 14, 7, 3, 0, 0, 0, 128, 224,
252, 15, 3, 1, 1, 1, 1, 1, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 255, 255, 254, 254, 252, 240, 224, 192, 128, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 224, 252, 30, 7, 1, 225, 241, 243, 243, 255, 255, 255, 246, 246, 230, 198, 196, 132, 12, 252,
255, 143, 140, 12, 12, 12, 12, 12, 8, 12, 255, 255, 255, 63, 15, 7, 31, 31, 31, 15, 15, 7, 15,
31, 31, 31, 31, 15, 15, 7, 7, 15, 159, 255, 255, 255, 255, 255, 254, 248, 192, 0, 0, 0, 0, 128,
128, 128, 0, 0, 0, 0, 0, 0, 128, 128, 128, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128,
128, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128,
128, 128, 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 255, 15, 224, 240, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 254, 250, 58, 0, 0, 0, 255, 255, 255, 191, 255, 240, 240, 240, 224, 224,
0, 96, 192, 192, 192, 192, 224, 224, 192, 128, 0, 30, 63, 255, 255, 255, 255, 223, 255, 255, 255,
254, 0, 0, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 255, 255, 255, 0, 0, 0, 255, 255, 255, 227,

98
227, 227, 227, 247, 255, 127, 62, 0, 0, 0, 30, 63, 127, 115, 227, 227, 227, 199, 207, 207, 12, 0,
0, 248, 252, 254, 15, 7, 3, 3, 195, 195, 195, 199, 207, 206, 196, 0, 0, 0, 0, 0,
0, 255, 243, 31, 31, 31, 31, 207, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 127, 63, 127,
255, 159, 31, 15, 7, 3, 3, 3, 3, 3, 3, 255, 255, 255, 240, 224, 240, 240, 17, 195, 128, 128,
128, 0, 0, 33, 97, 193, 129, 1, 0, 0, 0, 0, 1, 129, 143, 231, 252, 255, 255, 255, 255, 0, 0,
0, 7, 31, 31, 60, 56, 56, 56, 56, 60, 31, 31, 7, 0, 0, 0, 63, 63, 63, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 6, 30, 30, 60, 56, 56, 56, 56, 61, 31, 31, 15, 0, 0, 1, 7, 15, 30, 28, 56, 56,
57, 57, 57, 29, 31, 31, 15, 0, 0, 0, 0, 0,
0, 1, 7, 63, 240, 248, 30, 63, 191, 255, 255, 255, 255, 255, 199, 65, 96, 96, 96, 96, 96, 127,
255, 240, 48, 48, 48, 48, 48, 48, 48, 48, 255, 255, 255, 255, 255, 255, 255, 231, 223, 159, 31, 5,
4, 4, 4, 134, 207, 255, 192, 64, 0, 0, 128, 254, 255, 255, 255, 255, 127, 63, 7, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 3, 7, 15, 29, 121, 225, 224, 129, 135, 30, 120, 240, 192, 128, 0, 0, 0, 3, 15,
126, 240, 192, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
255, 255, 255, 255, 255, 254, 254, 254, 255, 127, 63, 31, 15, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 7, 6, 12, 13, 27, 63, 62, 60, 120, 120, 124,
109, 199, 199, 198, 194, 195, 195, 255, 255, 255, 255, 255, 255, 255, 127, 127, 127, 127, 63, 63, 31,
31, 15, 15, 7, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};

const char teclado[4][4]={


{ ' 1 ',' 2 ',' 3 ',' A '},
{' 4 ',' 5 ',' 6 ',' B '},
{' 7 ',' 8 ',' 9 ',' C '},
{' * ',' 0 ',' # ',' D '}};

char posX=0,posY=0;
char tecla;
char mSeg,Seg,Seg2,Min;

char clave[20]={0};
char telefono[20]={0};
char telefono2[20]={0};
char sensActivo[10]={0};
char sensActual[10]={0};

char alarmaActiva=0;
char alarmaRespondida=0;

const int16 tiempoMax=80;

void putc ( char c );


char getDown ( );
char getEntero(char *Titulo,char len,char *resultado,char segMax,char minMax,char habExit);
void imprimirLogo ( );
void actPantalla ( );
void dibujarMarco ( );

99
void modLuz(char delay,char final);
void menú ( char segMax, char minMax);
char medio ( char len);
void guardarEepromClave ( );
void guardarEepromNumero ( );
void guardarEepromNumero2 ( );
void guardarEepromSensActivo ( );
void apagarPantalla ( );
void mostrarContrasenaIncorrecta ( );
void leerEepromClave ( );
void leerEepromNumero ( );
void leerEepromNumero2 ( );
void leerEepromSensActivo();

#INT_TIMER0
void timer0_isr()
{
SET_TIMER0(cargaTMR0);
mSeg++;
if(mSeg>=100)
{
mSeg=0;
Seg++;
Seg2++;
if(Seg>=60)
{
Seg=0;
Min++;
}
}
}

#INT_RDA
void RX_isr ( )
{
char buffer [ 10 ],i;
buffer[0]=getc ( PAD );
switch(buffer [ 0 ] )
{
case 'A':
putc ( 'a',PAD );
alarmaActiva=1;
alarmaRespondida=0;
break;
case 'D':
putc ( 'd',PAD );
alarmaActiva=0;
break;
case 'B':
if ( alarmaRespondida==1)
{
putc ( 's',PAD );
alarmaRespondida=0;

100
}
else
{
putc ( 'n',PAD );
}
break;
case 'T':
putc ( teléfono [ 0 ], PAD );
delay_us ( 50 );
for(i=1;i<=telefono[0];i++)
{
putc ( telefono [ i ],PAD );
delay_us(10);
}
case 'V':
putc(telefono2[0],PAD);
delay_us(50);
for(i=1;i<=telefono2[0];i++)
{
putc(telefono2[i],PAD);
delay_us(10);
}
break;
case 'S':
for(i=0;i<10;i++)
{
putc ( sensActivo [ i ], PAD );
delay_us (10);
}
break;
case 'C':
putc(clave[0],PAD);
delay_us (50);
for (i=1;i<=clave[0];i++)
{
putc (clave[i],PAD);
delay_us (10);
}
break;
case 'U':
for(i=0;i<10;i++)
sensActual [i]=getc (PAD);
break;
case 'R':
putc ('r',PAD);
break;

case 'K':
putc ( 'k',PAD );
sensActivo [7]='0';
break;
case 'Q':
putc ( 'q',PAD );

101
sensActivo[7]='1';
break;
}
}

void main()
{
char textos[5][20]={0};
char tecla,i,estado;

setup_comparator(NC_NC_NC_NC);
SETUP_ADC_PORTS(NO_ANALOGS);

SETUP_TIMER_0(T0_INTERNAL|T0_DIV_16);
SET_TIMER0(cargaTMR0);

SETUP_TIMER_2( T2_DIV_BY_16,255,1);
SETUP_CCP1(CCP_PWM);
SET_PWM1_DUTY(0);

tBlight=0;
mSeg=0;
Seg=0;
Min=0;
Blight=0;
alarmaActiva=0;
alarmaRespondida=0;

strcpy(sensActual,"1111111");

_TRISB=0xFF;
_RBPU=0;

if((read_eeprom(0)!=0xAA && read_eeprom(1)!=0x55) || ((_PORTB&0x40)==0) )


{
write_eeprom(0,0xAA);
write_eeprom(1,0x55);

clave[0]=5;
strcpy(clave+1,"12345");

telefono[0]=10;
strcpy(telefono+1,"0983918659");

telefono2[0]=10;
strcpy(telefono2+1,"0959210710");

strcpy(sensActivo,"111111111");

guardarEepromClave ();
guardarEepromNumero ();
guardarEepromNumero2 ();
guardarEepromSensActivo ();

102
}
else
{
leerEepromClave();
leerEepromNumero();
leerEepromNumero2();
leerEepromSensActivo();
}
_RBPU=1;

ENABLE_INTERRUPTS(GLOBAL);
ENABLE_INTERRUPTS(PERIPH);
ENABLE_INTERRUPTS(INT_RDA);
ENABLE_INTERRUPTS(INT_TIMER0);

glcd_init(1);

modLuz(1,255);
imprimirLogo();
actPantalla();
delay_ms(500);

while(1)
{

modLuz (1,255);
sprintf(textos[0],"Ingrese contrase%ca\n"
" para ir a opciones",131);
estado=getEntero(textos[0],20,textos[1],10,0,1);
if(estado==1)
{
if(strcmp(textos[1],clave+1)==0)
{
menu(20,0);
apagarPantalla();
}
else
{
mostrarContrasenaIncorrecta();
}

}
else if(estado==0)
{
apagarPantalla();
}
if(alarmaActiva==1)
while(AlarmaActiva==1)
{
modLuz(1,255);
sprintf(textos[0],"Ingrese contrase%ca\n"
" para apagar alarma",131);
estado=getEntero(textos[0],20,textos[1],10,0,0);

103
if(estado==1)
{
if(strcmp(textos[1],clave+1)==0)
{
alarmaActiva=0;
alarmaRespondida=1;
sensActivo[7]='0';
glcd_fillscreen(0);
posY=15;
posX=medio(6);
printf(putc,"ALARMA\n\n");
posX=medio(7);
printf(putc,"APAGADA");
dibujarMarco();
actPantalla();
delay_ms(1000);
}
else
{
mostrarContrasenaIncorrecta();
}
}
}
}
}

void imprimirLogo()
{
int16 i,j;
for(i=0;i<8;i++)
for(j=0;j<64;j++)
{
displayData.left[j+i*64]=logo1[128*i+j];
displayData.right[j+i*64]=logo1[128*i+j+64];
}
posX=110;posY=56;
printf(putc,"1.0");
}

void putc(char c)
{
char buff[]={'\0','\0'};/
if(posY>=57)
return;
buff[0]=c;

if(posX >=128)
{
posX=0;
posY+=8;
}
glcd_text57(posX,posY,buff,1,1);
posX+=6;

104
if(c=='\n')
{
if(posy<55)posY+=8;
posX=0;
}
}

char getDown()
{
const int16 COLUMNAS[]={pad_C0,pad_C1,pad_C2,pad_C3};
char i;

_TRISA=0x0F;
_TRISE=0x00;
output_low(pad_C0);
output_low(pad_C1);
output_low(pad_C2);
output_low(pad_C3);

for(i=0;i<4;i++)
{

output_high(COLUMNAS[i]);
if(input(pad_F0))
return teclado[0][i];
if(input(pad_F1))
return teclado[1][i];
if(input(pad_F2))
return teclado[2][i];
if(input(pad_F3))
return teclado[3][i];
output_low(COLUMNAS[i]);
}

return 0;
}

char getEntero(char *Titulo,char len,char *resultado,char segMax,char minMax,char habExit)


{
char text[15]={0};
char i,tecla=0;
if(len==0)
len=strlen(Titulo);
i=0;
Seg=0;
Min=0;
do
{
tecla=getDown();
if(tecla)
{
Seg=0;
Min=0;

105
if(tecla>='0' && tecla <='9' && i<10)
{
text[i++]=tecla;
text[i]='\0';
}
else if(tecla=='*' && i>0)
{
text[--i]='\0';
}
}
glcd_fillscreen(0);
//glcd_text57(63-(len+1)*5/2,10,Titulo,1,1);
posX=(63-(len+1)*5/2);
posY=10;
printf(putc,Titulo);

posX=63-(i+1)*5/2;
posY+=15;
printf(putc,"%s",text);

dibujarMarco();

actPantalla();
if(tecla)
{
delay_ms(250);
while(getDown());
}
if(segMax>0 || minMax>0)
{
if(min>=minMax)
{
if(seg>=segMax)
return 0;
}
}
if(habExit)
{
if(alarmaActiva==1)
return 2;
}
}while(tecla!='D');
while(getDown());
strcpy(resultado,text);
return 1;
}
void actPantalla()
{
#ifdef FAST_GLCD
glcd_update();
#endif
}
void dibujarMarco()

106
{

glcd_line(0,1,127,1,1);
glcd_line(0,3,127,3,1);
glcd_line(0,62,127,62,1);
glcd_line(0,60,127,60,1);

glcd_line(1,0,1,63,1);
glcd_line(3,0,3,63,1);
glcd_line(126,0,126,63,1);
glcd_line(124,0,124,63,1);
}
void modLuz (char delay,char final)
{
char i;
if(final>(unsigned char)CCP_1)
for(i=(unsigned char)CCP_1;i<final;i++)
{
SET_PWM1_DUTY(i);
delay_ms(delay);
}
else if(final<CCP_1)
for(i=(unsigned char)CCP_1;i>final;i--)
{
SET_PWM1_DUTY(i);
delay_ms(delay);
}
}

void imprActivo(char est)


{
If (est=='1')
printf (putc," Activada ");
else
printf (putc,"Desactivada");
break;
}
void imprAbierto(char est)
{
if(est=='0')
printf(putc,"Abierta");
else
printf (putc,"Cerrada");
break;
}

char NegChar(char val)


{
if(val=='1')
return '0';
else
return '1';
}

114
char medio(char len)
{
return 63-(len+1)*5/2;
}
void mostrarMenuPuertas(char *nombrePuerta,char senActivo,char senActual)
{
glcd_fillscreen(0);
posY=5;
posX=5;
printf ( putc,"%s\n",nombrePuerta);
posX=medio(11);
imprActivo ( senActivo );
posY+=13;
posX=medio(13);
printf(putc,"Estado actual\n");
posX=medio(12);
printf(putc,"del sensor\n");
posX=medio(7);
imprAbierto(senActual);
dibujarMarco();
}

char mostrarCuentaRegresiva()
{

Seg2=0;
while(getDown());
while(seg2<tiempoMax)
{
if(getDown())
{
while(getDown());
return 0;
}
glcd_fillscreen(0);
posY=6;
posX=medio(13);
printf(putc,"Tiene %d seg",tiempoMax);
posY+=12;
posX=medio(19);
printf(putc,"para que se active");
posY+=12;
posX=medio(9);
printf(putc,"la alarma");
posX=medio(7);
posY=40;
printf(putc,"%3d seg",(int)tiempoMax-Seg2);
dibujarMarco();
actPantalla();
delay_ms(200);
}
return 1;
}

115
void menu(char segMax,char minMax)
{
char sel,tecla,salir,resp;
char strings[50];
sel=0;
salir=0;
do{
min=0;
seg=0;
if(tecla=='A')
{
if(sel>0)sel--;
}
else if(tecla=='B')
{
if(sel<10)
sel++;
}
switch(sel)
{
case 0:
if(tecla=='C')
{
resp=negChar(sensActivo[7]);
if(resp=='1')
{
mostrarCuentaRegresiva();
salir=1;
}
sensActivo[7]=resp;
guardarEepromSensActivo();
}
glcd_fillscreen(0);
posY=12;
posX=medio(19);
printf(putc,"ACTIVACION GENERAL\n");
posX=medio(12);
printf(putc,"DE LA ALARMA\n\n");
posX=medio(11);
imprActivo(sensActivo[7]);
dibujarMarco();
break;
case 1:
if(tecla=='C')
{
sensActivo[0]=negChar(sensActivo[0]);
guardarEepromSensActivo();
}
strcpy(strings," K1: Puerta\n"
" Principal");
mostrarMenuPuertas(strings,sensActivo[0],sensActual[0]);
break;
case 2:

116
if(tecla=='C')
{
sensActivo[1]=negChar(sensActivo[1]);
guardarEepromSensActivo();
}
strcpy(strings," K2: Puerta de\n"
" Ingreso");
mostrarMenuPuertas(strings,sensActivo[1],sensActual[1]);
break;
case 3:
if(tecla=='C')
{
sensActivo[2]=negChar(sensActivo[2]);
guardarEepromSensActivo();
}
strcpy(strings," K3: Puerta acceso \n"
" de patio trasero");
mostrarMenuPuertas(strings,sensActivo[2],sensActual[2]);
break;
case 4:
if(tecla=='C')
{
sensActivo[3]=negChar(sensActivo[3]);
guardarEepromSensActivo();
}
strcpy(strings," K4: Puerta \n"
" posterior");
mostrarMenuPuertas(strings,sensActivo[3],sensActual[3]);
break;
case 5:
if(tecla=='C')
{
sensActivo[4]=negChar(sensActivo[4]);
guardarEepromSensActivo();
}
strcpy(strings,"K5: Puerta corrediza\n"
" posterior 1");
mostrarMenuPuertas(strings,sensActivo[4],sensActual[4]);
break;
case 6:
if(tecla=='C')
{
sensActivo[5]=negChar(sensActivo[5]);
guardarEepromSensActivo();
}
strcpy(strings,"K6: Puerta corrediza\n"
" posterior 2");
mostrarMenuPuertas(strings,sensActivo[5],sensActual[5]);
break;
case 7:
if(tecla=='C')
{
sensActivo[6]=negChar(sensActivo[6]);

117
guardarEepromSensActivo();
}
strcpy(strings," Sensor de\n"
" movimiento");
mostrarMenuPuertas(strings,sensActivo[6],sensActual[6]);
break;
case 8:
if(tecla=='C')
{
strcpy(strings,"Nuevo telefono 1");
if(getEntero(strings,0,strings,0,1,0))
{
strcpy(telefono+1,strings);
telefono[0]=strlen(telefono+1);
guardarEepromNumero();
}
}
glcd_fillscreen(0);
posY=12;
posX=medio(14);
printf(putc,"Cambiar numero\n");
posX=medio(11);
printf(putc,"de telefono 1\n\n");
posX=medio(telefono[0]);
printf(putc,"%s",telefono+1);
dibujarMarco();
break;
case 9:
if(tecla=='C')
{
strcpy(strings,"Nuevo telefono 2");
if(getEntero(strings,0,strings,0,1,0))
{
strcpy(telefono2+1,strings);
telefono2[0]=strlen(telefono2+1);
guardarEepromNumero2();
}
}
glcd_fillscreen(0);
posY=12;
posX=medio(14);
printf(putc,"Cambiar numero\n");
posX=medio(11);
printf(putc,"de telefono 2\n\n");
posX=medio(telefono[0]);
printf(putc,"%s",telefono2+1);
dibujarMarco();
break;
case 10:
if(tecla=='C')
{
sprintf(strings,"Nueva contrase%ca",131);
if(getEntero(strings,0,strings,0,1,0))

118
{
strcpy(clave+1,strings);
clave[0]=strlen(clave+1);
guardarEepromClave();
}
}
glcd_fillscreen(0);
posY=12;
posX=medio(7);
printf(putc,"Cambiar\n");
posX=medio(10);
printf(putc,"contrase%ca\n\n",131);
posX=medio(clave[0]);
printf(putc,"%s",clave+1);
dibujarMarco();
break;
break;
}

actPantalla();
delay_ms(100);
tecla=getDown();
if(segMax>0 || minMax>0)
{
if(min>=minMax)
{
if(seg>=segMax)
return ;
}
}
if(alarmaActiva==1)
{
return ;
}

}while(tecla!='D' && salir==0);


delay_ms(250);
while(getDown());

glcd_fillscreen(0);
posY=15;
posX=medio(7);
printf(putc,"CAMBIOS\n\n");
posX=medio(9);
printf(putc,"GUARDADOS");
dibujarMarco();
actPantalla();
delay_ms(1000);
}

void guardarEepromClave()
{
char i;

119
if(clave[0]<15)
for(i=0;i<=clave[0];i++)
write_eeprom(dirClave+i,clave[i]);
}
void guardarEepromNumero ( )
{
char i;
if(telefono[0]<15)
for(i=0;i<=telefono[0];i++)
write_eeprom(dirTelefono+i,Telefono[i]);
}
void guardarEepromNumero2 ( )
{
char i;
if(telefono2[0]<15)
for(i=0;i<=telefono2[0];i++)
write_eeprom(dirTelefono2+i,Telefono2[i]);
}
void guardarEepromSensActivo()
{
char i;
for(i=0;i<10;i++)
write_eeprom(dirActivos+i,sensActivo[i]);
}

void leerEepromClave()
{
char i;
clave[0]=read_eeprom(dirClave);
if(clave[0]<15)
{
for(i=1;i<=clave[0];i++)
clave[i]=read_eeprom(dirClave+i);
clave[clave[0]+1]='\0';
}
}
void leerEepromNumero()
{
char i;
telefono[0]=read_eeprom(dirTelefono);
if(telefono[0]<15)
{
for(i=1;i<=telefono[0];i++)
telefono[i]=read_eeprom(dirTelefono+i);
telefono[telefono[0]+1]='\0';
}
}
void leerEepromNumero2()
{
char i;
telefono2[0]=read_eeprom(dirTelefono2);
if(telefono2[0]<15)
{

120
for(i=1;i<=telefono2[0];i++)
telefono2[i]=read_eeprom(dirTelefono2+i);
telefono2[telefono2[0]+1]='\0';
}
}
void leerEepromSensActivo()
{
char i;
for(i=0;i<10;i++)
sensActivo[i]=read_eeprom(dirActivos+i);
}

void apagarPantalla()
{
glcd_fillscreen(0);
actPantalla();
modLuz(1,0);
SETUP_TIMER_2(T2_DISABLED,255,1);
while(!getDown ( ));
delay_ms (250);
while(getDown ( ) ) ;
SETUP_TIMER_2( T2_DIV_BY_16,255,1);
}
void mostrarContrasenaIncorrecta()
{
glcd_fillscreen(0);
posX=20;
posY=20;
printf(putc,"Contrase%ca\n Incorrecta",131);
dibujarMarco();
actPantalla();
delay_ms(5000);
}

121
ANEXO C: Diagrama de comunicación y ubicación de los equipos.

122
ANEXO D: Diagrama de conexiones eléctricas panel de distribución.

123
ANEXO E: Diagrama de conexiones eléctricas panel de distribución interna.

124
ANEXO F: Diagrama de conexiones eléctricas.

125
ANEXO G: Diagrama de conexiones eléctricas breaker del panel.

126
ANEXO H: Diagrama de conexiones eléctricas repartición del UPS.

127
ANEXO I: Diagrama de conexiones eléctricas cámaras IP.

128
ANEXO J: Diagrama de conexiones eléctricas de la central de alarma.

129
ANEXO K: Diagrama de conexiones eléctricas central de alarma 2.

130
ANEXO L: Diagrama de conexiones eléctricas central de alarma 3.

131
ANEXO M: Hoja técnica de la cámara DS-2CD2012-I.

132
ANEXO N: Hoja técnica de la cámara DS-2CD2112-I.

133
ANEXO O: Hoja técnica del contacto magnético Seco-Larm

134
ANEXO P: Hoja técnica del detector de movimiento watchout

135

También podría gustarte