- Nødvendigt materiale
- Kredsløbsdiagram
- PIC-mikrocontroller:
- Kode og forklaring
- Arbejde med PIR-sensor med PIC-mikrocontroller:
PIR (passiv infrarød) eller bevægelsessensor bruges til at detektere bevægelse af bevægelige menneskelige legemer eller objekter. Når nogen kommer inden for rækkevidde af PIR-sensor, giver den High ved sin udgangsstift. Vi har tidligere interfacet PIR med andre mikrokontrollere:
- Arduino bevægelsesdetektor ved hjælp af PIR-sensor
- IOT-baseret Raspberry Pi Home Security System med e-mail-alarm
- Automatisk trappelys med AVR-mikrocontroller
I dag er vi enkle at interface PIR med PIC Microcontroller PIC16F877A. I dette kredsløb, hvis nogle bevægelige genstande kommer inden for området PIR-sensor, vil summeren bippe.
Nødvendigt materiale
- PicKit 3
- PIR-sensor.
- PIC16F877A IC
- 40 - IC-holder til pin
- Perf bord
- 20 MHz Crystal OSC
- Kvinde- og mandstifter
- 33pf kondensator - 2Nos, 100uf og 10uf cap.
- 680 ohm, 10K og 560ohm modstand
- LED i enhver farve
- 1 Loddesæt
- IC 7805
- 12V adapter
- Summer
- Tilslutning af ledninger
- Brødbræt
PIR-sensor:
PIR-sensor er billig, laveffektiv og nem at bruge Motion Detections Sesnor. PIR-sensor modtager kun infrarøde stråler og udsender ikke, derfor kaldes den passiv. PIR mærker enhver ændring i varme, og hvis der er en ændring, giver den HIGH ved OUTPUT. PIR-sensor også kaldet pyroelektrisk eller IR-bevægelsessensor.
Hver genstand udsender en vis mængde infrarød, når den opvarmes, svarende til den menneskelige krop udsender IR på grund af kropsvarme. Infrarød skabt af ethvert objekt på grund af friktionen mellem luft og objekt. Hovedkomponenten i PIR-sensoren er den pyroelektriske sensor. Sammen med dette, BISS0001 ("Micro Power PIR Motion Detector IC"), nogle modstande, kondensatorer og andre komponenter, der bruges til at bygge PIR-sensor. BISS0001 IC tager input fra sensoren og behandler for at gøre output pin HIGH eller LOW i overensstemmelse hermed.
Lær mere om PIR-sensor her. Du kan også justere afstandsfølsomhed og tidsvarighed, hvor udgangsstiften vil være høj, når bevægelse registreres. Den har to potentiometer drejeknapper til at justere disse to parametre.
Kredsløbsdiagram
PIC-mikrocontroller:
For at programmere PIC-mikrocontrolleren til grænseflade til PIR har vi brug for en IDE (Integrated Development Environment), hvor programmeringen finder sted. En kompilator, hvor vores program konverteres til MCU-læsbar form kaldet HEX-filer. Et IPE (integreret programmeringsmiljø), der bruges til at dumpe vores hex-fil i vores PIC MCU'er.
IDE: MPLABX v3.35
IPE: MPLAB IPE v3.35
Compiler: XC8
Microchip har givet alle disse tre software gratis. De kan downloades direkte fra deres officielle side. Jeg har også leveret linket for din bekvemmelighed. Når de er downloadet, skal du installere dem på din computer. Hvis du har problemer med at gøre det, kan du se den video, der er givet i slutningen.
For at dumpe eller uploade vores kode i PIC, har vi brug for PICkit 3. Den PICkit 3 programmør / debugger er en enkel, billig i kredsløb debugger, der styres af en pc med MPLAB IDE (v8.20 eller nyere) software på en Windows-platform. Den PICkit 3 programmør / debugger er en integreret del af udviklingen ingeniør værktøj suite. Ud over dette har vi også brug for anden hardware som Perf board, loddestation, PIC IC'er, krystaloscillatorer, kondensatorer osv. Men vi tilføjer dem til vores liste, når vi går videre gennem vores tutorials.
Vi programmerer vores PIC16F877A ved hjælp af ICSP-indstillingen, der er tilgængelig i vores MCU.
Følg nedenstående trin for at brænde koden:
- Start MPLAB IPE.
- Tilslut den ene ende af din PicKit 3 til din pc og den anden ende til dine ICSP-ben på perf-kortet.
- Opret forbindelse til din PIC-enhed ved at klikke på forbindelsesknappen.
- Gennemse Blink HEX-filen, og klik på Program.
Hvis du er ny på PIC Microcontroller, skal du først gennemgå nedenstående tutorials for at lære at bruge og programmere PIC:
- Kom godt i gang med PIC Microcontroller: Introduktion til PIC og MPLABX
- Skrivning af dit første program med PIC Microcontroller og opsætning af konfigurationsbits
- LED blinker med PIC Microcontroller
Kode og forklaring
Først skal vi indstille konfigurationsbitene i pic-mikrocontrolleren og derefter starte med ugyldig hovedfunktion.
I nedenstående kode er 'XC.h' headerfilen, der indeholder alle de venlige navne på stifter og perifert udstyr. Vi har også defineret krystaloscillatorfrekvens, PIR og Buzzer pins-forbindelse i nedenstående kode.
#omfatte
I det ugyldige hoved () bruges ' TRISB = 0X00' til at instruere MCU'en om, at PORTB- benene bruges som OUTPUT, 'TRISC = 0Xff' bruges til at instruere MCU'en om, at PORTB-benene bruges som INPUT. Og 'PORTB = 0X00' bruges til at instruere MCU'en om at gøre al OUTPUT af RB3 lav.
TRISB = 0X00; TRISC = 0Xff; PORTB = 0X00; // Lav al output af RB3 LAV
I henhold til nedenstående kode, når PIR bliver HØJ, bliver summeren HØJ, ellers forbliver den FRA.
mens (1) // Gå ind i Infinie While-sløjfen {if (PIR == 1) {Buzzer = 1; __forsink_ms (1000); // Vent} ellers {Buzzer = 0; }}}
Komplet kode med en demo-video gives i slutningen af dette projekt.
Arbejde med PIR-sensor med PIC-mikrocontroller:
Dette projekt har ingen kompliceret hardwareopsætning, vi bruger igen det samme PIC Microcontroller-kort (som vist nedenfor), som vi har oprettet i LED-blinkende vejledning. Forbind blot PIR-sensormodulet med dit PIC-mikrocontrollerkort i henhold til forbindelsesdiagrammet. Når du er færdig med forbindelserne, skal du blot dumpe koden ved hjælp af din PicKit 3-programmør som forklaret i forrige tutorial og nyd din output.
Efter upload af programmet er PIR-sensoren klar til at give OUTPUT. Når et menneske eller et objekt, der udsender IR, kommer inden for området PIR, giver det HØJT til UDGANGEN. Og baseret på dette output fungerer summeren. Hvis PIR-udgangen er høj, bliver indgangen høj og omvendt.
Du kan styre afstanden til måling og tidsforsinkelse ved hjælp af to potentiometre fastgjort på PIR-modulet. Hvis du vil vide mere om PIR-sensor, følger du linket.