- Potreben material
- Shema vezja
- Mikrokrmilnik PIC:
- Koda in razlaga
- Delovanje senzorja PIR z mikrokrmilnikom PIC:
PIR (pasivni infrardeči) ali senzor gibanja se uporablja za zaznavanje gibanja človeškega telesa ali predmetov, ki se premikajo. Kadarkoli nekdo pride v območje PIR senzorja, na izhodnem zatiču da visoko. PIR smo že povezali z drugimi mikrokrmilniki:
- Arduino detektor gibanja s pomočjo PIR senzorja
- Domači varnostni sistem Raspberry Pi na osnovi IOT z e-poštnim opozorilom
- Samodejna stopniščna luč z mikrokrmilnikom AVR
Danes bomo preprosto povezali PIR z mikrokrmilnikom PIC16F877A. Če je v tem vezju nekaj gibljivih predmetov v območju PIR senzorja, bo zvočni signal začel piskati.
Potreben material
- PicKit 3
- PIR senzor.
- PIC16F877A IC
- 40 - Nosilec IC zatiča
- Perf deska
- 20 MHz Crystal OSC
- Ženski in moški zatiči Bergstick
- 33pf kondenzator - 2Nos, 100uf in 10uf cap.
- 680 ohm, 10K in 560ohm upor
- LED katere koli barve
- 1 Spajkalni komplet
- IC 7805
- 12V adapter
- Zvočni signal
- Priključne žice
- Breadboard
PIR senzor:
Senzor PIR je poceni, nizke porabe in enostaven za zaznavanje gibanja Sesnor. PIR senzor sprejema samo infrardeče žarke in ne oddaja, zato se imenuje pasivno. PIR zazna kakršno koli spremembo toplote in če pride do spremembe, daje VISOKO NA IZHODU. PIR senzor se imenuje tudi piroelektrični ali IR senzor gibanja.
Vsak predmet pri segrevanju oddaja nekaj infrardeče svetlobe, podobno kot človeško telo oddaja IR zaradi telesne toplote. Infrardeči, ki ga ustvari vsak predmet zaradi trenja med zrakom in predmetom. Glavni sestavni del PIR senzorja je piroelektrični senzor. Skupaj s tem BISS0001 ("Micro Power PIR detektor gibanja IC"), nekateri upori, kondenzatorji in druge komponente, ki se uporabljajo za izdelavo PIR senzorja. BISS0001 IC vzame vhod s senzorja in izvede obdelavo, da izhodni zatič VISOKO ali NIZKO ustrezno.
Več o PIR senzorju preberite tukaj. Prav tako lahko prilagodite občutljivost na razdaljo in časovno trajanje, za katerega bo izhodni zatič visok, ko zazna gibanje. Za nastavitev teh dveh parametrov ima dva gumba za potenciometer.
Shema vezja
Mikrokrmilnik PIC:
Za programiranje mikrokrmilnika PIC za povezovanje PIR potrebujemo IDE (integrirano razvojno okolje), kjer poteka programiranje. Prevajalnik, kjer dobi naš program pretvori v MCU berljivi obliki ti HEX datoteke. IPE (Integrated Programiranje okolje), ki se uporablja za smetišče naše hex datoteko v naši PIC mikrokontrolerji.
IDE: MPLABX v3.35
IPE: MPLAB IPE v3.35
Sestavljalec: XC8
Microchip je vse te tri programske opreme dal brezplačno. Lahko jih prenesete neposredno z njihove uradne strani. Za vaše udobje sem navedel tudi povezavo. Ko jih prenesete, jih namestite v računalnik. Če imate pri tem kakršne koli težave, si lahko ogledate video na koncu.
Smetišče ali naložite svojo kodo v PIC, bomo potrebovali PICkit 3. PICkit 3 programer / debugger je preprost, poceni in-vezje iskalnik napak, ki je pod nadzorom osebnega računalnika z operacijskim MPLAB IDE (v8.20 ali več) programske opreme na platformo Windows. PICkit 3 programer / debugger je sestavni del razvoja inženirja orodje suite. Poleg tega bomo potrebovali tudi drugo strojno opremo, kot so plošča Perf, spajkalna postaja, PIC IC, kristalni oscilatorji, kondenzatorji itd. Vendar jih bomo dodali na naš seznam, ko bomo napredovali skozi naše vaje.
Naš PIC16F877A bomo programirali z uporabo možnosti ICSP, ki je na voljo v našem MCU.
Če želite zapisati kodo, sledite spodnjim korakom:
- Zaženite MPLAB IPE.
- En konec PicKita 3 povežite z osebnim računalnikom, drugi konec pa z zatiči ICSP na deski.
- Povežite se s svojo napravo PIC s klikom na gumb za povezavo.
- Poiščite Blink HEX datoteko in kliknite Program.
Če ste nov v mikrokrmilniku PIC, najprej preberite spodnje vadnice, če želite izvedeti, kako uporabljati in programirati PIC:
- Uvod v mikrokrmilnik PIC: Uvod v PIC in MPLABX
- Pisanje prvega programa z mikrokrmilnikom PIC in nastavitev nastavitvenih bitov
- LED utripa z mikrokrmilnikom PIC
Koda in razlaga
Najprej moramo v mikrokrmilniku pic nastaviti konfiguracijske bite in nato začeti z void main funkcijo.
V spodnji kodi je 'XC.h' naslovna datoteka, ki vsebuje vsa prijazna imena za zatiče in zunanje naprave. V spodnji kodi smo določili tudi frekvenco kristalnega oscilatorja, povezave PIR in Buzzer.
#include
V void main () se ' TRISB = 0X00' uporablja za navodilo MCU, da se zatiči PORTB uporabljajo kot IZHOD, 'TRISC = 0Xff' pa za MCU, da se zatiči PORTB uporabljajo kot INPUT. In 'PORTB = 0X00' se uporablja za navodilo MCU, da naredi vse IZHODE RB3 Low.
TRISB = 0X00; TRISC = 0Xff; PORTB = 0X00; // Naredite vse izhodne vrednosti RB3 LOW
Kot je navedeno v spodnji kodi, bo vedno, ko bo PIR VISOK, brenčalec VISOK, sicer pa ostane IZKLOPLJEN.
while (1) // Vstopite v zanko Infinie While {if (PIR == 1) {Buzzer = 1; __zakasnitev_ms (1000); // Počakaj} else {Zvočni signal = 0; }}}
Popolna koda z predstavitvenim videom je podana na koncu tega projekta.
Delovanje senzorja PIR z mikrokrmilnikom PIC:
Ta projekt nima nobene zapletene nastavitve strojne opreme, ponovno uporabljamo isto ploščo mikrokrmilnika PIC (kot je prikazano spodaj), ki smo jo ustvarili v Vadnici za utripanje LED. Preprosto povežite modul senzorja PIR s ploščo mikrokrmilnika PIC v skladu s shemo povezav. Ko končate s povezavami, preprosto spustite kodo s programatorjem PicKit 3, kot je razloženo v prejšnji vadnici, in uživajte v rezultatih.
Po nalaganju programa je senzor PIR pripravljen dati IZHOD. Kadarkoli je človek ali predmet, ki oddaja IR, v območju PIR, daje VISOKO IZHODU. In na podlagi tega izhoda bo zvočni signal deloval. Če je PIR izhod visok, se vhodni signal zviša in obratno.
Razdaljo zaznavanja in časovno zakasnitev lahko nadzirate z dvema potenciometroma, pritrjenima na modul PIR. Če želite izvedeti več o PIR senzorju, sledite povezavi.