- Materiale richiesto
- Schema elettrico
- Microcontrollore PIC:
- Codice e spiegazione
- Funzionamento del sensore PIR con microcontrollore PIC:
PIR (Passive Infrared) o Motion Sensor viene utilizzato per rilevare il movimento del corpo umano o degli oggetti in movimento. Ogni volta che qualcuno entra nel raggio del sensore PIR, dà High al suo pin di uscita. Abbiamo precedentemente interfacciato PIR con altri microcontrollori:
- Rilevatore di movimento Arduino con sensore PIR
- Sistema di sicurezza domestica Raspberry Pi basato su IOT con avviso e-mail
- Luce scala automatica con microcontrollore AVR
Oggi potremo semplicemente interfacciare PIR con il microcontrollore PIC PIC16F877A. In questo circuito se alcuni oggetti in movimento rientrano nel raggio del sensore PIR, il cicalino inizierà a suonare.
Materiale richiesto
- PicKit 3
- Sensore PIR.
- PIC16F877A IC
- 40 - Porta IC pin
- Scheda Perf
- OSC in cristallo da 20 MHz
- Perni Bergstick femmina e maschio
- Condensatore 33pf - 2Nos, 100uf e 10uf cap.
- Resistore da 680 ohm, 10K e 560ohm
- LED di qualsiasi colore
- 1 kit di saldatura
- IC 7805
- Adattatore 12V
- Cicalino
- Cavi di collegamento
- Breadboard
Sensore PIR:
Il sensore PIR è economico, a bassa potenza e facile da usare Motion Detection Sesnor. Il sensore PIR riceve solo raggi infrarossi, non emette, ecco perché si chiama passivo. Il PIR rileva qualsiasi cambiamento di calore e se c'è un cambiamento dà HIGH in OUTPUT. Sensore PIR noto anche come sensore di movimento piroelettrico o IR.
Ogni oggetto emette una certa quantità di infrarossi quando riscaldato, simile a quello che il corpo umano emette IR a causa del calore corporeo. Infrarossi creati da ogni oggetto a causa dell'attrito tra aria e oggetto. Il componente principale del sensore PIR è il sensore piroelettrico. Insieme a questo, BISS0001 ("Micro Power PIR Motion Detector IC"), alcune resistenze, condensatori e altri componenti utilizzati per costruire il sensore PIR. BISS0001 IC prende l'input dal sensore ed esegue l'elaborazione per rendere il pin di uscita ALTO o BASSO di conseguenza.
Scopri di più sul sensore PIR qui. È inoltre possibile regolare la sensibilità alla distanza e la durata del tempo per il quale il pin di uscita sarà alto una volta rilevato il movimento. Ha due potenziometri per regolare questi due parametri.
Schema elettrico
Microcontrollore PIC:
Per poter programmare il microcontrollore PIC per l'interfacciamento PIR, avremo bisogno di un IDE (Integrated Development Environment), dove avviene la programmazione. Un compilatore, in cui il nostro programma viene convertito in un formato leggibile MCU chiamato file HEX. Un IPE (Integrated Programming Environment), che viene utilizzato per eseguire il dump del nostro file esadecimale nei nostri MCU PIC.
IDE: MPLABX v3.35
IPE: MPLAB IPE v3.35
Compilatore: XC8
Microchip ha fornito gratuitamente tutti e tre questi software. Possono essere scaricati direttamente dalla loro pagina ufficiale. Ho anche fornito il link per tua comodità. Una volta scaricati, installali sul tuo computer. In caso di problemi, è possibile visualizzare il video fornito alla fine.
Per scaricare o caricare il nostro codice in PIC, avremo bisogno di PICkit 3. Il programmatore / debugger PICkit 3 è un semplice debugger in-circuit a basso costo controllato da un PC che esegue il software MPLAB IDE (v8.20 o superiore) su una piattaforma Windows. Il programmatore / debugger PICkit 3 è parte integrante della suite di strumenti dell'ingegnere di sviluppo. Oltre a questo avremo bisogno anche di altro hardware come la scheda Perf, la stazione di saldatura, i circuiti integrati PIC, gli oscillatori a cristallo, i condensatori ecc. Ma li aggiungeremo alla nostra lista man mano che procediamo nei nostri tutorial.
Programmeremo il nostro PIC16F877A utilizzando l'opzione ICSP disponibile nel nostro MCU.
Per masterizzare il codice, segui i passaggi seguenti:
- Avvia MPLAB IPE.
- Collega un'estremità del tuo PicKit 3 al tuo PC e l'altra estremità ai tuoi pin ICSP sulla scheda perf.
- Connettiti al tuo dispositivo PIC facendo clic sul pulsante di connessione.
- Cerca il file Blink HEX e fai clic su Programma.
Se non conosci il microcontrollore PIC, segui prima i tutorial di seguito per imparare come utilizzare e programmare PIC:
- Iniziare con PIC Microcontroller: Introduzione a PIC e MPLABX
- Scrittura del primo programma con microcontrollore PIC e impostazione dei bit di configurazione
- LED lampeggiante con microcontrollore PIC
Codice e spiegazione
Per prima cosa, dobbiamo impostare i bit di configurazione nel microcontrollore pic e quindi iniziare con la funzione void main .
Nel codice seguente, "XC.h" è il file di intestazione che contiene tutti i nomi descrittivi per i pin e le periferiche. Inoltre abbiamo definito la frequenza dell'oscillatore a cristallo, la connessione dei pin PIR e Buzzer nel codice sottostante.
#includere
In void main (), " TRISB = 0X00" viene utilizzato per indicare all'MCU che i pin PORTB vengono utilizzati come OUTPUT, "TRISC = 0Xff" viene utilizzato per indicare all'MCU che i pin PORTB vengono utilizzati come INPUT. E 'PORTB = 0X00' viene utilizzato per istruire l'MCU a fare tutti gli OUTPUT di RB3 Low.
TRISB = 0X00; TRISC = 0Xff; PORTB = 0X00; // Rende tutto l'output di RB3 LOW
Come da codice sotto, ogni volta che il PIR diventa ALTO il cicalino diventerà ALTO oppure rimarrà spento.
while (1) // Entra nel ciclo Infinie While {if (PIR == 1) {Buzzer = 1; __delay_ms (1000); // Wait} else {Buzzer = 0; }}}
Alla fine del progetto viene fornito il codice completo con un video dimostrativo.
Funzionamento del sensore PIR con microcontrollore PIC:
Questo progetto non ha alcuna configurazione hardware complicata, stiamo ancora usando la stessa scheda microcontrollore PIC (come mostrato sotto) che abbiamo creato nel Tutorial lampeggiante LED. Basta collegare il modulo sensore PIR con la scheda microcontrollore PIC secondo lo schema di collegamento. Una volta che hai finito con le connessioni, scarica semplicemente il codice usando il tuo programmatore PicKit 3 come spiegato nel tutorial precedente e goditi il tuo output.
Dopo aver caricato il programma, il sensore PIR è pronto per fornire l'USCITA. Ogni volta che un essere umano o un oggetto che emette IR rientra nella gamma di PIR, dà ALTO all'USCITA. E, in base a tale uscita, il cicalino funzionerà. Se l'uscita PIR è alta, l'ingresso del buzzer diventa alto e viceversa.
È possibile controllare la distanza di rilevamento e il ritardo utilizzando due potenziometri fissati sul modulo PIR. Per saperne di più sul sensore PIR segui il link.