in

Open Alarm: El sistema de alarma hogareña de NeoTeo

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.

Vista de la placa central del sistema de alarma.

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?

Aspecto del módulo que alimentará nuestro proyecto.

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.

Este es el "cerebro" de nuestro proyecto.

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.

Reportar

¿Qué te pareció?

Escrito por Ariel Palazzesi

27 Comments

Leave a Reply
  1. Curioso sistema de alarma, aunque el 16F877 es de 40 pines, podriais poner en alguno de las siguientes entregas como programarle con ICSP, casi ningun programador "normalito" tiene zocalo para 40 pines, pero suelen tener el conector para programacion en circuito.

    PD: para hacer las pcb utilizo el sistema de la plancha, pero siempre se "pican" o mordisquean las pistas y alguna hasta llega a partirse, ¿por que puede ser? En vez de percloruro, utilizo mezcla de agua oxigenada y salfuman (agua fuerte).

    • Hola José!
      Seguramente en algún articulo tocaremos el tema del ICSP. De todos modos, tal como explicamos en el texto del tutorial, la idea es ayudar al lector a desarrollar su propia version de la alarma. Nosotros vamos a desarrollar una version "generica" que cada uno podrá modificar a gusto.
      Respecto de los programadores, puede que alguno no tenga soporte para micros de 40 pines, pero la mayoria los programa sin problemas ¿Cual estás usando?

      En cuanto a los PCB, yo siempre los hago con el sistema de la plancha (salvo cuando necesito muchos iguales, que recurro a la serigrafía). No tengo el problema que mencionas, aunque puede ser por que uso percloruro, que es más "tranquilo" que la mezcla que mencionas. 🙂

      Saludos, y gracias por los comentarios.

  2. Los programadores he visto son los TE 20, y siempre con zocalos de 8, 18 y 28 pines, por eso lo decia lo del ICSP.

    Yo uso un JDM "casero", aunque le hice solo con zocalo de 18 pines y sin ICSP, por lo ahora necesito rehacerle mejor, por eso comento lo de las pcb y las pistas cortadas. Cuando hice el mio, tras varios intentos no consegui que se me quedaran bien, terminé haciéndole con un rotulador edin.
    Sobre mi mezcla, la verdad es que es bastante fuerte (hay que diluirla al 50% minimo), la diluire más a ver si se me quedan mejor.

    Gracias por la respuesta, saludos

    • Hola José!
      Yo use durante un año un JDM, con zocalo para PICs de 18 y 40 pines. Programaba el 18F877A sin problemas, pero si el programa era largo demoraba varios minutos.
      Ahora tengo un GTP-USB+, que soporta cientos de micros y hago el mismo trabajo en un par de segundos.
      La unica "pega" es que hay que pagar por él. 🙂

      Saludos.

  3. hola, se que no esta muy relacionado con este post pero tengo un problema con un ne555. Hice un temporizador y funciona correctamente con un led, pero si sustituyo el led por un rele (de 6 v, consume un par de ma solo) cuando el temporizador llega al 2/3 de capacidad del condensador no se apaga como deberia. se queda indefinidamente encendido y el condensador cargandose. Encambio con un led o una bombilla en lugar de un rele si que desconecta. ¿Alguien tiene idea de porque?

    saludos.

    • Hola TriPiTaKa!

      Mira, sin ver tu circuito es medio dificil darte una respuesta 100% correcta, pero se me ocurre que has reemplazado directamente el LED por la bobina del rele o la bombilla. La salida (pin 3) del NE555 no puede manejar la corriente suficiente para alimentar una carga de ese tipo, por eso falla.
      Deberias usar un resistor de 2.2K a la salida del NE555, que esté unido a la base de un transistor 2N3904. El emisor de ese transistor lo pones a GND (masa, negativo, etc), y la bobina del rele la conectas entre +V y el colector del 2N3904. Ademas, en paralelo a la bobina pone un diodo 1N4001 con el catodo hacia +V.

      Seguramente eso soluciona tu problema.
      Contanos como te fué!!!

      Saludos.

      • Gracias por contestar. Lo curioso es que si sustituyo el led por una bombilla de 6 voltios esta se enciende y apaga correctamente. Pero si uso el rele (que consume menos que la bombilla) cuando llega el momento de apagarse el NE555 simplemente no lo hace y sigue cargando el condensador. Probare a conectarlo con un transistor tal y como me dices a ver si asi no interfiere en el NE555.

        saludos.

  4. Hola!! me parece muy interesante tu articulo, de hecho pineso intentar hacerlo, pero tengo un problema, quisiera saber si se piede usar un micro 8031, ya que es el que estoy estudiando en las escuela en estos momentos y me ayudaria muchisimo, tambien quisiera saber como enviar el programa del LCD y los perifericos al programa de superpro, ya que ese es el que usan en mi escuela para programar los micros, Necesito ayuda!!! Gracias!!

  5. RSST es Fabricante de seguridad alarmas,alarma de seguridad, Sistemas Alarmas, Sistemas de Seguridad,Seguridad Electronica Alarmas,GSM alarma,Antirobo, antihurto,Central de Alarmas,monitoreo de alarmas,Alarmas de Intrusion.Alarmas contra intrusiones y robos,Sensores Magneticos,Detectores de Monox.Carbono,Detectores de Temperatura,sirenas.Magneticos contacts,DVR,DVR movil para buses y transports logisticos,inalambrica Camara,CCTV camara,IR domo PTZ,Color Domo Camara,IP camara, camaras de seguridad, Deteccion PIR, Detectores de movimiento,Grabadoras video,tarjeta de video,Camaras Dia/Noche I.R.,Camaras movimiento PTZ,Camaras Ocultas,Tarjetas captura video,control de rondas para vigilantes o vigilancia y policiales,Control de rondas guardias, control de guardias, rondines de guardias,fuego alarmas,Sistemas Contra Incendios,deteccion y extincion de incendios, Alarmas contra incendio,GSM sistemas Automatizacion para accesos,GPS rastreo vehiculos/vehicular,GSM Coches, Carro,Vehiculares automoviles,automotor alarma,GPS localizador satelite de vehiculos.cercos electricos sistema de seguridad alarmas.GPS rastreo de flotillas.camaras vigilancia.alarmas contra Robo . Estamos en la busqueda de una distribuidora en America del Sur por eso si le interesa lo invito que visite nuestra pagina: http://www.rssec.com.cn y vea nuestros productos,
    Contacto: Mr. Jacky , sitio web: http://www.rssec.com.cn , http://www.rsstseguridad.mex.tl , rsst88@gmail.com , MSN: rsstsecurity@hotmail.com , Skype: rsstsecurity

  6. Olaaa
    sabes encuentro muy interesante tu alarma
    soy estudiante universitario y estoy construyendo un sistema de alarma muy similar al tuyo para un proyecto.me gustaria saber si m pueden fasilitar el programa que ocupaste para el microcontrolador.creo q lo hiciste en assembler. me serviria mucho para guiarme en la programacion de mi proyecto.si se puede me escribes por acaa
    ante mano muchas gracias
    saludos.

  7. me gustaria recibir todo lo relacionado a Sistemas de Seguridad, como control de acceso, Dvr, cctv y alarmas.
    gracias. esta esquema esta buenisima!!!

  8. Hola me parecio muy interesante tu proyecto pero soy un novato en eso de la programacion y no se si podrian a yudarme con la programacion, es decir si me pueden dar un programa hecho o si me dieran la direccion de un lugar donde pudiera encontarlo se los agradeceria bastante.

  9. Ariel:

    En primera instancia, felicitarte por el tremendo blog que tienes y por supuesto, la calidad de la información.
    Te comento que tengo un sitio en el cual ofrezco de manera gratuita el diseño de circuitos impresos (http://www.circuitosimpresos.org). Un usuario hizo la consulta sobre si era posible integrar todo lo relacionado con la alarma, es decir, el módulo centra, la fuente de alimentación, el teclado y el display; ya se diseñó el pcb y lo pongo atu consideración el de tus usuarios que deseen tomarlo en cuenta.
    Pueden verlo en http://www.circuitosimpresos.org/2010/10/20/circuito-impreso-para-open-alarma-integrada/comment-page-1/#comment-367

    Recibe un saludo cordial y nuevamente mi felicitación por tu blog.

  10. Excelente proyecto, muchas gracias, yo estoy diseñando uno parecido y quisiera saber que bocina utilizas para este proyecto, me refiero qué voltaje tiene, qué potencia y de cuántos tonos? Muchas gracias.

  11. Hola mario primero felicitarte por compartir con nosotros tus proyectos e investigaciones, quisiera saber si el proyecto de la alarma domiciliaria ya esta terminada es que quisiera armarla

  12. Ariel….
    esto es excelente, actualmente estoy haciendo un proyecto sobre este tema… tengo muchos problemas quisiera pedirte mi ayuda no se si tu estes dispuesto a ayudarme me puedes dar talvez tu mail para poder explicarte a detalle mi problema… talvez me puedes ayudar con un link de descarga del circuito completo??

    saludos

  13. Ariel…
    voy a comentarte de que se trata mi proyecto… es un sistema de alarma gsm, que funciona enviando mensajes de texto a un telefono movil determinado cuando se active uno de los sensores que conforman el sistema… la idea es que el propietario del telefono movil pueda recibir notificaciones de que la alarma fue activada, y a su vez el pueda responder por el mismo centro (Mensajes de texto) sobre alguna accion que el desee hacer, por ejemplo encender una luz, cerrar una puerta… algo asi. no se si tu me puedas ayudar con mi sistema, talvez darme alguna pauta de como hacerlo o algun aporte que pueda ayudarme te lo agradeceria… este es mi correo joshi_pepa@hotmail.com desde ya te lo agradezco… gracias por tu aporte

    saludos

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

MonoTracer, la motocicleta del futuro

Dial-a-fix: cómo reparar Windows sin reinstalarlo