Comenzamos con este artículo una serie exclusivamente dedicada a explicar, paso a paso, cómo diseñar y construir un sistema de alarma hogareño que nada tendrá que envidiarle a uno comercial. Se trata de un proyecto open source que pondrá a tu alcance todo lo que necesitas para proteger tu vivienda.
Mucha gente esta considerando la instalación de un sistema de alarma para proteger a su hogar y a su familia. En los últimos diez años la venta de alarmas ha incrementado de forma significativa, a pesar de que la inversión necesaria en muchos casos es importante. Sin embargo, es posible ahorrar bastante dinero si uno construye su propio sistema.
Con esta premisa en mente, a lo largo de estos tutoriales veremos en profundidad como funciona cada parte de un sistema de alarma, y como construirlo. A pesar de que propondremos un sistema con determinadas características, siempre que sea posible daremos la información necesaria para que el lector pueda realizar los cambios que crea convenientes para adaptar el proyecto a sus necesidades específicas.
El corazón de nuestro sistema de alarma será, como no, un microcontrolador. Hemos elegido, por cuestiones de costo y disponibilidad, un PIC16f877A, aunque nada impide que se utilice otro. Solo deberán tenerse en cuenta los requisitos de memoria necesarios (para que pueda albergar nuestro programa) y que el numero de pines de entrada y salida sea lo suficientemente grande como para poder controlar todos los módulos asociados.
Dotaremos a nuestra alarma de la posibilidad de detectar aberturas de puertas y ventanas mediante el uso de pulsadores normalmente abiertos, normalmente cerrados y sensores magnéticos y ópticos, LEDs indicadores de estado, teclado para la introducción de la clave de activación y cambio de la misma, sensores de movimientos infrarrojos, display LCD para interactuar con el usuario, botón de pánico, detección de humo, sirena y mucho más.
Aprovechando todo lo aprendido en nuestra serie de artículos dedicados a la programación de microcontroladores en PIC BASIC, iremos escribiendo las rutinas necesarias para controlar cada función de la alarma en este lenguaje. El usuario podrá también ensamblar y modificar a gusto estas piezas de software para que el proyecto satisfaga sus necesidades. ¿Comenzamos a trabajar?
La fuente de alimentación
Comenzaremos por una de las partes indispensables de nuestro sistema de alarma: el módulo destinado a brindar la corriente necesaria para el funcionamiento de la misma. Hemos construido una muy sencilla fuente de alimentación alrededor de un regulador de tensión integrado del tipo LM7805, que se encarga de regular la tensión proveniente de un puente de diodos que a su vez rectifica la salida de un transformador.
Este transformador deberá seleccionarse en función de la red de distribución eléctrica de cada país, teniendo un primario de 110V o 220V, y un secundario de 12V. Hemos previsto una llave para el apagado de la misma, un fusible y un LED indicador que enciende junto con la fuente. Un grupo de condensadores cerámicos y electrolíticos se encargan de ayudar al LM7805 en su tarea.
Puedes ver en las imágenes que acompañan esta entrega el diseño del circuito eléctrico, el circuito impreso y como quedará el modelo terminado. Te recomendamos leer el articulo “Tutorial: Fuente de alimentación de 5V” para conocer más sobre el funcionamiento de este modulo.
Lista de componentes:
Esta es la lista de componentes necesarios para construir nuestra fuente de alimentación:
1 transformador de 220V a 6V (o de 110V a 6V, según el país)
1 puente de diodos de 50V, 1 Amper.
3 borneras de dos tornillos (o dos borneras y un portafusible para PCB)
2 condensadores electrolíticos de 470uF/16V
2 condensadores cerámicos de 0.1uF
1 resistor de 220 ohm 1/8 de Watt.
1 LED rojo de 5 milímetros
1 Regulador de voltaje LM7805 en capsula TO220.
1 llave on/off.
1 trozo de PCB de una cara, de 6×4 cm.
El módulo central
Se trata del verdadero “cerebro” de nuestro proyecto. Esta pequeña placa de circuito impreso aloja al microcontrolador PIC16F877A (o al que hayas elegido para realizar este proyecto), el encargado de ejecutar el programa que dará vida al sistema de alarma. Al igual que ocurrirá con otros módulos, si decides cambiar alguno de sus componentes posiblemente debas realizar modificaciones (pequeñas o grandes) al PCB.
Se trata de un circuito impreso de doble cara, con pistas anchas, que puede ser realizado sin problemas mediante la técnica explicada antes en NeoTeo. No hay demasiadas recomendaciones a tener en cuenta a la hora del armado de la placa, solo tener en cuenta el colocar al principio del montaje los “puentes” que unen algunos pads de un lado y del otro del PCB. Los componentes los sueldas en el orden que acostumbres, teniendo cuidado de no invertir la polaridad de los LEDs o del transistor.
Recomendamos el uso de un zócalo para el microcontrolador, para poder retirarlo con facilidad en caso de que necesitemos efectuar modificaciones en nuestro programa. Las borneras deberán ser de calidad, ya que al tratarse de un proyecto experimental, seguramente cambiaremos muchas veces los elementos conectados a la placa.
Tanto el display de cristal liquido como el teclado de 16 teclas previstos en el proyecto se conectan a esta placa mediante un pequeño mazo de cables, aunque nada impide utilizar para ello un juego de conectores con pines en línea (SIL) con paso de 0.1 pulgada. En caso de hacerlo, esto permitirá remover cualquiera de estos dos módulos con facilidad.
El diagrama correspondiente muestra cual es la función de cada una de estas borneras, y les asigna un número. A la hora de realizar las conexiones ten en cuenta lo siguiente:
Bornera 1, alimentación: Se cuidadoso a la hora de conectar la alimentación a este PCB. Respeta la posición de los terminales positivo y negativo, y asegúrate que la fuente entrega efectivamente 5V. Caso contrario, dañaras el microcontrolador. En el esquema, el borne positivo es el de la izquierda.
Bornera 2, interruptores “NA”: Aquí conectaremos los pulsadores de tipo “Normalmente abierto”. Se conectan a estos dos bornes y en paralelo entre si. Mientras que los pulsadores permanezcan abiertos, el pin correspondiente a A0 permanecerá en estado bajo. Si alguno de ellos se cierra, A0 pasará a estado alto. Más adelante veremos como programar un disparo de alarma mediante esta entrada.
Bornera 3, interruptores “NC”: En esta bornera conectaremos los pulsadores del tipo “Normalmente Cerrado”. Deben ir en serie entre si, y mientras permanezcan en reposo el pin A1 estará en “1”. Si alguno de ellos se abre, A0 pasará a estado alto. Más adelante veremos como programar un disparo de alarma mediante esta entrada.
Bornera 4, sensor infrarrojo: Este es el conector para el sensor de rayos infrarrojos cuyas características y programación veremos en la segunda entrega del tutorial. El borne de arriba es el que se conecta al negativo, el central al pin de datos y el de abajo al positivo de la placa del sensor. El microcontrolador recibirá los datos en su pin A2.
Bornera 5, sensor de humo: Aquí deberemos conectar los dos conductores provenientes del sensor de humo que más adelante diseñaremos. El pin A3 del microcontrolador pasará a estado alto si dicho sensor se dispara.
Bornera 6, botón de pánico: Aquí se conecta un pulsador (o varios de ellos, en paralelo) del tipo “Normalmente abierto”. Cuando el usuario presiona alguno de estos pulsadores, el pin C3 del microcontrolador pasará a estado alto y el programa (como veremos oportunamente) deberá disparar la alarma de inmediato.
Bornera 7, Sirena: Esta bornera corresponde a los contactos del relé que puede verse en el PCB. Al activarse la alarma, los contactos de este relé se cierran y la placa de la sirena se activa. Esta función se comanda mediante el pin D0 del microcontrolador.
Bornera 8, display LCD: Aquí conectaremos el display LCD de 2 líneas de 16 caracteres. Veremos en una entrega posterior el detalle de este conector, y la forma en que se programa dicho display. Solo adelantaremos que utilizamos los pines D4…D7 como bus de datos, C7 como “Enable” y C6 como “R/S”.
Bornera 9, teclado: Este último conector es el que vincula la placa principal con el teclado. Son 8 líneas cuya función veremos al explicar con detalle el funcionamiento y programación del teclado.
Hemos utilizado un modelo de microcontrolador que funciona a solo 4MHz, velocidad más que suficiente para este proyecto. En caso de que tengas en tu stock de componentes uno de mayor velocidad, podrás utilizarlo simplemente cambiando en el programa este valor por el que corresponda.
Lista de componentes:
A pesar de la complejidad del proyecto, la lista de componentes que utilizaremos no es demasiado extensa. Dado su carácter modular, iremos dando la lista de componentes necesarios para realizar cada etapa. En el caso del módulo central utilizaremos los siguientes componentes:
1 Microcontrolador PIC16F877A (con su zócalo)
1 Cristal de 4 MHz.
2 Condensadores cerámicos de 0.22 nF
1 Condensador cerámico de 0.1 uF
1 Transistor 2N3904 o equivalente
1 Rele para PCB, con bobina de 5V y contactos de 7 Amperes.
1 Resistor de 2K2, 1/8 de Watt.
9 Resistores de 10K, 1/8 de Watt.
4 Resistores de 1K, 1/8 de Watt.
3 Resistores de 220 Ohm, 1/8 de Watt.
3 Diodos LED rojos
6 Borneras de dos tornillos para circuito impreso, con paso de 0.2 pulgadas.
1 Bornera de tres tornillos para circuito impreso, con paso de 0.2 pulgadas.
1 PCB virgen de 10×10 centímetros.
2 Tiras de postes de bronce de 8 pines, o dos conectores a elección (para el teclado y display).
Importante: aunque no está previsto en el circuito impreso, puede ser necesario (depende exactamente del transistor que utilicemos y de las características de la bobina del relé) soldar entre los extremos de la bobina del relé que controla la sirena un diodo del tipo 1N4001 en paralelo, con su cátodo orientado hacia arriba (hacia +V). La función de este componente es proteger al transistor de tensión que aparece en los extremos de la bobina al desenergizarse.
En la próxima entrega veremos como construir y programar el teclado de nuestro sistema de alarma.