ALARMA ARDUINO CON SENSOR DE MOVIMIENTO, SIRENA Y AVISO AL TLF. MÓVIL

Introduction: ALARMA ARDUINO CON SENSOR DE MOVIMIENTO, SIRENA Y AVISO AL TLF. MÓVIL

Este proyecto consiste en una alarma básica que detecta presencia, activa una sirena de 108dB y avisa al usuario mediante un SMS (opcional). Permite también el control remoto básico por parte del usuario a través de SMS (encendido, apagado, reinicio). El sistema NO NECESITA CONEXIÓN A INTERNET, es autónomo y está pensado para la instalación en lugares remotos como fincas o casas de campo que no cuentan con estos servicios.

Funcionamiento del sistema

- El sistema se activa mediante un interruptor principal sencillo que puede estar oculto en cualquier lugar, o simplemente al lado de los módulos de la alarma. Este interruptor se puede sustituir por un panel numérico con pantalla de encendido y apagado mediante clave, aunque es más difícil que un intruso encuentre un interruptor pequeño escondido que un panel con pantalla, por lo que yo he optado por la primera opción.

- Una vez activado el sistema, el usuario tendrá un tiempo determinado para salir de la estancia. Durante este tiempo, para indicar que la alarma está en proceso de activación, un buzzer activo (zumbador) emitirá un pitido de aviso cada segundo, dos pitidos por segundo durante los últimos 10 segundos, y una serie de 10 pitidos cortos el último segundo. A partir de este momento el sistema comenzará la detección.

- Para la detección de presencia he utilizado un sistema combinado de dos sensores (infrarrojos y microondas). ¿Por qué dos sensores? El motivo es el siguiente: el sensor de infrarrojos es muy efectivo, pero es sensible a falsas detecciones puntuales por puntos calientes como puede ser, por ejemplo, una ventana calentada por el sol. El sensor de microondas no tiene ese problema, sin embargo, su detección no queda limitada a una estancia, funciona en todas direcciones y a través de las paredes. Esto puede causar falsas detecciones por presencia de animales o personas fuera del espacio que queremos controlar. Utilizando los dos sensores combinados nos aseguramos de obtener una detección sin fallos en el espacio que queremos (una habitación, un pasillo, etc.)

- Cuando el sistema detecta un intruso, la detección se detiene y comienza una cuenta atrás de 15 segundos. Una vez transcurrido este tiempo, se activará la sirena, que sonará de manera ininterrumpida durante un periodo de 30 minutos, a menos que se desactive manualmente. El motivo del retraso antes de la activación de la sirena es permitir al usuario apagar el sistema mediante el interruptor principal sin que suene la alarma (por ejemplo, cuando vuelve a casa).

- Al mismo tiempo que se activa la sirena el sistema envía un SMS al usuario indicándole que se ha activado la alarma. El usuario entonces podrá dejar que suene, o enviar un SMS de vuelta para APAGAR la alarma o REINICIARLA. Si decide apagarla, podrá también ENCENDERLA de nuevo con otro SMS.

Supplies

Se han añadido los enlaces de forma orientativa, todos los elementos se pueden conseguir en cualquier tienda de electrónica local o en diversos sitios web:

Alimentador 12VDC - 2A (Conversor 220VAC a 12VDC, 2000 mA)

Módulo Arduino Nano

Módulo SIM800L con antena

(2x) Módulo MP1584 de regulación de tensión

Buzzer activo (zumbador)

Sensor detector de movimiento por infrarrojos HC-SR501

Sensor radar de microondas RCWL-0516

Placas montaje PCB

Sirena Resistente para Exteriores 12 Vcc - 20 W

Cables de conexión de electrónica variados

Rollo cable telefónico

Soldador y estaño para conexiones

Para el circuito de activación de la sirena:

OPCIÓN A) Módulo RELÉ 5V con optoacoplador para Arduino (este módulo es suficiente para activar la sirena sin necesidad de más elementos).

OPCIÓN B) Construir el módulo (si se quiere construir el circuito por piezas):

  1. Relé 5V SPDT (modelo G5V-1) - (se puede utilizar cualquier otro relé similar)
  2. Transistor NPN 2N2222
  3. Optoacoplador PC817
  4. Diodo 1N5400
  5. Resistencias 68, 220, 2k, 10k

Step 1: ​Estructura Del Sistema

El conjunto consta de tres módulos básicos:

1. Módulo de control: módulo principal que incluye un microcontrolador Arduino Nano (puede utilizarse cualquier otro modelo) que será el cerebro del sistema, y un módulo SIM800L para la conexión a la red de telefonía móvil.

2. Módulo de sensores: combina un sensor de infrarrojos y un sensor de microondas para mayor precisión de la detección de presencia.

3. Módulo de activación de la sirena: un sencillo circuito que permite activar la sirena de alarma cuando se recibe la orden del módulo de control.

Las conexiones son las que me han parecido más adecuadas, aunque seguramente puedan elegirse configuraciones más optimizadas. Igualmente, en la parte del código probablemente se encuentren muchas partes mejorables o redundantes. En cualquier caso, el sistema funciona perfectamente y está probado en la práctica durante algún tiempo ya.

Step 2: Formato De Conexiones

  • Los tipos de cable utilizados para las conexiones del sistema son:

- Cable de alimentación 0.75 mm (cable de uso doméstico común):

  • Alimentación del módulo de control.
  • Alimentación de los módulos Arduino y SIM800L.
  • Alimentación del módulo de activación de la sirena.
  • Parte del circuito de activación de la sirena que soporta mayor intensidad (aprox. 1.2A).
  • Conexión desde el módulo de activación de la sirena hacia la sirena.

- Cable Dupont (cable de uso común para electrónica):

  • Conexiones dentro del módulo de control que no son de alimentación.
  • Parte del circuito de activación de la sirena que soporta baja intensidad.

- Cable telefónico:

  • Conexión a distancia entre el módulo de control y el módulo de sensores.
  • Conexión entre el módulo de control y el módulo de activación de la sirena.

Step 3: Alimentación Del Sistema

En primer lugar, se necesita una alimentación adecuada: corriente continua (DC) con potencia suficiente tanto para el consumo del sistema en modo vigilancia, como para cuando se active la alarma, lo cual supondrá un consumo mucho mayor debido a la carga puntual del módulo GSM (pico de potencia al enviar SMS) y, por supuesto, a la sirena, que será la carga más importante.

Para el sistema se ha elegido una sirena de 108 dB, tensión de alimentación de 12VDC, y consumo de 1200 mA. Como este consumo es el mayor que tendrá que soportar el sistema necesitaremos como mínimo una fuente de 12VDC y 1.2A. Esto se consigue utilizando un simple adaptador de corriente o “alimentador” (como los que se usan comúnmente para cargar el teléfono móvil); en este caso se ha utilizado un adaptador de 12VDC y 2A (ver lista de materiales), cuya salida se corta obteniendo los dos cables de alimentación principal del sistema. Estos alimentarán al módulo de control y al módulo de activación de la sirena.

Step 4: Estructura Del Módulo De Control

El módulo de control, como ya se ha comentado, consta de un Arduino Nano que regirá el funcionamiento general, y un módulo SIM800L con su antena para la comunicación con el usuario mediante SMS. Cada uno de estos elementos funciona con un rango de voltaje específico por lo que se requiere reducir los 12V de alimentación general al valor requerido por cada uno (7-12V para el Arduino, y 3.7-4.2V para el SIM800L). Para ello, se han utilizado utilizado dos módulos MP1584 de regulación de voltaje DC-DC que permiten ajustar el voltaje de salida mediante un sencillo potenciómetro controlado por un tornillo.

Step 5: Funciones Y Diagrama De Conexiones Del Módulo De Control

La placa programable Arduino Nano gestiona el funcionamiento del sistema, siendo la encargada de las siguientes funciones:

  • Cuenta atrás de encendido y señal asociada hacia el buzzer.
  • Activación y monitoreo de módulo de sensores.
  • Gestión de la conexión a la red de telefonía móvil y envío y adquisición de datos SMS.
  • Señal de activación y desactivación de la sirena.

El diagrama de conexiones de este sub-sistema se muestra en la imagen (el código de programación del utilizado se detalla más adelante).

Se añade también el detalle de conexiones entre la placa Arduino y el módulo SIM800L, completando con esto el esquema del módulo de control. Este módulo requiere de una tarjeta SIM para funcionar, que se introduce por la parte posterior. En este proyecto se ha utilizado una tarjeta prepago que se consigue fácilmente con muchas compañías y es muy económica (en torno a unos 10 euros con 10 euros de saldo, 0 euros recargable):

Tarjeta prepago Symio

Tarjeta prepago Pepephone

Tarjeta prepago Things Mobile

En cualquier caso, si se prefiere omitir este elemento de conexión a la red móvil, basta con no añadir el módulo SIM800L y sus conexiones. El sistema funcionará igualmente usando el resto de elementos y el mismo código.

Step 6: Detalle De Conexiones Del Módulo De Sensores

El módulo de sensores, como ya se ha descrito, consta de dos sensores de movimiento (infrarrojo y microondas). El módulo de control estará programado para interpretar que se ha detectado movimiento solamente cuando ambos sensores generen señal de detección a la vez, es decir, cuando las salidas de ambos sean positivas. Ante esta situación, el módulo de control enviará la correspondiente señal de activación de la sirena.

Step 7: Descripción Del Código

El código de programación de la placa Arduino consta de 4 archivos:

  • Principal: “ALARM_SYSTEM.ino” (funciones estándar de control Arduino (setup y loop) para el funcionamiento del sistema de alarma).
  • Cabecera: “alarm.h” (incluye la declaración de las clases alarm y sensor).
  • Definiciones: “alarm.cpp”(incluye la definición de métodos de las clases alarm y sensor).
  • Cabecera: “config.h” (incluye la definición de los parámetros de operación del sistema, algunos de los cuales son modificables por el usuario).

Todos los archivos están incluidos en este apartado.

Por razones obvias, se ha eliminado el numero de teléfono real de la línea de código 117 del archivo de definición de funciones "alarm.cpp", donde se ha de sustituir el teléfono genérico +PPxxxxxxxxx por el número teléfono donde se deseen recibir los avisos, incluyendo el código de país (+PP=código de país, +34 para España), (xxxxxxxxx = número de teléfono del usuario que quiere recibir el aviso).

Step 8: Módulo De Activación De La Sirena

Por último, queda hablar del módulo de activación de la sirena. Este módulo surge de la necesidad de activar de forma electrónica el dispositivo de alerta (sirena), haciéndolo a su vez funcionar con una alimentación adecuada para el mismo.

Con fines autodidácticos, he optado por construir este módulo por partes usando componentes básicos, no obstante, se puede obtener el módulo completo a un precio muy reducido, sin necesidad de montar el circuito (véase Supplies en el paso 1). [ver imagen Relay 5V Arduino].

Construcción del circuito:

Cuando el módulo de sensores detecta movimiento, el módulo de control envía una señal de activación para hacer sonar la sirena. Esta señal, proveniente de la placa Arduino, es de 5V (salida estándar de la placa) y del orden de los 20mA. Para hacer funcionar la sirena a su nivel de trabajo nominal es necesario alimentarla con 12V y 1200mA. Se requiere, por tanto, un circuito que permita alimentar la sirena directamente desde el alimentador de 12V cuando se reciba la señal de activación desde el módulo de control. Para este fin se ha utilizado un relé, dispositivo electromagnético que permite abrir o cerrar el paso de corriente hacia una carga (en este caso, la sirena) dependiendo de otra señal de control mucho más débil (señal de activación).[Esquema 1].

Lamentablemente, la salida de Arduino no proporciona corriente suficiente para activar el relé, por lo que esta configuración es aún insuficiente para activar la sirena, y se ha de añadir un segundo elemento. Se utiliza, en este caso, un transistor NPN que aumentará la corriente de activación permitiendo así el funcionamiento del relé, y la entrega de corriente a la sirena. Se añade además, como protección, un diodo en paralelo a la bobina del relé para evitar picos de corriente. [Esquema 2].

Finalmente, para aislar el módulo de control y protegerlo de posibles picos o retornos provenientes del módulo de activación, que maneja potencias muy superiores, se utiliza un optoacoplador. Este dispositivo utiliza luz para conectar dos circuitos, manteniéndolos separados físicamente y, por tanto, protegidos de transferencias de carga no deseadas. La configuración definitiva del módulo de activación de la sirena se muestra en el Esquema 3.

Pueden consultarse explicaciones detalladas y muy claras e información bastante completa sobre las conexiones y elementos utilizados en este módulo en los siguientes enlaces:

Introducción a los relés (inventable.eu)

Control de relé mediante transistor (inventable.eu)

Optoacopladores (luisllamas.es)

Step 9: Algunas Imágenes De Los Módulos

Concluye aquí las descripción del proyecto de ALARMA ARDUINO.

Espero que sea de utilidad e interés.

Be the First to Share

    Recommendations

    • Organization Contest

      Organization Contest
    • Lamps and Lighting Contest

      Lamps and Lighting Contest
    • 3D Printed Student Design Challenge

      3D Printed Student Design Challenge

    7 Comments

    0
    jaume3d
    jaume3d

    8 months ago

    Hola, fantastico y util proyecto, muchas gracias por compartirlo !
    Una pregunta: Los pines D9 y D11 de Arduino los conectaste directamente a Tx y Rx del SIM800L o con alguna resistencia ?

    Muchas gracias,
    Saludos,
    Jaume.

    0
    JuanitoCD
    JuanitoCD

    Reply 7 months ago

    Hola! Me alegro de que guste y te haya servido.
    La conexión D9 y D11 a Tx y RX la puse directamente, sin resistencias, y el funcionamiento es correcto. Desconozco si es necesario o tiene algún beneficio añadir las resistencias. Te agradezco me lo comentes si lo sabes o lo has investigado.

    Saludos.
    JCD

    0
    jaume3d
    jaume3d

    Reply 7 months ago

    Hola, mis disculpas, mirando la documentación entendi mal y pensaba que RX y TX del SIM800 trabajan con 3.3 v.

    Saludos,
    Jaume

    0
    saposilvestre
    saposilvestre

    10 months ago

    Hola! Un proyecto muy interesante y útil. Una duda, ¿cuál es el consumo en stand-by del sistema? Estoy pensando acoplarlo a una instalación aislada que funciona con placas solares y me interesaría saber cuál es el consumo base.
    Muchas gracias,
    saludos

    0
    JuanitoCD
    JuanitoCD

    Reply 10 months ago

    Hola,

    No te podría decir el consumo exacto pues no lo he medido, y no tengo el equipo a mano, pero con los consumos de las especificaciones te puedo dar una idea aproximada:
    ARDUINO NANO: 20-25 mA
    Sensor PIR: 40uA - 150 uA
    Sensor MW: 20 mA
    Módulo GSM Sim800L: 7 mA (ojo, tiene que soportar picos de hasta 2A en transmisión de datos, es decir, cuando se dispare la alarma).
    Esto hace en torno a los 55 mA, en estado de reposo.
    La sirena, una vez activada, obviamente consume más (12Vdc 1200mA).

    Si tengo oportunidad, una vez podamos desplazarnos, lo mediré in-situ y te paso los valores exactos.

    Saludos.

    0
    saposilvestre
    saposilvestre

    Reply 8 months ago

    Hola, de nuevo! Al fin me han llegado todas las piezas para el montaje de tu sistema de alarma. Me decidí por la opción que del módulo relé con optoacoplador incluido. Creo que lo tengo todo bien montado a falta del relé, que no me queda claro cómo se conectaría. Este es mi primer proyecto serio con arduino y creo que me sobrepasa un poco. Si no estoy equivocado, las conexiones serían:
    Pin D7 del arduino a IN
    Cable de +8V de alimentación del arduino al DC+ del relé
    Cable de GND de alimentación del arduino al DC- del relé

    En cuanto a las salidas del relé
    NO al cable de +12V de la sirena
    COM con el cable de GND de alimentación directa a 12V
    NC vacío

    El cable restante de la sirena conectado al cable a +12V de alimentación directa
    Además, el "puente" entre H y L quitado para que el conexión sea mediante luz (es decir, que el optoacoplador esté activo). Agradecería mucho cualquier corrección o apunte que quieras señalar!
    Disculpa si mi terminología no es la más habitual. En cualquier caso, gracias por subir este proyecto, gracias a ti estoy aprendiendo mucho.
    Saludos

    0
    JuanitoCD
    JuanitoCD

    Reply 8 months ago

    Hola! Gracias por los comentarios, me alegro de que te haya servido.
    Las conexiones que sugieres creo que están en general bien, sólo un par de correcciones:

    * DC+ debe ir conectado a la salida 5V de Arduino (el relé funciona a ese voltaje).

    * El puente H-L sirve para que el relé se cierre con tensión HIGH (+5V) o tensión LOW (~0V), así que, para que funcione como queremos debe quedar colocado en el lado H, para que cuando la señal de control IN del pin D7 sea HIGH, se active la sirena. NOTA: El optoacoplador es independiente de este puente, su función es aislar, es decir, que no haya contacto físico entre nuestra parte de “baja potencia” (microcontrolador) y nuestra parte de “~alta potencia” (sirena), evitando así posibles corrientes “altas” de retorno que podrían dañar la placa Arduino.

    Espero que te sea de ayuda.
    Saludos.