Sensor de movemento PIR

Descrición

pir
[tecnoloxia.org CC By-SA]
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:

pir2
[tecnoloxia.org CC By-SA]
  • 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Ω.

pir_fritzing
[tecnoloxia.org CC By-SA from Fritzing]

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

  1. Probas. Proba os diferentes modos de funcionamento (continuo e de repetición) e proba axustar os potenciómetros e observar a diferenza.
  2. 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.
  3. 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.

 


Deixa un comentario