Crearea unui sistem de securitate cu senzorul PIR HC-SR501 si Arduino Uno R3

Crearea unui sistem de securitate cu senzorul PIR HC-SR501 si Arduino Uno R3

In acest tutorial vei invata cum functioneaza senzorul PIR HC-SR501 pentru detectia miscarii si cum il poti utiliza cu Arduino. Acest senzor este folosit intr-o gama variata de aplicatii, inclusiv in cele mai moderne sisteme de securitate, iluminare automata, deschiderea usilor si altele asemenea, unde trebuie sa reactioneze la miscare. 
Consuma putin, este ieftin si usor de conectat. Are o tensiune de operare de 4.5-20V DC, un consum de curent de 65mA si functioneaza la temperaturi cuprinse intre -15°C si +70°C.
 

Cum functioneaza senzorul PIR HC-SR501 pentru detectia miscarii?


Senzorul PIR HC-SR501 este format din doua componente principale: un element sensibil piroelectric (care poate detecta radiatia infrarosie) si lentile Fresnel. Toate obiectele, inclusiv corpul uman, emit energie termica sub forma de radiatie infrarosie la temperaturi mai mari de 0 absolut (0 Kelvin / -273.15 °C) . Cu cat un obiect este mai cald, cu atat emite mai multa radiatie infrarosie. Aceasta radiatie nu este vizibila pentru ochiul uman, pentru ca are lungimi de unda in spectrul infrarosu.
Senzorul PIR HC-SR501 este special conceput pentru a detecta astfel de radiatii.
Dar, cum functioneaza mai exact ? E simplu, acest senzor scaneaza variatia de radiatie. Atunci cand detecteaza o astfel de variatie, inseamna ca exista miscare si senzorul trimite un semnal logic cu valoarea 1 catre Arduino. In caz contrar, cand nu exista miscare, senzorul trimite un semnal logic cu valoarea 0 catre Arduino.

 Daca doresti sa afli mai multe informatii despre senzorul PIC HC-SR501, ii poti accesa datasheetul aici.

 

Componente necesare 


In continuare, pentru a putea construi acest proiect vei avea nevoie de:

  • 1 x senzor PIR HC-SR501
  • 1 x modul buzzer activ
  • 1 x LED 
  • 1 x placa de dezvoltare compatibila Arduino Uno R3
  • 1 x rezistor 220 ohmi
  • 3 x fire tata-mama
  • 6 x fire tata-tata


Acum ca ai aflat care sunt componentele necesare, te vei ghida dupa schema de conectare de mai jos.
 

Schema conectare senzor PIR HC-SR501 pentru detectia miscarii 




 

Se conecteaza GND si 5V de pe Arduino pe breadboard.
Senzorul PIR HC-SR501: pinul GND se conecteaza la GND de pe breadboard
                                          pinul OUT se conecteaza la portul 9 digital Arduino
                                          pinul VCC se conecteaza la 5V de pe breadboard

LED: pinul + se conecteaza la portul digital 7 Arduino 
         pinul - se conecteaza la rezistorul de 220 ohmi, la capatul caruia se conecteaza la GND de pe breadboard

Modul buzzer activ: pinul - se conecteaza la GND de pe breadboard
                                pinul + se conecteaza la 5V de pe breadboard
                                pinul S se conecteaza la portul digital 8 Arduino


Exemplu cod


Dupa ce ai realizat circuitul, deschide mediul de dezvoltare Arduino IDE si introdu codul furnizat mai jos. Apoi conecteaza placa Arduino la computer prin intermediul portului USB, selecteaza tipul de placa si portul serial (din meniul Tools/ Instrumente selecteaza pentru optiunea Board/ Placa si Port ceea ce utilizezi). Pentru a incarca codul pe placa, apasa butonul Upload/Incarcare (simbolul de sageata catre dreapta). In partea de jos a ferestrei vei putea urmari mesajele de stare : Compiling Sketch/Compilez schita, Uploading/Incarcare si Done/Incarcare finalizata . Dupa finalizarea cu succes a incarcarii, placa Arduino va rula codul pe care l-ai incarcat. 


#define ledPin 7
#define buzzerPin 8
#define pirPin 9

int val = 0;
bool motionState = false;

void setup() {
  pinMode(buzzerPin, OUTPUT);
  pinMode(ledPin, OUTPUT);
  pinMode(pirPin, INPUT);

  Serial.begin(9600);
}

void loop() {
  val = digitalRead(pirPin);

  if (val == HIGH) {
    digitalWrite(ledPin, HIGH); 
    alarm(500, 1000);  
    delay(150);

    if (motionState == false) {
      Serial.println("Miscare detectata!");
      motionState = true;
    }
  }

  else {
    digitalWrite(ledPin, LOW); 
    noTone(buzzerPin); 
    delay(150);

    if (motionState == true) {
      Serial.println("Miscarea s-a incheiat.");
      motionState = false;
    }
  }
}

void alarm(long duration, int freq) {
  tone(buzzerPin, freq);
  delay(duration);
  noTone(buzzerPin);
}

Proiect Arduino cu senzorul PIR HC-SR501 pentru un sistem de avertizare


In acest videoclip, vei urmari un tutorial care te va ghida pas cu pas prin modul in care trebuie conectat senzorul PIR HC-SR501 pentru detectia miscarii cu celelalte componente necesare

Compara produse

Trebuie sa mai adaugi cel putin un produs pentru a compara produse.

A fost adaugat la favorite!

A fost sters din favorite!