Alarmapp

Eduardo Garza
Sep 3, 2018 · 8 min read

Un día, navegando en la internet, me enteré de la existencia de los microcontroladores de Particle y al instante quedé fascinado. Así que decidí comprar el Photon, un microcontrolador diseñado para el Internet de las cosas.

Cuando me llegó el paquete, lo abrí, saqué el dispositivo de su empaque, jugué con el un rato, lo volví a guardar, y lo metí en un cajón… Dos años después, al ver al viejo sistema de alarma que tenemos en la casa juntando telarañas, se me ocurrió que tal vez podría revivirlo.


El viejo sistema de alarma

El sistema fue instalado hace tiempo y estuvo funcionando bien pero comenzó a presentar comportamiento errático, activándose en las noches o a mitad del día sin causa aparente. Así que simplemente se le desconectó, y como no vi ninguna intención de que se le reviviera por varios años, decidí adjudicarmelo para mi proyecto; si algo salía mal, podía decir que ya estaba dañado y que no tenía nada que ver.

Antes de comenzar cualquier cosa me dispuse a revisar como estaba constituido, y rápidamente pude identificar los sensores magnéticos de las puertas y ventanas, la sirena, el panel de control, y la central procesadora.

Sirena, panel de control, y el sensor magnetico de la puerta frontal.
Central procesadora.

El Photon

La aplicación para controlar el sistema, la consola de desarrollador de Particle, y el Photon. Cuando el temporizador se termina, la sirena se debe de activar usando el relé, pero en el video usé un diodo LED naranja para simular la activación. Por favor, imagina que grabé en horizontal.

Lo que me atrajo del Photon, además de que viene con un módulo Wi-Fi, es que está integrado a la plataforma de Particle. La plataforma de Particle permite administrar y monitorear de uno a varios microcontroladores, y permite exportar los datos generados por los dispositivos a plataformas externas para procesamiento posterior, lo que facilita construir aplicaciones para el internet de las cosas. Además es posible darle ordenes al Particle de manera remota.


Averiguando como interfacear el microcontrolador con la alarma

Cuando abrí la central procesadora no tenía idea de como funcionaba el circuito principal, pues jamás había tenido experiencia interpretando una placa de circuito impreso, pero con ayuda de un multímetro y un diagrama de técnico que estaba pegado en una de las paredes de la central procesadora me fue posible especular sobre lo que tenía que hacer.

Prueba de concepto

No era preciso comprender en su totalidad el circuito impreso, lo único que había que hacer era encontrar una forma de decirle al Photon el estado de los sensores.

Una posibilidad se me vino a la mente: aprovechar la circuitería ya instalada que alimenta a los sensores, la sirena, y el panel de control, y acoplar algún artificio que me comunicara si los circuitos que formaban los sensores estaban cerrados o abiertos.

Transistores

Una vez con mi objetivo bien definido, me dispuse a prototipar un circuito con transistores, y ya con el circuito armado, hice algunas pruebas y no tuve problema.

Estaba demostrado que no iba a fracasar por no saber mucho de electrónica. Me duele haber grabado en vertical.

El circuito con transistores conceptualmente fue un éxito, pero tenía muchas dudas. El transistor es algo que me resulta familiar, más no es un componente con el que me sienta cómodo; hay un diferencia enorme entre haber armado algunos circuitos con transistores a entender las propiedades eléctricas del componente, tener un modelo mental de su comportamiento, y por ende, saber como uno lo puede emplear en sus circuitos.

Sabía que con los transistores iba a funcionar, pero no como iba a funcionar. No quería usar algo que no comprendía en su totalidad, y además pensé, “Si el sistema está dañado, ¿que me asegura que al conectar mi microcontrolador este no correrá peligro?”.

Optoacopladores

Con los transistores no tenía claro si mi circuito correría peligro.

Había otra opción y era utilizar optoacopladores. Estos dispositivos están diseñados para aislar circuitos, pues la única manera que tienen para comunicarse es mediante un haz de luz infrarroja.

Los optoacopladores son circuitos integrados que se pueden explicar vagamente cómo un diodo LED infrarrojo que influye sobre una resistencia eléctrica (en realidad es un transistor). Su fucionamiento, descrito de una manera muy simplista, es el siguiente: cuando el diodo LED está energizado, el valor de la resistencia baja, y en consecuencia una corriente eléctrica puede circular.

Con los optoacopladodores ahora sí estaba seguro de que mi microcontrolador no correría peligro.

El Photon con los optoacopladores. Las terminales (los objetos de color verde que tienen dos tornillos) son utilizadas para conectar el diodo LED infrarrojo al circuito de los sensores. No llevan resistencia porque según mi multímetro circula una corriente muy baja que no le hace daño al diodo del optoacoplador.

Problemas con la sirena

Ahora ya sabía como conseguir el estado de los sensores, lo siguiente era averiguar como activar la sirena exterior. Esto fue muy sencillo gracias a el diagrama de técnico.

Para activar la sirena, sería necesario aprovechar las salidas de poder auxiliar de la central procesadora y acoplar un relé que pudiera ser controlado con el Particle.

Hice una prueba para comprobar que la sirena se energizara usando las terminales auxiliares pero no tuve resultados favorables. Haciendo lecturas con el multímetro en las terminales en las que estaba conectada, sospeché que la sirena podría estar averiada. Me precipite a desmontarla, y haciendo pruebas con una fuente de poder adecuada, concluí que necesitaba reemplazarla.

Sirena vieja, terminales exteriores (ahí se revisé con el multímetro cuando estaban energizadas), y sirena nueva.

Quedando en ridículo por mi falta de comprensión de la electrónica básica

Si bien ya me estaba abriendo camino y había resuelto algunos problemas, aún me faltaban los detalles.

Me tarde en averiguar el valor de las resistencias a utilizar para los componentes que irían conectados al Photon. No sabía cual era el valor indicado, pero después de un rato comprendí que estaba diseñando un circuito, así que podía podía ponerle las que se me dieran la gana, siempre y cuando las especificaciones eléctricas del Photon estuvieran de acuerdo.

Después de leer las especificaciones y saber que las salidas del microcontrolador tienen un voltaje de 3V y que la corriente máxima que puede circular por cada una de ellas no debía superar los 20mA, tomé la calculadora, sustituí los valores en la ecuación que expresa la ley de Ohm y obtuve los valores que necesitaba en menos de cinco segundos.

Fuentes de poder y relés

Como tenía pensado utilizar el poder auxiliar de la central procesadora para alimentar al Particle, era necesario armar un circuito regulador de voltaje. También era hora de confirmar si el relé tendría éxito.

No pensé que ese condesador fuera a explotar

Pensé que emplear un regulador de voltaje como el 7805 solo era cuestión de conectarlo, pero leyendo la hoja de especificaciones me enteré que este tipo de regulador necesita varios aditamentos para poder funcionar de manera correcta, como un disipador de calor y algunos condensadores para filtrar las salidas que entran y salen del componente.

El condensador que me explotó. Probablemente no hubiera explotado si el voltaje de entrada hubiera sido más pequeño.

No tenía el disipador de calor, pero podía prescindir de él por unos cuantos minutos, y me faltaba un condensadores del valor indicado. Inocentemente razoné que podría reemplazarlo por uno de valor más grande. Conecté el condensador y al cabo de unos cuantos minutos comencé a escuchar un siseo pero no le presté atención porque me pareció que venía de la construcción de enfrente. Unos segundos más y ya tenía un líquido extraño escurriendo en la mano izquierda. Sin demora, desconecte la fuente de corriente que alimentaba al 7805 y me fui a lavar.

El relé que estropie

Decidí dejar de lado el circuito del 7805 y concentrarme en probar el relé. Cuando lo energizé con el Photon, este se reinicio. La razón fue que la bobina del relé utiliza más de los 25mA especificados, lo que no le gusta al microcontrolador. Así que tuve que investigar un circuito que me permitiera controlar al relé. Lo armé y al probarlo tuve resultados favorables. Lo siguiente era soldarlo, pero me las arregle para romperle un pin.

Un respiro

Hice un viaje al centro de la ciudad para conseguir el relé y otros condensadores para volver a hacer pruebas, y ya de regreso se me hizo buena idea entrar a la primera tienda por la que pasé para ver si de casualidad ya tenían circuitos armados. Para mi buena suerte sí tenían varios circuitos, incluyendo los que quería armar. Después de obtener una respuesta positiva al preguntar si me le podían agregar un disipador de calor al circuito regulador, me decidí a comprarlos.

Había sido liberado del cautín y de los experimentos peligrosos.

Circuito final

El circuito quedo de la siguiente manera:

Hay otros elementos de los que no hablé, como el zumbador que tiene como propósito dar retroalimentación auditiva, y algunos botones de uso general. “RD” significa “Relay Driver”, esté circuito permite al Photon controlar al relé que controla la energización de la sirena con una corriente pequeña.

Bueno ahora instálalo

Una vez armado el circuito en una protoboard tenía que instalarlo. Fue tedioso tratar de acomodar el circuito entre tanto cablerío, y además hacerle un estante al regulador de voltaje, pero al final lo conseguí.

Pruebas antes de conectar completamente el circuito sin el regulador de voltaje ni el relé a la izquierda. La protoboard perdida entre cables, conectada al relé y al regulador de voltaje, a la derecha.

El panel de control

Para controlar el sistema desarrollé una aplicación que se conecta a la plataforma de Particle. Al comunicarme con la plataforma me es posible darle ordenes al Photon.

Algunas de las funcionalidades que implemente son actualizaciones en tiempo real (aprovechando que el API de Particle provee un endpoint SSE), deshabilitar zonas, botón de pánico, y notificaciones Push cuando el sistema detecta que hay un intruso en el inmueble.

Para desarrollar la aplicación utilicé el framework Ionic, lo que me permite desarrollar simultáneamente para iOS y Android. No escribí un backend especial para esta aplicación por ser un proyecto personal y para ahorrarme algo de trabajo.

¿Nuevos problemas?

¿Y si bajan la luz y te quedas sin internet?

¿Y si mejor no hablamos de eso?

Na, mentiras, no pasa nada. El sistema aún así activará la sirena exterior, pero no enviara la notificación push a los dispositivos hasta que se conecte a la red. Existe una versión del microcontrolador que puede conectarse por las redes celular pero por ahora no cuento con esa versión.

Generalmente, estos sistemas están conectados a la línea telefónica para que un operador rectifique si es una falsa alarma provocada por el usuario. Sin embargo, no estábamos pagando el servicio, así que estamos a merced (por ahora) de que a los tipos malos no se les ocurra bajar la luz antes de entrar a la casa.

¿Y si te quedas sin pila en el móvil y quieres entra a tu casa?

Todavía me quedan algunas cosas por hacer. En cuanto tenga oportunidad voy a agregarle al sistema un teclado matricial para poder prescindir del móvil cuando sea necesario.


El futuro es hoy, ¿oíste viejo?

Tenía planeados otros puntos más elaborados y una conclusión menos floja, pero a la mitad de la entrada se me acabo la inspiración.

Solo diré que ocasionalmente, que digo, casi siempre, me dan ganas de iniciar un movimiento neoludita con todo esto de las computadoras. Curiosamente, con este proyecto, no sentí ese impulso.

Disfrute trabajar con el Photon; es un buen microcontrolador. Hubo otras cosas que tuve que dejar pendiente porque ya tenía que continuar con mi vida, pero en general quede satisfecho con esta primera iteración.

Y bueno, esa fue la historia del sistema de alarma viejo y olvidado que volvió a la vida, y de como no se me ocurrió capturar los videos e imágenes en horizontal.


Demo


Detalles para nerds

En mi Github.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade