Proyecto – Sistema de Alarma

Enunciado

Sistema de alarma basado en Arduino. Con dos sensores uno de movimiento y otro de luz se detecta la alarma. Después de detectar alarma, se entra en un estado de pre-alarma que si no se introduce la clave correcta en 10 segundos, paso a un estado de alarma.

Para entrar en estado de alarma hay dos condiciones:

  • Detectar un movimiento (activar el sensor tilt)
  • Detectar más de 5 segundos una iluminación superior a 900.

Para salir del estado de pre-alarma se debe introducir la clave correcta por teclado en los 10 segundos siguientes a la detección de alarma.

Para salir del estado de alarma no debe haber ninguna de las dos condiciones de alarma y se debe pulsar el botón.

En estado normal led apagado y zumbador apagado.

En estado de pre-alarma el led parpadea cada segundo y se oye un pitido cada segundo.

En estado alarma el led está en encendido y se oye un pitido continuo. Además se manda un SMS al número de teléfono configurado.

Información Adicional

El valor de resistencia eléctrica de un LDR es bajo cuando hay luz incidiendo en él (puede descender hasta 50 ohms) y muy alto cuando está a oscuras (varios megaohmios).

El LDR actúa como una resistencia variable. Para conocer la cantidad de luz que el sensor capta en cierto ambiente, necesitamos medir la tensión de salida del mismo. Para ello utilizaremos un divisor de tensión, colocando el punto de lectura para Vout entre ambas resistencias. De esta forma:

Dónde Vout es el voltaje leído por el PIN analógico del Arduino y será convertido a un valor digital, Vin es el voltaje de entrada (5v), R2 será el valor de la resistencia fija colocada (10k ohm generalmente) y R1 es el valor resistivo del sensor LDR. A medida que el valor del sensor LDR varía, obtendremos una fracción mayor o menor del voltaje de entrada Vin.

NOTA: ajustar el valor del umbral para que detecte la alarma según iluminación recinto

Esquema de Conexión

Diagrama de Estados

Diagrama de Flujo

Solución

En el código hay que configurar los parámetros:

  • Últimas cifras de la MAC
  • Umbral_LDR en función de la iluminación donde nos encontremos
  • Teléfono al que manda las alertas por SMS
  • PIN de acceso a la API

Los mensaje enviados a la API pueden verse en http://www.aprendiendoarduino.com/servicios/SMS/index.html

Código: https://github.com/jecrespo/Aprendiendo-Arduino-Proyectos/tree/master/Proyecto_05-Arduino_Alarm_System

Anuncios

22 pensamientos en “Proyecto – Sistema de Alarma

  1. Angel Cruz

    Que tal, es un gran proyecto y me gustaria implementarlo, me podria proporcionar la lista de materialrequerido para este proyecto por favor? y si es posible el codigo necesario para el microcontrolador arduino, se lo agradeceria infinitamente pues no tengo conocimientos con el manejo de la placa arduino ni las protoboard

    Le gusta a 1 persona

    Responder
      1. Ivan Reynoso

        ya lo pude corregir gracias, pero tengo un problema lo que quiero es sustituir el sensor tilt por uno ultrasonico HC-SR04 como lo podria hacer??
        se lo agradeceria mucho si me pudiera ayudar

        Le gusta a 1 persona

    1. jecrespom Autor de la entrada

      La lista de materiales está en el fichero de fritzing que puedes descargar de https://github.com/jecrespo/Aprendiendo-Arduino-Proyectos/blob/master/Proyecto_05-Arduino_Alarm_System/Proyecto_05-Alarm_System.fzz y abrirlo con fritzing

      Te los pongo aquí:
      1x Arduino Uno (Rev3)
      1x Piezo Speaker
      1x Membrane Matrix Keypad
      1x Red (633nm) LED
      1x 10kΩ Resistor
      1x Photocell (LDR)
      1x 220Ω Resistor
      1x Tilt Switch
      1x SWITCH-MOMENTARY-2

      De todas formas, actualizaré el post con la lista de materiales

      Me gusta

      Responder
  2. Lionel

    Una consulta yo quiero hacer funcionar dos sensores pir y dos switchs magneticos con acceso de teclado y pantalla lcd. cuando se active q suene un modulo buzzer activo como seria?

    Le gusta a 1 persona

    Responder
    1. jecrespom Autor de la entrada

      Hola Lionel,

      No habría mucha diferencia con este ejemplo, los PIR para Arduino van conectados a una entrada digital y los switches magnéticos también van a una entrada digital pero a través de una resistencia.

      Luego la pantalla, teclado y un buzzer puedes ver un ejemplo de como usarlo aquí https://github.com/jecrespo/Aprendiendo-Arduino-Proyectos/blob/master/Proyecto_x08-Juego_Desactiva_Bomba/Desactiva_Bomba/Desactiva_Bomba.ino

      Un saludo.

      Me gusta

      Responder
  3. jecrespom Autor de la entrada

    No hay, pero simplemente elimina la función boolean envia_SMS(String telefono, String mensaje) y la línea donde la llamas cuando hay una alarma que es envia_SMS(TELEFONO, “ALARMA_DE_INTRUSION”); en la 225.

    Quitando eso funciona sin SMS pero suena el buzzer.

    Me gusta

    Responder
  4. Pingback: Arduino… intro. – Robotica ARDUINO

    1. jecrespom Autor de la entrada

      Hola la lista de materiales está en https://github.com/jecrespo/Aprendiendo-Arduino-Proyectos/blob/master/Proyecto_05-Arduino_Alarm_System/Proyecto_05-Alarm_System_bom.html que es un fichero HTML y puedes verlo en un navegador, sino en el fichero de fritzing Proyecto_05-Alarm_System.fzz de https://github.com/jecrespo/Aprendiendo-Arduino-Proyectos/tree/master/Proyecto_05-Arduino_Alarm_System con Fritzing puedes verlo y editar los elementos.
      Puedes hacerlo en Frizting pero no es un simulador y luego hacerlo con material real que es lo que hice.

      Puedes mandarme un correo a aprendiendoarduino@gmail.com con lo que no encuentras en tinkercad y se puede buscar una alternativa.

      Me gusta

      Responder

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.