- Componente necesare
- Diagrama circuitului pentru detectorul de mișcare bazat pe senzorul Raspberry Pi și PIR
- Cod Python pentru Raspberry Pi:
Sistemele de securitate joacă un rol important în viața noastră de zi cu zi și acolo putem găsi o mulțime de tipuri diferite de sisteme de securitate cu diferite tipuri de tehnologii și cu o gamă diferită de prețuri. Fiind un entuziast electronic puteți face un sistem de securitate simplu cheltuind câțiva bani și ceva timp liber. Aici, în acest articol, vă împărtășesc un ghid DIY pentru a crea o alarmă simplă cu detector de mișcare bazată pe senzorul Raspberry pi și PIR, care va porni buzzer-ul atunci când senzorul PIR detectează orice mișcare umană din zonă. De asemenea, am acoperit un circuit detector de mișcare bazat pe senzor PIR într-unul din articolele noastre anterioare, în care am prezentat detaliu funcționarea senzorului PIR.
Componente necesare
- Raspberry Pi 3 (orice model)
- Senzor PIR
- Buzzer
- Breadboard
- Conectarea firelor
Funcționarea senzorului PIR
Senzorul infraroșu pasiv (PIR) se numește pasiv deoarece primește infraroșu, nu emite. Practic detectează orice modificare a căldurii și, ori de câte ori detectează orice modificare, PIN-ul său de ieșire devine HIGH. Ele sunt, de asemenea, denumite senzori de mișcare piroelectrică sau IR.
Aici ar trebui să observăm că fiecare obiect emite o cantitate de infraroșu atunci când este încălzit. Omul emite și infraroșu din cauza căldurii corpului. Senzorii PIR pot detecta o cantitate mică de variație în infraroșu. Ori de câte ori un obiect trece prin domeniul senzorului, acesta produce infraroșu din cauza fricțiunii dintre aer și obiect și este prins de PIR.
Componenta principală a senzorului PIR este senzorul piroelectric prezentat în figură (cristal dreptunghiular în spatele capacului din plastic). Odată cu aceasta, BISS0001 („Micro Power PIR Motion Detector IC”), unele rezistențe, condensatori și alte componente utilizate pentru a construi senzorul PIR. BISS0001 IC preia intrarea de la senzor și efectuează procesarea pentru a face pinul de ieșire HIGH sau LOW în consecință.
Senzorul piroelectric se împarte în două jumătăți, atunci când nu există mișcare, ambele jumătăți rămân în aceeași stare, înseamnă că ambele simt același nivel de infraroșu. De îndată ce cineva intră în prima jumătate, nivelul infraroșu al unei jumătăți devine mai mare decât celălalt, iar acest lucru determină reacțiile PIR și crește pinul de ieșire.
Senzorul piroelectric este acoperit de un capac din plastic, care are în interior o serie de obiective Fresnel. Aceste lentile sunt curbate astfel încât senzorul să poată acoperi o gamă largă.
Diagrama circuitului pentru detectorul de mișcare bazat pe senzorul Raspberry Pi și PIR
Așa cum se arată în schema de mai sus pentru detectorul de mișcare bazat pe senzorul Raspberry Pi și PIR, pinul pozitiv al senzorului PIR este conectat cu pinul 4 (5v), iar pinul de masă al senzorului PIR este conectat cu pinul 6 (masă) al Raspberry Pi (Puteți găsi aici Diagrama Pin a Raspberry Pi). Pinul de ieșire al senzorului PIR este conectat cu GPIO 23 al Raspberry pi care este utilizat pentru a da intrare Raspberry Pi. Pinul GPIO 24 care este declarat aici pentru ieșire este conectat cu pozitivul sonorului, iar masa sonorului este conectată cu solul (pinul 6) al zmeurii pi.
Cod Python pentru Raspberry Pi:
Codul Python pentru acest detector de mișcare bazat pe senzorul Raspberry pi și PIR este destul de simplu și ar putea fi înțeles cu ușurință cu comentariile în linie din secțiunea de cod de mai jos. Am declarat pinii GPIO 23 și 24 ca pini de intrare și ieșire.
în timp ce este adevărat: dacă GPIO.input (23): # Dacă există o mișcare, senzorul PIR oferă intrare către GPIO23 GPIO.output (24, True) # Ieșire dată Buzzer-ului prin GPIO24 time.sleep (1) # Buzzer se aprinde pentru 1 secundă ieșire GPIO (24, fals)
O buclă „în timp ce” este utilizată ca „Adevărat”, astfel încât conținutul din buclă se va executa întotdeauna. dacă GPIO.input (23): instrucțiunea detectează dacă pinul GPIO 23 este ridicat și dacă același lucru este adevărat, PIN-ul de ieșire 24 este ridicat. Funcția time.sleep (secs) este utilizată pentru a întrerupe programul în python pentru un anumit timp în care „secs” este timpul în secunde. Așadar, aici obișnuiam să-l întrerupem timp de 1 secundă. În linia următoare am făcut ieșirea pe 24 ca fiind falsă, astfel încât soneria se oprește până când bucla începe următoarea iterație, deoarece bucla While este setată întotdeauna adevărată fără nicio condiție prealabilă.