Descrición
En moitas ocasións podemos necesitar detectar a presenza de persoas ou animais en movemento nunha zona determinada. Por exemplo para facer soar unha alarma nun sistema de detección de intrusos ou para acender a luz automaticamente en corredores, escaleiras ou en aseos públicos cando se detecta movemento.
Os seres vivos desprenden calor emitindo radiación infravermella, radiación que se pode detectar cos sensores PIR. O sensor PIR está dividido en dúas zonas sensibles que en condicións normais son activadas igualmente pola radiación infravermella do ambiente. Cando o sensor PIR detecta unha diferenza na radiación IR que recibe dispara un sinal.
O sensor HC-SR501 incorpora 2 potenciómetros e un jumper que nos permiten modificar o seu comportamento e adaptalo ás nosas necesidades:
- Selector de modo: Cambiando a posición do jumper podemos cambiar entre o modo de funcionamento continuo ( o sensor mantén un sinal continuo se detecta movemento de maneira continuada) ou modo de repetición ( o sensor actívase ao detectar movemento e despois volve ao seu modo normal. Se segue detectando movemento emitirá de novo un sinal de volverá a empezar).
- Axuste da sensibilidade: Serve para axustar a a distancia e a cantidade de movemento necesario para activar o sensor.
- Axuste do temporizador: Aumenta e diminúe o tempo que se activará o sensor unha vez detecte presenza.
Montaxe
Fíxate nas indicacións do teu modelo de sensor PIR para localizar os pins. No caso do HC-SR501 conectarémolo como aparece na imaxe. Conectaremos ademais un LED cunha resistencia de protección de 220Ω.
Programa
Imos facer un programa moi sinxelo: Faremos que se acenda un LED cada vez que o sensor PIR nota a nosa presenza.
// Variables: int led = 13 ; int sensor = 2 ; // Configuración: void setup(){ pinMode(led,OUTPUT) ; pinMode(sensor,INPUT); Serial.begin(9600); while(!Serial); digitalWrite(sensor,LOW); Serial.print("Calibrando sensor "); // Dámoslle 45s ao sensor for(int i = 1; i <= 45; i++){ Serial.print("."); delay(1000); } Serial.println(" ok"); Serial.println("sensor activo"); delay(50); } // Bucle: void loop(){ int estado=digitalRead(sensor); // Lemos o estado no pin do sensor (0 ou 1) if (estado==HIGH){ // Se hai presenza acéndese o LED. digitalWrite(led,HIGH); } else { // Se non apágase. digitalWrite(led,LOW); } }
Propostas
- Probas. Proba os diferentes modos de funcionamento (continuo e de repetición) e proba axustar os potenciómetros e observar a diferenza.
- Alarma. Fai que soe unha alarma cada vez que o sensor detecta presenza. A alarma debe soar continuamente a non ser que se apague manualmente mediante un pulsador.
- Luz. Fai que se acenda automaticamente a luz dunha estancia cada vez que hai alguén na mesma. Se o circuíto é simple non necesitas utilizar unha controladora Arduíno. Para utilizar a rede de corrente alterna debes utilizar un relé. Fai isto con supervisión.