5 de maig 2015

Sensor de presència. PIR

PIR = Passive InfraRed sensor 
Aquests sensors detecten canvis de temperatura dins la zona que monitoritzen, provocats per la presència de persones o d'objectes en moviment. Són molt utilitzats en sistemes d'alarma o control d'accessos.
El seu angle de visió és de 90º, i el seu abast entre 6 i 9 m. La seva sensibilitat es pot regular amb els potenciòmetres que porta incorporats.

Connexió a Arduino
Es connecta a un pin digital (que s'ha de declarar com a entrada al programa). També es pot connectar a un pin d'entrada analògic.
Es connecta directament, sense resistències.

Quan s'activa envia un senyal durant un temps, que es pot regular amb un dels potenciòmetres que te al darrera, l'altre permet regular la distància de detecció.

Aquesta va ser la meva primera proba: encesa d'un LED durant el temps que dura aquest senyal


Altra aplicació: Llum d’encesa automàtica
En apropar-se algú a la porta del bany, és detectat pel sensor i el llum s’encén. Quan el sensor torna a detectar moviment és que l’usuari surt del bany, i el llum s’apaga.
La pausa de 3 segons es per deixar temps a que el sensor deixi d'enviar senyal 1.
int llum_bany = 5; 
int sensor_pir = 4;

void setup()
{
  pinMode(llum_bany,OUTPUT);
  pinMode(sensor_pir,INPUT);
}

void loop()
{
  int presencia = digitalRead(sensor_pir);
  if (presencia == 1)
  {
    digitalWrite(llum_bany,HIGH);
    delay(3000);
    while(presencia == 0)
    {
      if (presencia == 1)
      {
        digitalWrite(llum_bany,LOW);
        delay(3000);
      }
    }
  }
}
Per assegurar que quan algú surt del bany no queda ningú a dins i es pot tancar el llum, J Santiago en el seu TR va afegir una variable al programa que suma 1 cada cop que algú entra i resta 1 cada cop que algú surt. La llum només s'apaga quan aquesta variable = 0.

Cap comentari:

Publica un comentari