- Material requerit
- Esquema de connexions
- Microcontrolador PIC:
- Codi i explicació
- Funcionament del sensor PIR amb microcontrolador PIC:
El PIR (Passive Infrared) o sensor de moviment s’utilitza per detectar el moviment del cos humà o objectes en moviment. Sempre que algú arriba a la gamma de sensors PIR, dóna un alt al pin de sortida. Anteriorment hem interficat PIR amb altres microcontroladors:
- Detector de moviment Arduino mitjançant sensor PIR
- Sistema de seguretat domèstic Raspberry Pi basat en IOT amb alerta per correu electrònic
- Llum automàtic d’escales amb microcontrolador AVR
Avui farem una interfície PIR senzilla amb el microcontrolador PIC PIC16F877A. En aquest circuit, si alguns objectes en moviment es troben en el rang del sensor PIR, el brunzidor començarà a sonar.
Material requerit
- PicKit 3
- Sensor PIR.
- PIC16F877A IC
- 40 - Suport IC de pin
- Tauler de perf
- 20 MHz Crystal OSC
- Pines Bergstick femella i home
- Capacitor de 33pf: tap de 2Nos, 100uf i 10uf.
- Resistència de 680 ohm, 10K i 560ohm
- LED de qualsevol color
- 1 kit de soldadura
- IC 7805
- Adaptador de 12V
- Zumbador
- Connexió de cables
- Taula de pa
Sensor PIR:
El sensor PIR és barat, de baixa potència i fàcil d'utilitzar Motion Detections Sesnor. El sensor PIR només rep rajos infrarojos, no emet per això es diu passiu. PIR detecta qualsevol canvi de calor i, si hi ha un canvi, dóna ALTA a la SORTIDA. El sensor PIR també es coneix com a sensor de moviment piroelèctric o IR.

Tots els objectes emeten una certa quantitat d'infrarojos quan s'escalfen, de manera similar a la que el cos humà emet IR a causa de la calor corporal. Infraroig creat per tots els objectes a causa de la fricció entre l'aire i l'objecte. El component principal del sensor PIR és el sensor piroelèctric. Juntament amb això, BISS0001 ("Micro Power PIR Motion Detector IC"), algunes resistències, condensadors i altres components utilitzats per construir el sensor PIR. BISS0001 IC pren l'entrada del sensor i fa el processament per fer que el pin de sortida sigui ALT o BAIX en conseqüència.
Obteniu més informació sobre el sensor PIR aquí. També podeu ajustar la sensibilitat a la distància i la durada del temps durant les quals el pin de sortida serà elevat un cop detectat el moviment. Disposa de dos botons de potenciòmetre per ajustar aquests dos paràmetres.
Esquema de connexions

Microcontrolador PIC:
Per programar el microcontrolador PIC per a la interfície PIR, necessitarem un IDE (Integrated Development Environment), on es desenvolupi la programació. Un compilador, on el nostre programa es converteix en un format llegible per MCU anomenat fitxers HEX. Un IPE (entorn de programació integrat), que s’utilitza per bolcar el fitxer hexadecimal als nostres MCU PIC.
IDE: MPLABX v3.35
IPE: MPLAB IPE v3.35
Compilador: XC8
Microchip ha donat tots aquests tres programes de forma gratuïta. Es poden descarregar directament des de la seva pàgina oficial. També he proporcionat l'enllaç per a la vostra comoditat. Un cop descarregats, instal·leu-los al vostre ordinador. Si teniu algun problema per fer-ho, podeu veure el vídeo donat al final.
Per bolcar o penjar el nostre codi a PIC, necessitarem PICkit 3. El programador / depurador PICkit 3 és un depurador senzill de baix cost en circuit que està controlat per un PC que executa el programari MPLAB IDE (v8.20 o superior) a una plataforma Windows. El programador / depurador PICkit 3 és una part integral del conjunt d’eines de l’enginyer de desenvolupament. A més d’això, també necessitarem un altre maquinari com ara la placa Perf, estació de soldadura, circuits integrats PIC, oscil·ladors Crystal, condensadors, etc. Però els afegirem a la nostra llista a mesura que avancem en els nostres tutorials.
Programarem el nostre PIC16F877A mitjançant l’opció ICSP disponible a la nostra MCU.
Per gravar el codi, seguiu els passos següents:
- Inicieu el MPLAB IPE.
- Connecteu un extrem del PicKit 3 al vostre PC i un altre extrem als pins ICSP del tauler de perf.
- Connecteu-vos al dispositiu PIC fent clic al botó de connexió.
- Cerqueu el fitxer Blink HEX i feu clic a Programa.
Si no coneixeu el microcontrolador PIC, primer aneu a continuació amb els tutorials següents per aprendre a utilitzar i programar PIC:
- Introducció al microcontrolador PIC: Introducció a PIC i MPLABX
- Escrivint el vostre primer programa amb microcontrolador PIC i configurant bits de configuració
- LED intermitent amb microcontrolador PIC
Codi i explicació
Primer, hem d’establir els bits de configuració al microcontrolador pic i després començar amb la funció principal void .
Al codi següent, "XC.h" és el fitxer de capçalera que conté tots els noms amistosos dels pins i dels perifèrics. També hem definit la freqüència de l'oscil·lador de cristall, la connexió PIR i els pins de buzzer al codi següent.
#incloure
Al void main (), " TRISB = 0X00" s'utilitza per indicar a la MCU que els pins PORTB s'utilitzen com a SORTIDA, "TRISC = 0Xff" s'utilitza per indicar a la MCU que els pins PORTB s'utilitzen com a INPUT. I "PORTB = 0X00" s'utilitza per indicar a la MCU que faci que tota la SORTIDA de RB3 sigui baixa.
TRISB = 0X00; TRISC = 0Xff; PORTB = 0X00; // Feu BAIX tota la sortida de RB3
Segons el codi següent, cada vegada que el PIR es posa ALT, el brunzidor es posarà ALT o, en cas contrari, quedarà DESACTIVAT.
while (1) // Accediu al bucle Infinie While {if (PIR == 1) {Buzzer = 1; __delay_ms (1000); // Espera} else {Buzzer = 0; }}}
El codi complet amb un vídeo de demostració es dóna al final d’aquest projecte.
Funcionament del sensor PIR amb microcontrolador PIC:
Aquest projecte no té cap configuració de maquinari complicada, tornem a utilitzar la mateixa placa de microcontrolador PIC (com es mostra a continuació) que hem creat al Tutorial de parpelleig de LED. Simplement connecteu el mòdul del sensor PIR amb la vostra placa de microcontrolador PIC segons el diagrama de connexió. Un cop hàgiu acabat les connexions, només heu de bolcar el codi mitjançant el programador PicKit 3 tal com s'explica al tutorial anterior i gaudiu de la vostra sortida.

Després de carregar el programa, el sensor PIR està preparat per donar SORTIDA. Sempre que un ésser humà o objecte que emet IR arriba en el rang de PIR, dóna ALTA a la SORTIDA. I, en funció d'aquesta sortida, funcionarà el brunzidor. Si la sortida PIR és alta, l’entrada de zumbador augmenta i viceversa.

Podeu controlar la distància de detecció i el retard de temps mitjançant dos potenciòmetres fixats al mòdul PIR. Per obtenir més informació sobre el sensor PIR, seguiu l'enllaç.
