- Nødvendig materiale
- Kretsdiagram
- PIC-mikrokontroller:
- Kode og forklaring
- Arbeid med PIR-sensor med PIC-mikrokontroller:
PIR (passiv infrarød) eller bevegelsessensor brukes til å oppdage bevegelse av menneskekroppen eller gjenstander. Når noen kommer i området PIR-sensor, gir det High ved utgangsstiften. Vi har tidligere koblet PIR til andre mikrokontrollere:
- Arduino bevegelsesdetektor ved hjelp av PIR-sensor
- IOT-basert Raspberry Pi Home Security System med e-postvarsling
- Automatisk trappelys med AVR-mikrokontroller
I dag er det enkelt å grensesnitt PIR med PIC Microcontroller PIC16F877A. I denne kretsen, hvis noen bevegelige objekter kommer i området PIR-sensor, vil summeren begynne å pippe.
Nødvendig materiale
- PicKit 3
- PIR-sensor.
- PIC16F877A IC
- 40 - IC-holder for pinne
- Perf brett
- 20 MHz Crystal OSC
- Kvinne og mann Bergstick pins
- 33pf kondensator - 2Nos, 100uf og 10uf cap.
- 680 ohm, 10K og 560ohm motstand
- LED i alle farger
- 1 Loddesett
- IC 7805
- 12V adapter
- Summer
- Koble ledninger
- Brettbrett
PIR-sensor:
PIR-sensoren er billig, med lav effekt og enkel å bruke bevegelsesdeteksjoner Sesnor. PIR-sensor mottar bare infrarøde stråler og sender ikke ut det er derfor den kalles passiv. PIR fornemmer enhver endring i varme, og hvis det er en forandring, gir den HØY ved UTGANG. PIR-sensor også referert til som Pyroelectric eller IR bevegelsessensor.
Hvert objekt avgir noe infrarødt når det varmes opp, i likhet med det menneskekroppen avgir IR på grunn av kroppsvarme. Infrarød skapt av hvert objekt på grunn av friksjonen mellom luft og objekt. Hovedkomponenten i PIR-sensoren er Pyroelectric sensor. Sammen med dette, BISS0001 ("Micro Power PIR Motion Detector IC"), noen motstander, kondensatorer og andre komponenter som ble brukt til å bygge PIR-sensor. BISS0001 IC tar inngangen fra sensoren og behandler for å gjøre utgangspinnen HØY eller LAV tilsvarende.
Lær mer om PIR-sensor her. Du kan også justere avstandssensitivitet og tidsvarighet som utgangspinnen vil være høy for når bevegelse oppdages. Den har to potensiometerknapper for å justere disse to parametrene.
Kretsdiagram
PIC-mikrokontroller:
For å programmere PIC-mikrokontrolleren for grensesnitt PIR, trenger vi en IDE (Integrated Development Environment), der programmeringen foregår. En kompilator der programmet vårt blir konvertert til lesbart MCU-format som heter HEX-filer. En IPE (Integrated Programming Environment), som brukes til å dumpe hex-filen vår i PIC MCU-ene våre.
IDE: MPLABX v3.35
IPE: MPLAB IPE v3.35
Kompilator: XC8
Microchip har gitt alle disse tre programvarene gratis. De kan lastes ned direkte fra deres offisielle side. Jeg har også gitt lenken for din bekvemmelighet. Når du er lastet ned, installer dem på datamaskinen din. Hvis du har problemer med å gjøre det, kan du se videoen som er gitt på slutten.
Å dumpe eller laste opp vår kode i PIC, vil vi trenge PICkit 3. Den PICkit tre programmerer / debugger er en enkel, billig i kretsen debugger som styres av en PC som kjører MPLAB IDE (v8.20 eller høyere) programvare på en Windows-plattform. Den PICkit 3 programmerer / feilsøkingsprogram er en integrert del av utviklingen ingeniør verktøysamling. I tillegg til dette trenger vi også annen maskinvare som Perf-kort, Loddestasjon, PIC IC-er, Crystal-oscillatorer, kondensatorer osv. Men vi vil legge dem til i listen vår når vi går gjennom veiledningene våre.
Vi programmerer PIC16F877A ved hjelp av ICSP-alternativet som er tilgjengelig i vår MCU.
Følg trinnene nedenfor for å brenne koden:
- Start MPLAB IPE.
- Koble den ene enden av PicKit 3 til PC-en og den andre enden til ICSP-pinnene på perf-kortet.
- Koble til PIC-enheten din ved å klikke på tilkoblingsknappen.
- Bla etter Blink HEX-filen og klikk på Program.
Hvis du ikke har brukt PIC Microcontroller, må du først gjennomgå veiledningene nedenfor for å lære hvordan du bruker og programmerer PIC:
- Komme i gang med PIC Microcontroller: Introduksjon til PIC og MPLABX
- Skrive ditt første program med PIC Microcontroller og sette opp konfigurasjonsbiter
- LED blinker med PIC-mikrokontroller
Kode og forklaring
Først må vi sette konfigurasjonsbitene i pic-mikrokontrolleren og deretter starte med ugyldig hovedfunksjon.
I koden nedenfor er 'XC.h' overskriftsfilen som inneholder alle de vennlige navnene på pinnene og periferiutstyret. Vi har også definert krystalloscillatorfrekvens, PIR og Buzzer pins-tilkobling under koden.
#inkludere
I ugyldig hoved () brukes ' TRISB = 0X00' til å instruere MCU om at PORTB- pinnene brukes som UTGANG, 'TRISC = 0Xff' brukes til å instruere MCU om at PORTB-pinnene brukes som INNGANG. Og 'PORTB = 0X00' brukes til å instruere MCU om å gjøre alle utgangene til RB3 lave.
TRISB = 0X00; TRISC = 0Xff; PORTB = 0X00; // Gjør all produksjon av RB3 LAV
I henhold til nedenstående kode, når PIR blir HØY, vil summeren HØY eller ellers forblir den AV.
mens (1) // Gå inn i Infinie While-sløyfen {if (PIR == 1) {Buzzer = 1; __forsink_ms (1000); // Vent} annet {Buzzer = 0; }}}
Komplett kode med en demonstrasjonsvideo er gitt på slutten av dette prosjektet.
Arbeid med PIR-sensor med PIC-mikrokontroller:
Dette prosjektet har ikke noe komplisert maskinvareoppsett, vi bruker igjen det samme PIC Microcontroller-kortet (som vist nedenfor) som vi har laget i LED blinkende veiledning. Bare koble PIR-sensormodulen til PIC-mikrokontrollerkortet i henhold til tilkoblingsskjemaet. Når du er ferdig med tilkoblingene, er det bare å dumpe koden ved hjelp av PicKit 3-programmereren som forklart i forrige opplæring og nyte utdataene dine.
Etter at programmet er lastet opp, er PIR-sensoren klar til å gi OUTPUT. Når et menneske eller et objekt som avgir IR kommer i området PIR, gir det HØYT til UTGANGEN. Og, basert på den utgangen, vil summeren fungere. Hvis PIR-utgangen er høy, blir lydinngangen høy og omvendt.
Du kan kontrollere avstanden til sensing og tidsforsinkelse ved å bruke to potensiometre festet på PIR-modulen. For å vite mer om PIR-sensor følger du lenken.