Cum funcționează senzorul PIR și cum îl putem folosi împreună cu Arduino

24 apr. 2018 14:05:20

Senzorul de mișcare PIR este ideal pentru detectarea mișcării. Acesta poate detecta mișcarea bazată pe schimbări în lumina infraroșie din mediul în care este amplasat.

În primul rând, vom explica cum funcționează acest senzor:

Atunci când un corp ce emite energie termică într-o formă de radiație infraroșie, de exemplu corpul uman sau animal, va intra în raza senzorului PIR, acesta va detecta o mișcare. De aici vine și numele senzorului pasiv infraroșu (PIR). Acest senzor nu emite nicio energie pentru detectarea ființelor aflate în mișcare, ci doar detectează energia emisă de către acestea, printr-un senzor piroelectric.

Modulul este acoperit de un capac format din lentile Fresnel ce concentrează semnalele infraroșii pe senzorul piroelectric.

 

Modulul cu senzor PIR, din figura de mai sus, are încorporat două potențiometre, unul pentru a regla timpul de întârziere, ce poate fi ajustat între 0.3 secunde și 7 minute, iar celălalt potențiometru pentru reglarea sensibilității, până la 7 metri.

Modulul are doar trei pini, GND și VCC pentru alimentare și un pin de ieșire care dă un nivel logic ridicat atunci când un corp este detectat. Modulul mai dispune de 3 pini cu un jumper ce poate schimba modul de declanșare a senzorului. Dacă jumperul este amplasat pe “declanșator non-repetabil”, atunci senzorul va ține cont de timpul de întârziere și va da nivel logic ridicat până la terminarea timpului setat. Dacă jumperul este amplasat pe “declanșator repetabil”, acesta va menține ieșirea ridicată până când corpul detectat nu mai este prezent în raza senzorului.

 

Pentru a face un mic DEMO, avem nevoie de câteva piese:

  1. Placă de dezvoltare Arduino Uno R3

  2. Modul senzor PIR

  3. LED 5mm

  4. Fire Dupont mama-tata

  5. Cablu USB A-B

Pentru conectarea senzorului PIR la placa de dezvoltare Arduino, vom folosi fire Dupont de tip mama-tata și vom face conectarea pieselor după cum urmează:

  1. Pinul corespunzător GND al senzorului PIR, se va conecta direct la GND pe placa Arduino

  2. Pinul corespunzător VCC al senzorului PIR, se va conecta direct la 5V pe placa Arduino

  3. Pinul corespunzător OUT al senzorului PIR, se va conecta la pinul 4 al plăcii Arduino

  4. Led-ul îl vom conecta direct pe placa Arduino, pe GND și PIN 13

După ce am făcut montajul ca în schema de mai sus, putem conecta placa de dezvoltare la PC prin cablul USB A-B și folosind Arduino IDE, putem urca sample-ul de cod de mai jos:

int led = 13;                // pinul corespunzător led-ului

int sensor = 4;              // pinul corespunzător senzorului PIR (OUT)

int cond = LOW;              // in mod implicit, nicio mișcare nu este detectată

int status = 0;              // variabila pentru stocarea condiției senzorului

void setup() {

 pinMode(led, OUTPUT);      // inițializăm LED-ul

 pinMode(sensor, INPUT);    // inițializăm senzorul

 Serial.begin(9600);        // initializăm serialul

}

void loop(){

 status = digitalRead(sensor);   // se citește valoarea senzorului

 if (status == HIGH) {           // dacă senzorul este pe HIGH

   digitalWrite(led, HIGH);   // aprindem LED-ul

   delay(100);                // așteptam 100 milisecunde

   

   if (cond == LOW) {

     Serial.println("S-a detectat mișcare");

     cond = HIGH;       // actualizăm variabila cond cu HIGH

   }

 }

 else { // în caz contrar

     digitalWrite(led, LOW); // stingem LED-ul

     delay(200);             // așteptăm 200 milisecunde

     

     if (cond == HIGH){

       Serial.println("Nu mai există mișcare");

       cond = LOW;       // actualizăm variabila cond cu LOW

   }

 }

}

Dacă doriți să folosiți un senzor PIR de dimensiuni reduse, Senzor PIR HC-SR505 Mini este o soluție.

Acum că știți cum se folosește un senzor PIR, abia așteptăm să vedem ce proiecte ați dezvoltat cu un astfel de senzor și nu uitați să vă abonați la newsletterul nostru pentru a fi la curent cu ultimele produse adăugate pe Clește.ro

Posted in News By

Nicolae Pecheanu

Lasa un comentariu
Comments are Closed for this post