En este tutorial vamos a trabajar con un sensor PIR (passive IR), que nos va a dar mucho juego a la hora de realizar proyectos donde necesitemos detectar movimiento de personas o animales. Los sensores PIR o sensores de infrarrojo pasivo, miden la luz infrarroja emitida por los objetos situados en el campo de visión del sensor.
Estos sensores son muy utilizados en alarmas para la detección de intrusión en viviendas, pero también se están aplicando en instalaciones domóticas para por ejemplo encender la luz de las escaleras cuando alguien entra a un edificio o en los aseos de muchos restaurantes.
Todos los cuerpos con una temperatura mayor a cero absoluto irradian ondas dentro del espectro infrarrojo. Estas ondas son las que va a detectar el sensor PIR
Los sensores PIR, no miden el calor de los objetos, si no que detectan la cantidad de radiación infrarrojas que emiten los objetos, y aunque tienen relación con la temperatura del objeto son cosas totalmente diferentes. Cuando trabajéis con este sensor debéis tener en cuenta que cualquier fuente de calor, como un radiador o el sol en una ventana pueden activar el sensor si no se ha ajustado bien, para evitar esto, lo mejor es no apuntar el sensor a ventanas o radiadores.
Descripción del sensor PIR
Como he mencionado anteriormente, el sensor PIR es un sensor capaz de medir la radiación infrarroja que emiten los cuerpos, pero... ¿como detectan el paso de una persona u animal? pues es muy sencillo, ya que en realidad cada sensor está dividido en 2 campos que constantemente miden la radiación infrarroja, en condiciones normales, estos sensores reciben la misma cantidad de radiación, por lo que existe un equilibrio entre ellos y el sensor permanece en reposo. Al producirse el paso de una persona u animal delante del sensor, la cantidad de radiación que reciben ambos campos es diferente, se produce un desequilibrio y esto es lo que dispara el sensor.
Otro elemento de los sensores es su característica cubierta blanca, esta cubierta no es mas que una lente de plástico que enfoca la radiación infrarroja a cada uno de los campos dividiendo así en una especie de sectores las zonas que se encuentran delante del sensor, esto permite hacer una zonificación mucho mas efectiva e incluso aumenta el angulo de visión del sensor.
Ajustes
Todos los sensores PIR disponen de un ajuste para adecuar el sensor al uso que queramos darle, no es lo mismo detectar a una persona que detectar un animal pequeño, si por ejemplo lo que queremos hacer es una alarma, debemos ajustar el sensor con la sensibilidad adecuada para que se dispare con una persona, si le damos demasiada sensibilidad, podemos tener falsas alarmas si algun animal entra en la zona controlada por el sensor.
Aunque todos los sensores PIR son muy similares, me voy a centrar en el funcionamiento de los sensores PIR que típicamente se usan con Arduino,
Utilización del sensor PIR sin Arduino
El sensor PIR es un sensor digital que hace cambiar de estado el pin asociado a la señal en función de si detecta alguna presencia o no, este pin proporciona un nivel de tensión de 5 voltios (cuando detecta presencia) y de 0 voltios (cuando no detecta nada), esta señal la podemos usar como disparador de un relé de 5V sin que por ello tengamos que colocar ningún Arduino o sistema de control intermedio, con esto lo que conseguimos es un sistema que cierre el relé al detectar presencia.
A la salida del relé podemos colocar un foco, alarma o cualquier otro sistema que advierta la detección de una presencia con algún tipo de señal. La alimentación del secundario del relé puede hacerse en cualquier nivel de tensión, se puede colocar una sirena de 5V, 12 o 240V (en continua o alterna) siempre que se respeten los niveles máximos de tensión y corriente del relé.
Utilización del sensor PIR con Arduino
Al introducir un Arduino a nuestro sistema de detección anterior podemos crear sistemas de control mucho mas complejos, podemos activar una alarma sonora durante un tiempo determinado, mandar SMS, o combinar el sistema con otros sensores que hagan un sistema de detección mucho mas complejo.
En este ejemplo voy a crear una alarma que se active al detectar presencia y esté activa el tiempo que nosotros estimemos. Como mejora con respecto al caso anterior en el que no usábamos Arduino, vemos que la alarma sonará un tiempo determinado hasta la desactivación, en el caso anterior tan solo suena un breve periodo de tiempo (configurado por el potenciómetro que marca el tiempo entre mediciones). De esta forma podemos hacer temporizaciones sonoras mucho mas largas que las que permite el ajuste mediante potenciómetro.
Esquema de conexión
Al igual que en el ejemplo anterior, he colocado una carga que simula una sirena, zumbador o alarma, dependiendo de la carga que le coloquéis vosotros, debéis alimentar la parte del secundario del relé para que todo funcione perfectamente.
Programación
#define PIR 2 //Establece el pin 2 para el sensor PIR #define rele 3 //Establece el pin 3 para el relé int tiempo = 5000; //Tiempo que suena la alarma boolean sensor; //Variable que almacena el estado del sensor (activado/desactivado) void setup() { pinMode(PIR,INPUT); //Establece el pin del sensor como entrada pinMode(rele,OUTPUT); //Establece el pin del relé como salida } void loop() { sensor=digitalRead(PIR); //Guarda el estado del sensor en la variable if(sensor==HIGH) //Si el sensor es activado entra en el bucle { digitalWrite(rele,HIGH); //Activa la alarma delay(tiempo); //Espera el tiempo definido en la variable "tiempo" digitalWrite(rele,LOW); //Desconecta la alarma } }
Como se puede ver por el programa, el sensor actúa como un interruptor, por lo que es muy sencillo realizar una logica de programa compleja combinando diferentes variables de estado. Como ejemplo, se puede introducir al montaje anterior un botón para la desactivación de la alarma y una variable de estado que indique si la alarma esta "activada" o "desactivada", la detección de presencia hará que pase a "activada" y el botón a "desactivada".
Comentarios potenciados por CComment