Detector de movimiento en Raspberry

images-2

Con la ayuda de una Raspberry 2/3, tres cables con conectores Hembra-Hembra y  un sensor de movimiento, podemos montar en cuestión de minutos un sistema de alarma casero, parametrizable y configurable de manera que al detectar movimiento reproduzca un sonido, o incluso haga una foto de lo que está ocurriendo y nos la envíe por email.

Todo el material al que hago referencia se puede encontrar en cualquier tienda especializada o en Amazon.es.

El detector de movimiento que he utilizado es un PIR HC-SR501, un sensor pequeño pero suficientemente preciso para este tipo de proyecto, y que simplifica enormemente la instalación ya que se alimenta directamente de una de las patillas de la Raspberry Pi.

El coste del sensor ronda los 3-4 euros por unidad, por lo que os recomiendo que directamente compréis 2 o 3 para disponer de recambio inmediato en el caso de que en el momento de montarlo os de algún tipo de fallo, ya que he podido comprobar que es habitual encontrarse con algún sensor que venga defectuoso de fábrica.

La conexión es sencilla, limitándose a conectar las 3 patillas del sensor (corriente,señal y tierra) a 3 patillas concretas del bus GPIO de la RPI.

La tabla que muestro a continuación junto al sensor representa las patillas del bus de una RPI 2/3.

 

pir-2

 

Tomando como referencia la ilustración anterior, con la Raspberry desconectada de la corriente, debemos conectar:

Sensor 1 +Dc Voltage  a Patilla de RPI marcada con el número 2 (5v)
Sensor 2 Output  a Patilla de RPI marcada con el número 7 (GPIO 4)
Sensor 3 Ground a Patilla de RPI marcada con el número 6 (GND)

El sensor permite ajustar la sensibilidad y el tiempo entre detección y detección mediante dos potenciómetros que lleva instalados.

 

Con el sensor en la misma posición que el de la ilustración, ajustaremos Sensibilidad (el de la izquierda) y Tiempo de espera (el de la derecha), girando hacia la derecha para aumentar y hacia la izquierda para disminuir.

Os recomiendo ajustar la sensibilidad y el tiempo al mínimo, girando ambos potenciómetros totalmente hacia la izquierda. De esa forma reduciremos las falsas alarmas y mejoraremos el tiempo de respuesta.

Con el sensor conectado a nuestra RPI, llegará el momento de probar su funcionamiento, lo que podréis hacer con el script de Python que acompaño y que podéis modificar a vuestro gusto para que actúe de una manera u otra.

Para crearlo en vuestra RPI, teclead:

nano pir.py  

Tras lo que se abrirá el editor de texto Nano, en el que podemos pegar el script siguiente:

import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(4, GPIO.IN, GPIO.PUD_DOWN)
estado_anterior = False
estado_actual = False
time.sleep(4)

while True:
    time.sleep(1)
    estado_previo = estado_actual
    estado_actual = GPIO.input(4)
    if estado_actual != estado_previo:
      nuevo_estado = “ALARMA ON” if estado_actual else “ALARMA OFF”
      print(nuevo_estado)      

    time.sleep(1)

Que guardaremos pulsando CTRL y ‘X’ , confirmando seguidamente con Y.

Para ejecutarlo teclearemos:

python pir.py

Que al detectar movimientos de forma intermitente mostrará algo parecido a lo siguiente:

root@RPI3-TM:~# python pir.py

ALARMA ON
ALARMA OFF
ALARMA ON
ALARMA OFF

En unos días explicaré como hacer una foto y enviarla a nuestro móvil de manera automática.

Rev6.2016

Esta entrada fue publicada en Raspberry Pi y etiquetada , , , , , , , , . Guarda el enlace permanente.

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 )

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 )

Google+ photo

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

Conectando a %s