G026 Sensores PIR

 ADM
Descripición
Con bastante frecuencia necesitamos algún sistema de detectar la presencia de personas o animales en movimiento en un área dada. Es la base de cualquier sistema de detección de intrusos pero también se usan mucho en las escaleras comunitarias o aseos públicos para encender la luz en cuanto detecta el movimiento.

Todos los seres vivos desprenden calor y lo mismo ocurre con los automóviles y cualquier otra maquinaria, y ese calor se emite en forma de radiación infrarroja que podemos detectar con los dispositivos adecuados, como los sensores PIR.

Los sensores PIR,  que son elementos que detectan cambios en la radiación infrarroja que reciben y que disparan una alarma al percibirlo.

Los PIR más frecuentes son sensores de movimiento, y para ello están divididos en dos mitades de forma que detecten el cambio de radiación IR que reciben uno y otro lado, disparando la alarma cuando perciben ese cambio.
 


Parece un poco más complicado que los sensores que hemos usado hasta ahora, pero la verdad es que se trata de una tecnología muy fiable y que cuenta con la ventaja adicional de ser baratos y múltiples fuentes de suministro disponibles.

El propio sensor PIR se puede comprar independientemente:
 


Pero naturalmente siempre es más cómodo de manejar con un pequeño circuito de estabilización y control, que nos permita usarlo como un sensor digital directo.
Lo normal además es que estos sensores se recubran con pequeñas lentes de plástico que mejoren su angulo de detección

La imagen que os pongo anexa, os muestra el sensor HC-SR501 con la lente puesta y quitada para que veáis el sensor montado (Podéis sacarla vosotros mismos, va a presión)



Materiales
Placa de Arduino
1 Resistencia de 330 
1 LED de 5 mm
1 Sensor PIR HC-SR501
Protoboard, Cables para conexiones, un cable USB para conectar el arduino al PC y que sirve además de alimentación. 
 
Esquema 
Vamos a conectar el PIR al pin 2 y el LED y la resistencia al pin 3.  Si en lugar de un LED y su resistencia conectamos un módulo de Relé, en lugar de que se encienda y apague el LED cuando el PIR detecte una presencia, activará el Relé para que este active otro circuito. 


Antes de que vayáis a buscar vuestro  Arduino uno o Arduino mega, debéis saber que estos sensores PIR pueden disparar directamente una alarma con una señal de 3.3V y son capaces de excitar pequeños relés, de modo que no necesitáis micro controladores, si lo único que queréis es encender una luz o dispara una alarma.

Por eso vamos a hacer, en primer lugar, un pequeño circuito de prueba como este, de modo que nos sirva para probar el sensor, y veais que se puede usar directamente.
Vamos a montar un circuito sencillo de detección de movimiento que encienda una LED cuando perciba algo:


 
Fijaros que hay 3 pines en el lateral, que usaremos para pinchar el sensor PIR HC-SR501 a nuestra protoboard, y aquí debajo os pongo el esquema de conexiones:
 
Como podéis ver enseguida, hay un par de potenciómetros que podemos usar para ajustarlo además de un jumper para elegir modo. Vamos con ello. 
Ajustando el sensor
 
Empezad por colocar el sensor en la misma posición que la imagen de arriba porque mi modelo no trae rotulado ningún nombre (Lo que me hizo poner nervioso al principio pero después vi que era completamente estándar).

He visto en Internet que recomiendan poner el jumper en la posición H para las primeras pruebas que arriba está rotulado como Auto Reset, pero en mi caso me ha resultado más fiable sacar el jumper y dejarlo al aire.

Fijaros que el modelo de la imagen este jumper no existe, pero la mayor parte de los modelos que encontréis por ahí podréis seleccionar H o L, conectando el jumper entre el pin central y la selección deseada o bien dejarlo sin conectar.  
 
Cuando colocamos el sensor en la posición L, al detectar algo el LED se encenderá, y al poco se apagará y hará una cadencia tipo blinking LED dependiendo de lo que detecte. A este modo se le llama no retriggering y no suele demasiado interesante.

Si lo ponemos en H, cuando detecte movimiento se encenderá y mantendrá así durante un tiempo (Llamado retrigger mode) y suele ser más conveniente en buena parte de los circuitos practicos .

Para ajustar la sensibilidad podemos usar uno de los potenciómetros que incluye el sensor, fijaras en la imagen de arriba. (Girando a favor del reloj aumentamos la sensibilidad).

El segundo potenciómetro ajusta el tiempo que estará activa la señal de detección después de que esta haya desaparecido. Pero parece que también afecta al retraso con que inicia la alarma, así que es cuestión de que vayáis jugando para encontrar un punto adecuado para vuestra alarma.

Montaje

En el montaje en lugar del LED he puesto el módulo de Relé para que tenga ambos circuitos.


 
Código
Si queréis usar estos sensores en conjunción con vuestro Arduino, por ejemplo para  montar un detector con varios puntos controlados, como una habitación con múltiples puertas, basta con tomar la señal del sensor y la leáis directamente en los pines digitales de Arduino.
La señal que os entrega el sensor HC-SR501 es digital todo o nada en cuanto detecta movimiento de una fuente de calor. Podéis leer el sensor directamente sin mucha complicación, con un programa similar a este:
 
int PIR = 2;
int RELE = 3;
int ESTADO = 0;

void setup(){
  pinMode(PIR, INPUT);
  pinMode(RELE, OUTPUT);
  delay(20000);
}

void loop(){
  ESTADO = digitalRead(PIR);
  if (ESTADO == HIGH){
    digitalWrite(RELE, LOW);
    delay(4000);
  }else{
    digitalWrite(RELE, HIGH);
  }
 
Los 20 segundos de delay en el setup es porque el sensor según el fabricante, necesita desde que se alimenta uno 20 segundos antes de poder detectar. Los 4 segundos en el loop es para evitar saltos y falsas detecciones.

No hay comentarios:

Publicar un comentario