- Material necesar
- Diagrama circuitului
- Microcontroler PIC:
- Cod și explicație
- Funcționarea senzorului PIR cu microcontroler PIC:
PIR (infraroșu pasiv) sau senzor de mișcare este utilizat pentru a detecta mișcarea corpului uman sau a obiectelor în mișcare. Ori de câte ori cineva intră în gama senzorului PIR, acesta dă High la pinul de ieșire. Am interfațat anterior PIR cu alte microcontrolere:
- Detector de mișcare Arduino folosind senzorul PIR
- Sistem de securitate la domiciliu Raspberry Pi bazat pe IOT cu alertă prin e-mail
- Lumină automată pentru scări cu microcontroler AVR
Astăzi vom face o interfață simplă PIR cu microcontrolerul PIC PIC16F877A. În acest circuit, dacă unele obiecte în mișcare intră în domeniul senzorului PIR, buzzerul va începe să emită un bip.
Material necesar
- PicKit 3
- Senzor PIR.
- PIC16F877A IC
- 40 - Suport IC pin
- Tablou de perfecționare
- 20 MHz Crystal OSC
- Femei și bărbați Bergstick pini
- Condensator de 33pf - capac 2Nos, 100uf și 10uf.
- 680 ohm, rezistență 10K și 560ohm
- LED de orice culoare
- 1 Set de lipit
- IC 7805
- Adaptor 12V
- Buzzer
- Conectarea firelor
- Breadboard
Senzor PIR:
Senzorul PIR este ieftin, cu putere redusă și ușor de utilizat Detecții de mișcare Sesnor. Senzorul PIR primește doar raze infraroșii, nu emite de aceea se numește pasiv. PIR simte orice schimbare de căldură și, dacă există o schimbare, dă HIGH la IEȘIRE. Senzorul PIR denumit și senzor de mișcare piroelectric sau IR.
Fiecare obiect emite o cantitate de infraroșu atunci când este încălzit, similar cu corpul uman care emite IR din cauza căldurii corpului. Infraroșu creat de fiecare obiect din cauza fricțiunii dintre aer și obiect. Componenta principală a senzorului PIR este senzorul piroelectric. 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ță.
Aflați mai multe despre senzorul PIR aici. De asemenea, puteți regla sensibilitatea la distanță și durata timpului pentru care pinul de ieșire va fi ridicat odată detectată mișcarea. Are două butoane pentru potențiometru pentru a regla acești doi parametri.
Diagrama circuitului
Microcontroler PIC:
Pentru a programa microcontrolerul PIC pentru interfața PIR, vom avea nevoie de un IDE (Integrated Development Environment), unde are loc programarea. Un compilator, în care programul nostru este convertit într-o formă lizibilă MCU numită fișiere HEX. Un IPE (Integrated Programming Environment), care este folosit pentru a arunca fișierul hexagonal în MCU-urile noastre PIC.
IDE: MPLABX v3.35
IPE: MPLAB IPE v3.35
Compilator: XC8
Microchip a oferit gratuit toate aceste trei programe. Acestea pot fi descărcate direct de pe pagina lor oficială. De asemenea, am oferit linkul pentru confortul dvs. După descărcare, instalați-le pe computer. Dacă aveți probleme în acest sens, puteți vizualiza videoclipul oferit la final.
Pentru a arunca sau încărcați codul nostru în PIC, vom avea nevoie de PICkit 3. PICkit 3 programator / depanator este un simplu, low-cost depanator în circuit, care este controlat de un PC care rulează MPLAB IDE (v8.20 sau mai mare), software - ul pe o platformă Windows. PICkit 3 programator / depanator este o parte integrantă a suitei instrument inginerului de dezvoltare a lui. În plus, vom avea nevoie și de alte hardware, cum ar fi placa Perf, stația de lipit, IC-urile PIC, oscilatoarele Crystal, condensatoarele etc. Dar le vom adăuga pe lista noastră pe măsură ce progresăm prin tutorialele noastre.
Vom programa PIC16F877A folosind opțiunea ICSP disponibilă în MCU.
Pentru a arde codul, urmați pașii de mai jos:
- Lansați MPLAB IPE.
- Conectați un capăt al PicKit 3 la computer și celălalt capăt la pinii ICSP de pe placa de perfecționare.
- Conectați-vă la dispozitivul dvs. PIC făcând clic pe butonul de conectare.
- Căutați fișierul Blink HEX și faceți clic pe Program.
Dacă sunteți nou în microcontrolerul PIC, treceți mai întâi prin tutoriale de mai jos pentru a afla cum să utilizați și să programați PIC:
- Noțiuni introductive despre microcontrolerul PIC: Introducere în PIC și MPLABX
- Scrierea primului dvs. program cu microcontroler PIC și configurarea biților de configurare
- LED intermitent cu microcontroler PIC
Cod și explicație
Mai întâi, trebuie să setăm biții de configurare în microcontrolerul pic și apoi să începem cu funcția principală nulă .
În codul de mai jos, „XC.h” este fișierul antet care conține toate numele prietenoase pentru pini și periferice. De asemenea, am definit frecvența oscilatorului de cristal, conexiunea PIR și pinii Buzzer în codul de mai jos.
#include
În meniul nul (), „ TRISB = 0X00” este utilizat pentru a instrui MCU că pinii PORTB sunt utilizați ca OUTPUT, „TRISC = 0Xff” este folosit pentru a instrui MCU că pinii PORTB sunt folosiți ca INPUT. Și „PORTB = 0X00” este folosit pentru a instrui MCU să facă toată IEȘIREA RB3 Low.
TRISB = 0X00; TRISC = 0Xff; PORTB = 0X00; // Faceți toate ieșirile RB3 LOW
Conform codului de mai jos, ori de câte ori PIR devine HIGH, buzzerul va deveni HIGH sau altfel va rămâne OFF.
while (1) // Intrați în bucla Infinie While {if (PIR == 1) {Buzzer = 1; __delay_ms (1000); // Așteptați} altceva {Buzzer = 0; }}}
Codul complet cu un videoclip demonstrativ este oferit la sfârșitul acestui proiect.
Funcționarea senzorului PIR cu microcontroler PIC:
Acest proiect nu are nicio configurare hardware complicată, folosim din nou aceeași placă de microcontroler PIC (așa cum se arată mai jos) pe care am creat-o în Tutorialul intermitent cu LED-uri. Pur și simplu conectați modulul senzor PIR la placa de microcontroler PIC conform schemei de conectare. După ce ați terminat conexiunile, pur și simplu aruncați codul folosind programatorul PicKit 3 așa cum s-a explicat în tutorialul anterior și bucurați-vă de ieșire.
După încărcarea programului, senzorul PIR este gata să dea OUTPUT. Ori de câte ori, o ființă umană sau un obiect care emite IR intră în intervalul PIR pe care îl dă HIGH la IEȘIRE. Și, pe baza acestei ieșiri, buzzerul va funcționa. Dacă ieșirea PIR este ridicată, intrarea sonoră devine ridicată și invers.
Puteți controla distanța de detectare și întârzierea utilizând două potențiometre fixate pe modulul PIR. Pentru a afla mai multe despre senzorul PIR, urmați linkul.