Está en la página 1de 6

ELABORACIÓN DE UN SISTEMA DE ALARMAS

DOMÉSTICO MEDIANTE PROGRAMACIÓN DEL


PIC18F4550
Soriano García Milton Eduardo, milton.soriano@escom.edu.co
Barajas Bustos Yiandri Jimena, yiandri.barajas@escom.edu.co
Incapie Bobadilla Michael Steven, michael.incapie@escom.edu.co
Escuela de Comunicaciones Militares
Facatativá, Colombia

I. RESUMEN V. INTRODUCCIÓN

En este laboratorio se ha realizado la elaboración de un Se realiza un montaje con 10 dip switches,


sistema de alarmas doméstico mediante el uso del
PIC18F4550, el cual fue programado para generar dos tipos de simulando 8 sensores de movimiento y 2
alarma, una sonora y una de emergencia según se cumplen las interruptores los cuales determinan el tipo de
condiciones del armado de la vivienda. Se realizó la armado de la vivienda. De esta manera se espera
programación de este microcontrolador haciendo uso del
programa MPLAB y se cargó el código elaborado mediante el que al realizar 4 combinaciones distintas para el
pickit 3; además se realizó el respectivo análisis de la armado de seguridad, este montaje sea capaz de
importancia de cada condición en el código, para luego realizar una acción por un tiempo determinado
observar su funcionamiento, el cual coincidió con lo esperado.
según las condiciones y procesos ya estipulados
II. ABSTRACT en el microcontrolador. En este informe se podrá
encontrar el código de control de este sistema,
In this laboratory, the development of a domestic alarm con sus correspondientes figuras y explicación de
system has been carried out through the use of PIC18F4550, su funcionamiento.
which was programmed to generate two types of alarm, one
sound and one emergency as the conditions of the housing
assembly are met. The programming of this microcontroller VI. OBJETIVOS
was carried out using the MPLAB program and the code
elaborated by means of pickit 3 was loaded; in addition, the
respective analysis of the importance of each condition in the
A. Objetivo General
code was performed, to then observe its operation, which
coincided with the expected.  Realizar un montaje de un sistema de
alarmas doméstico, con cuatro
III. PALABRAS CLAVE combinaciones de funcionamiento y
armado automático, controlados por el
AND, armado, buzzer, código, condición, cristal, PIC18F4550.
datasheet, fórmula, frecuencia, microcontrolador,
OR, periodo, pic, timer0. B. Objetivos Específicos
IV. KEY WORDS  Generar dos tipos de alarma, una sonora
(buzzer) en dos de las 4 etapas de armado,
AND, armed, buzzer, code, condition, crystal, y otra visual (LED); mediante una señal
datasheet, formula, frequency, microcontroller, digital definida mediante el software
OR, period, pic, timer0. MPLAB.
 Aplicar los nuevos conocimientos
adquiridos en la materia de electrónica
digital III acerca de la programación de
microcontroladores, en este caso el memoria de programa Flash de 32k, etc. También
PIC18F4550. posee 32 pines los cuales pueden ser configurados
 Realizar la programación del como entrada o salida, además de 2 más
microcontrolador para que cumpla con los unidireccionales, cuatros temporizadores, canal
requerimientos solicitados por el docente USB, módulo de comparación, captura o salida de
para corroborar el correcto PWM etc. Este microcontrolador dispone de 40
funcionamiento de este sistema. pines y 5 puertos, donde el A posee siete líneas, el
B ocho, el C siete, el D ocho y el E cuatro, siendo
VII. ESTADO DEL ARTE estos puertos el puente entre el microcontrolador
y el mundo exterior. [2]
A. Sistemas de Seguridad

La seguridad tiene un concepto bastante amplio,


puesto que abarca los campos de seguridad
personal y la de objetos de valor. Los sistemas de
seguridad se vienen planteando desde hace ya
algún tiempo, debido a que las personas
actualmente tienen una mayor necesidad de
protegerse a sí mismos y sus objetos de valor, lo
cual se ha facilitado desde la llegada de estos
sistemas de resguardo, evitando pérdidas según el
tipo de sistema que se implemente. [1]
Fig. 2: Diagrama de pines del PIC18F4550. Tomado de:
https://ww1.microchip.com/downloads/en/devicedoc/39632e.pdf

C. PicKit3

Es un programador desarrollado por Microchip


Technology, el cual se usa para programar y
depurar el código para microcontroladores de
Microchip. Utiliza el IDE de MPLAB
desarrollado por la misma marca; el pickit se
conecta al PC mediante USB. [3]

Fig. 1: Maqueta de una vivienda con sensores para su sistema de


seguridad. Tomado de: https://www.castelog.com.mx/seguridad-hogar-
evitar-robos-casa/sensores-casa-seguridad/

B. MICROCONTROLADOR PIC18F4550

Los PIC son una familia de microcontroladores


los cuales han tenido una gran aceptación ya que
cada año demuestran una gran evolución,
mejorando características, precio consumo de
energía, calidad, etc. El PIC18F4550 se
caracteriza por su procesador que es tipo RISC, Fig. 3: PicKit 3, cable USB, cable de 6 pines y adaptador universal PIC.
Tomado de: https://www.cdmxelectronica.com/producto/programador-
su velocidad de operación de hasta 48MHz, su pickit-3/
VIII. PROCEDIMIENTO O Sensores SA AT AP P
METODOLOGÍA S1 0 1 1 X
S2 0 1 1 X
En primer lugar se debe analizar el plano de la S3 0 1 0 X
ubicación de los 8 sensores. Basándose en este, se S4 0 1 0 X
toman los datos para establecer con qué S5 0 1 1 X
condiciones de armado se deben activar. S6 0 1 1 X
S7 0 1 0 X
S8 0 1 0 X
Buzzer 0 1 1 0
LED 0 0 0 1
Tabla 1: Tabla de verdad para el cumplimiento de las condiciones de
armado de la vivienda con la respectiva acción a realizar. Fuente propia.

Según la tabla anterior, se realiza el esquemático


del montaje a realizar, y con ello definir los
puertos y pines a usar.
Fig. 4: Ubicación de los sensores y definición de condiciones de armado.
Fuente propia.

Se definen 4 combinaciones posibles en el


armado de seguridad:

1) Sin armar
2) Armado total
3) Armado parcial
4) Pánico (Armado total y parcial activados)

Donde sí la condición es 00 corresponde al ítem


Fig. 5: Definición de puertos para los sensores, interruptores de condición
1, donde no se realiza ninguna acción aunque se y salida del sistema de seguridad. Fuente propia.
active cualquier sensor; cuando la condición sea
01 se activará el armado total, donde si alguno de
Es importante observar algunos detalles en el
los sensores se activa, se encenderá un buzzer
esquemático presentado en la figura anterior, por
durante 80 segundos. En caso de que sea 10 la
ejemplo el pin 1, el cual maneja el master reset
condición que se cumple, se activa el armado
del microcontrolador; siempre debe estar en 1 y
parcial, donde sólo se enciende el buzzer si uno
cuando pase un 0 se resetea el sistema. En los
de los sensores ya especificados en la figura 4 es
pines 13 y 14 se observa el cristal, quien es el
el que se activa. En caso de que la condición sea
reloj para el correcto funcionamiento de los
11, se activa inmediatamente la alarma de pánico
procesos llevados a cabo por el PIC junto con
sin importar el estado de los sensores, esta alarma
unos capacitores del mismo valor, cuya función
ya no emitirá ningún sonido sino que enviará una
principal es aumentar la estabilidad en el
señal a la policía, en este caso simulada por un
oscilador, evitando así que se deforme la señal del
LED.
reloj. Una vez entendida la definición de puertos
y pines se procede a la realización del código.
Para definir el comportamiento de los sensores en
cada combinación, se tendrá en cuenta la
Se crea un proyecto en el software MPLAB,
siguiente tabla de verdad, la cual ha sido definida
verificando que quede bien creado, ya que esto
por los autores de este artículo.
afecta en la configuración de bits. Esta se realiza
según la función que se desee realizar con el PIC
y algunas características externas que pueden contador de 16 bits, si se deja en 1 sería de 8 bits.
afectar; por ejemplo, para un oscilador de bajo El T0CS también se deja en 0 para trabajar con el
nivel (4MHz) en la configuración de este se usará reloj interno, es decir el cristal; si se deja en 1
un XT_XT, pero si se usa uno de mayor frecuencia trabajaría con una frecuencia dada por un
(20MHz) se configura con un HS. Anterior a esto integrado externo, como un 555 por ejemplo.
se incluye la librería con el PIC que se va a usar, El T0SE lo dejamos en 0 para que trabaje con
en este caso sería PIC18F4550.h. flancos de subida, si se deja en 1 lo haría con
flancos de bajada; el PSA define si se usará
Iniciando el código se definen 4 variables de tipo prescala o no, para usarla se deja en 0.
entero, donde t es el número al que debe llegar En el T0PS se escribe un valor del 0 hasta el 7
cuenta para cumplir con los 80 segundos que debe definiendo un número de prescala de los que
durar encendido el buzzer; r y k servirán como aparecen en las opciones. Para definir el valor de
condiciones más adelante: frecuencia se usa la fórmula que aparece
comentada, donde int_tmr0 corresponde al
periodo de trabajo del Timer0.
El valor Vtmro que se supuso o resultó en la
fórmula se convierte a hexadecimal y se escriben
los dos valores más altos en el TMR0H y los más
bajos en el TMR0L. Para concluir esta
Fig. 6: Declaración de variables tipo entero que se usarán en el código. configuración se habilita el Timer0.
Fuente propia.

A continuación se inicia el void main (void), que


será el cuerpo del código. Allí se definen los
puertos a usar, pueden habilitarse los pines como
entradas o salidas según se desee, siendo 0 una
salida y 1 una entrada. Para definirla se puede
usar el sistema hexadecimal, decimal, binario, etc.
En este caso se usa el sistema hexadecimal, al ser
puertos de 8 bits el primer valor después de la X
define el estado de los 4 bits más significativos
del puerto, y el siguiente número el de los 4 bits
menos significativos.

Fig. 8: Configuración del Timer0. Fuente propia.

Fig. 7: Definición de los puertos a usar y sus correspondientes pines de Una vez configurado el Timer0 se inicia el “void
entrada y salida. Fuente propia. loop” del código, es decir las acciones que
siempre estará realizando. En primer lugar
Ahora se realiza la configuración del Timer0, es aparecen las variables r y k ambas con un valor de
decir, de la frecuencia y el periodo al que 0, las cuales como se dijo sirven para ajustar las
trabajará el PIC. Es algo fácil ya que hay dos condiciones. Luego aparece la primer condición
opciones: 0 o 1. Primero se configura el T08BIT, 00, donde no se realiza ninguna acción; por ello la
el cual al estar en 0 la configura como un salida del buzzer y del LED están en 0.
Posteriormente si el valor de cuenta es igual al de
t, es porque ya ha llegado a los 80 segundos
establecidos; por ello se apaga el buzzer, se
reinicia el valor de cuenta y se hace r = 1 para
evitar que vuelva a entrar a este ciclo.

Por otra parte ya pensando en la implementación


de este sistema, es posible que entre un
desconocido, se active la alarma pero el extraño
la apague sin que dure el tiempo establecido. Por
Fig. 9: Primera combinación, sin armar. Fuente propia. ello se hace una segunda parte con otra condición,
en la que sin importar que hayan apagado la
La siguiente combinación es 01, cuando el alarma inmediatamente después de activarla,
armado total está activado, en este con cualquier igual durará el tiempo estipulado.
sensor que se active sonará el buzzer durante 80
segundos.

Fig. 11: Segunda combinación, armado total, segunda parte. Fuente propia.

La condición del estado de la “bandera” sigue


Fig. 10: Segunda combinación, armado total, primer parte. Fuente propia. siendo la misma, sino que ahora se debe cumplir
también que k = 0, se repite el proceso de censar
Se usa un ciclo while donde se define que lo que si ya se llegó al valor definido y si ya se cumplió
esté dentro de él se realizará siempre y cuando el el tiempo estipulado, si es así nuevamente se
interruptor de armado total esté encendido y el de apaga el buzzer y se reinicia el valor de cuenta; se
armado parcial apagado. Dentro de esta primera hace r = 0 para que nuevamente sea capaz de
parte se envía un 0 al LED para asegurar que esté entrar a la condición anterior, y k = 1 para que no
apagado. La condición del armado total es que pueda entrar nuevamente en esta segunda parte.
con cualquier sensor en 1 se debe activar el
buzzer, por ello la condición que encierra esta
primera parte es, si se tiene un valor diferente a 0. La siguiente combinación es 10, donde se activa
Se pregunta por el estado de la “bandera”, es el armado parcial; es muy similar al armado total,
decir, que si ya se cumplió (un valor alto) el la única diferencia es que sólo ocurrirá ese
periodo estipulado en la configuración del timer, proceso con determinados sensores; por ellos la
y r = 0, va a encender el buzzer y se va a estar condición dentro del while será una OR entre los
censando si ya llegó a los valores establecidos sensores que se pueden activar para que se realice
mediante la fórmula; cuando esto se cumple se este código. De igual manera también está
agrega un 1 al valor de cuenta y se apaga el timer conformado por dos partes.
para que siga repitiendo este proceso; además
iguala el valor de k = 0.
Se concluye que realmente coincide el
funcionamiento del código realizado con lo
esperado según el montaje en el software proteus,
ya que allí se realizaron las primeras pruebas
verificando el correcto funcionamiento según las
condiciones dadas.

REFERENCIAS

[ A. D. &. C. M. K. Aviles Salazar, «Diseño e


1implementación de un sistema de seguridad a
] través de cámaras, sensores y alarma,
monitorizado y controlado telemétricamente
para el centro de acogida" Patio mi Pana"
pertenecimiente a la fundación proyecto
salesiano.,» 2015. [En línea]. Available:
https://dspace.ups.edu.ec/bitstream/123456789/1
0401/1/UPS-GT001444.pdf

[ O. E. &. B. Z. F. Barra Zapata,


Fig. 12: Tercera combinación, armado parcial. Fuente propia.
2«Microcontroladores PIC con programación
Finalmente la última combinación es 11, cuando ] PBP.,» 2011. [En línea]. Available:
se activa el pánico. En esta configuración sólo se https://books.google.com.co/books?hl=es&lr=&i
enciende el LED. d=cI6fDwAAQBAJ&oi=fnd&pg=PA7&dq=pic
18f4550+microcontrolador&ots=HiVbAaTUbo
&sig=yE5vWm7xTAJFztOaXQcFTi2mnVA&re
dir_esc=y#v=onepage&q=pic18f4550%20micro
controlador&f=false.

[ A. R. Andrade Jaramillo, «Equipo


Fig. 13: Última combinación, pánico. Fuente propia.
3Meteorológico Portable,» 2014. [En línea].
Es de aclararse que se incluyó un transistor en la ] Available:
salida del buzzer debido a que la salida del PIC http://201.159.222.99/bitstream/datos/3607/1/10
está en el orden de los milivoltios, y por ello no es 289.pdf.
suficiente para emitir la alarma sonora. El ptro
extremo del buzzer se envía a 5V porque el
emisor del transistor está a tierra.

IX. RESULTADOS

Al desarrollar este laboratorio, se ha podido


evidenciar que se puede agregar un límite de
tiempo a una acción física, utilizando la
programación del PIC18F4550 mediante el uso
del Timer0.

También podría gustarte