- Material krävs
- Kretsschema
- PIC-mikrokontroller:
- Kod och förklaring
- Arbeta med PIR-sensor med PIC Microcontroller:
PIR (passiv infraröd) eller rörelsesensor används för att upptäcka rörelse hos människokroppen eller föremål. Närhelst någon kommer inom PIR-sensorn, ger den hög vid sin utgångsstift. Vi har tidigare kopplat PIR med andra mikrokontroller:
- Arduino rörelsedetektor med PIR-sensor
- IOT-baserat Raspberry Pi Home Security System med e-postvarning
- Automatisk trappljus med AVR-mikrokontroller
Idag är det enkelt att ansluta PIR till PIC Microcontroller PIC16F877A. I den här kretsen, om vissa rörliga föremål kommer inom PIR-sensorns område, kommer summern att börja pipa.
Material krävs
- PicKit 3
- PIR-sensor.
- PIC16F877A IC
- 40 - IC-hållare
- Perf styrelse
- 20 MHz Crystal OSC
- Kvinnliga och manliga stift
- 33pf kondensator - 2Nos, 100uf och 10uf cap.
- 680 ohm, 10K och 560ohm motstånd
- LED i vilken färg som helst
- 1 Lödkit
- IC 7805
- 12V-adapter
- Summer
- Anslutande ledningar
- Bakbord
PIR-sensor:
PIR-sensorn är billig, låg effekt och enkel att använda rörelsedetektering Sesnor. PIR-sensorn tar bara emot infraröda strålar och avger inte det är därför det kallas passivt. PIR känner av någon förändring i värme, och om det finns en förändring ger den HÖG vid UTGÅNG. PIR-sensor kallas även Pyroelectric eller IR-rörelsesensor.
Varje objekt avger en viss mängd infrarött vid uppvärmning, liknande det som människokroppen avger IR på grund av kroppsvärme. Infraröd skapad av varje objekt på grund av friktionen mellan luft och objekt. Huvudkomponenten i PIR-sensorn är pyroelektrisk sensor. Tillsammans med detta, BISS0001 ("Micro Power PIR Motion Detector IC"), några motstånd, kondensatorer och andra komponenter som används för att bygga PIR-sensor. BISS0001 IC tar ingången från sensorn och bearbetar för att göra utgångsstiftet HÖG eller LÅG därefter.
Läs mer om PIR-sensor här. Du kan också justera avståndskänslighet och tidslängd under vilken utgångsstiftet blir högt när rörelse detekteras. Den har två potentiometerknappar för att justera dessa två parametrar.
Kretsschema
PIC-mikrokontroller:
För att programmera PIC-mikrokontrollern för gränssnitt för PIR behöver vi en IDE (Integrated Development Environment), där programmeringen sker. En kompilator, där vårt program konverteras till MCU-läsbar form som heter HEX-filer. En IPE (Integrated Programming Environment), som används för att dumpa vår hex-fil i våra PIC MCU.
IDE: MPLABX v3.35
IPE: MPLAB IPE v3.35
Kompilator: XC8
Microchip har gett alla dessa tre program gratis. De kan laddas ner direkt från deras officiella sida. Jag har också tillhandahållit länken för din bekvämlighet. När du väl har laddat ner installerar du dem på din dator. Om du har några problem att göra det kan du se videon som ges i slutet.
Att dumpa eller ladda upp vår kod i PIC, kommer vi att behöva PICkit 3. Den PICkit 3 programmerare / debugger är en enkel, billig in-circuit debugger som styrs av en dator som kör MPLAB IDE (v8.20 eller högre) programvara på en Windows-plattform. Den PICkit 3 programmerare / debugger är en integrerad del av utvecklingen ingenjörens verktygssvit. Utöver detta behöver vi också annan hårdvara som Perf-kort, Lödstation, PIC IC, Crystal-oscillatorer, kondensatorer etc. Men vi lägger till dem i vår lista när vi går igenom våra handledning.
Vi kommer att programmera vår PIC16F877A med hjälp av ICSP-alternativet som är tillgängligt i vår MCU.
Följ stegen nedan för att bränna koden:
- Starta MPLAB IPE.
- Anslut ena änden av din PicKit 3 till din dator och den andra änden till dina ICSP-stift på perf-kortet.
- Anslut till din PIC-enhet genom att klicka på anslutningsknappen.
- Bläddra efter Blink HEX-filen och klicka på Program.
Om du är nybörjare på PIC Microcontroller går du först igenom nedanstående självstudier för att lära dig hur du använder och programmerar PIC:
- Komma igång med PIC Microcontroller: Introduktion till PIC och MPLABX
- Skriva ditt första program med PIC Microcontroller och ställa in konfigurationsbitar
- LED blinkar med PIC-mikrokontroller
Kod och förklaring
Först måste vi ställa in konfigurationsbitarna i pic-mikrokontrollern och sedan börja med ogiltig huvudfunktion.
I nedanstående kod är 'XC.h' rubrikfilen som innehåller alla vänliga namn för stift och kringutrustning. Vi har också definierat kristalloscillatorfrekvens, PIR- och summerstiftanslutning i nedanstående kod.
#omfatta
I det ogiltiga huvudet () används ' TRISB = 0X00' för att instruera MCU att PORTB- stiften används som UTGÅNG, 'TRISC = 0Xff' används för att instruera MCU att PORTB-stiften används som INGÅNG. Och 'PORTB = 0X00' används för att instruera MCU att göra hela utgången för RB3 låg.
TRISB = 0X00; TRISC = 0Xff; PORTB = 0X00; // Gör all produktion av RB3 LOW
Enligt nedanstående kod, när PIR blir HÖG kommer summern att bli HÖG eller annars förblir den AV.
medan (1) // Gå in i Infinie While-slingan {if (PIR == 1) {Buzzer = 1; __fördröja_ms (1000); // Vänta} annat {Summer = 0; }}}
Komplett kod med en demo-video ges i slutet av detta projekt.
Arbeta med PIR-sensor med PIC Microcontroller:
Detta projekt har ingen komplicerad hårdvaruinstallation, vi använder återigen samma PIC Microcontroller-kort (som visas nedan) som vi har skapat i LED-blinkande handledning. Anslut bara PIR-sensormodulen till ditt PIC Microcontroller-kort enligt anslutningsdiagrammet. När du är klar med anslutningarna dumpar du bara koden med din PicKit 3-programmerare som förklarats i föregående handledning och njut av din produktion.
Efter uppladdning av programmet är PIR-sensorn redo att ge OUTPUT. Närhelst en människa eller ett objekt som avger IR kommer inom området PIR, ger det HÖGT till UTGÅNGEN. Och baserat på den utgången kommer summern att fungera. Om PIR-utgången är hög blir insignalen hög och vice versa.
Du kan styra avkänningsavståndet och tidsfördröjningen genom att använda två potentiometrar som är fixerade på PIR-modulen. Om du vill veta mer om PIR-sensorn följer du länken.