- Απαιτούμενο υλικό
- Διάγραμμα κυκλώματος
- Μικροελεγκτής PIC:
- Κωδικός και επεξήγηση
- Εργασία του αισθητήρα PIR με μικροελεγκτή PIC:
Το PIR (Passive Infrared) ή Motion Sensor χρησιμοποιείται για την ανίχνευση της κίνησης του κινούμενου ανθρώπινου σώματος ή αντικειμένων. Κάθε φορά που κάποιος έρχεται στην περιοχή του αισθητήρα PIR, δίνει υψηλό στον ακροδέκτη εξόδου του. Έχουμε προηγουμένως διασυνδέσει το PIR με άλλους μικροελεγκτές:
- Arduino Motion Detector χρησιμοποιώντας PIR Sensor
- Σύστημα ασφάλειας σπιτιού Raspberry Pi με IOT με ειδοποίηση μέσω email
- Αυτόματο φως σκάλας με μικροελεγκτή AVR
Σήμερα πρόκειται απλώς να συνδέσουμε το PIR με τον PIC Microcontroller PIC16F877A. Σε αυτό το κύκλωμα εάν κάποια κινούμενα αντικείμενα έρχονται στην περιοχή του αισθητήρα PIR, ο βομβητής θα αρχίσει να ηχεί.
Απαιτούμενο υλικό
- PicKit 3
- Αισθητήρας PIR.
- PIC16F877A IC
- 40 - Καρφίτσα IC
- Διοικητικό Συμβούλιο Perf
- 20 MHz Crystal OSC
- Γυναικείες και αρσενικές καρφίτσες Bergstick
- Πυκνωτής 33pf - 2Nos, 100uf και 10uf cap.
- Αντίσταση 680 ohm, 10K και 560ohm
- LED οποιουδήποτε χρώματος
- 1 σετ συγκόλλησης
- IC 7805
- Προσαρμογέας 12V
- Βομβητής
- Σύνδεση καλωδίων
- Ψωμί
Αισθητήρας PIR:
Ο αισθητήρας PIR είναι φθηνός, χαμηλής ισχύος και εύχρηστος Motion Detections Sesnor. Ο αισθητήρας PIR λαμβάνει μόνο υπέρυθρες ακτίνες, δεν εκπέμπει γι 'αυτό ονομάζεται παθητική. Το PIR αισθάνεται οποιαδήποτε αλλαγή στη θερμότητα και αν υπάρχει αλλαγή δίνει ΥΨΗΛΗ στο OUTPUT. Ο αισθητήρας PIR αναφέρεται επίσης ως πυροηλεκτρικός ή αισθητήρας κίνησης IR.
Κάθε αντικείμενο εκπέμπει μια ποσότητα υπέρυθρης ακτινοβολίας όταν θερμαίνεται, παρόμοιο με αυτό που το ανθρώπινο σώμα εκπέμπει υπερύθρων λόγω της θερμότητας του σώματος. Υπέρυθρες που δημιουργούνται από κάθε αντικείμενο λόγω της τριβής μεταξύ αέρα και αντικειμένου. Το κύριο συστατικό του αισθητήρα PIR είναι ο πυροηλεκτρικός αισθητήρας. Μαζί με αυτό, το BISS0001 ("Micro Power PIR Motion Detector IC"), ορισμένες αντιστάσεις, πυκνωτές και άλλα εξαρτήματα που χρησιμοποιούνται για την κατασκευή αισθητήρα PIR. Το BISS0001 IC λαμβάνει την είσοδο από τον αισθητήρα και κάνει επεξεργασία για να κάνει τον πείρο εξόδου ΥΨΗΛΟ ή ΧΑΜΗΛΟ αναλόγως.
Μάθετε περισσότερα για τον αισθητήρα PIR εδώ. Μπορείτε επίσης να προσαρμόσετε την ευαισθησία απόστασης και τη διάρκεια χρόνου για την οποία ο πείρος εξόδου θα είναι υψηλός μόλις ανιχνευθεί κίνηση. Διαθέτει δύο ποτενσιόμετρα για να ρυθμίσει αυτές τις δύο παραμέτρους.
Διάγραμμα κυκλώματος
Μικροελεγκτής PIC:
Για να προγραμματίσουμε τον μικροελεγκτή PIC για διασύνδεση PIR, θα χρειαστούμε ένα IDE (Ολοκληρωμένο Περιβάλλον Ανάπτυξης), όπου θα πραγματοποιείται ο προγραμματισμός. Ένας μεταγλωττιστής, όπου το πρόγραμμά μας μετατρέπεται σε μορφή αναγνώσιμη από MCU που ονομάζεται αρχεία HEX. Ένα IPE (Ολοκληρωμένο Περιβάλλον Προγραμματισμού), το οποίο χρησιμοποιείται για την απόρριψη του hex αρχείου μας στις PIC MCUs μας.
IDE: MPLABX v3.35
IPE: MPLAB IPE v3.35
Μεταγλωττιστής: XC8
Η Microchip έχει δώσει και τα τρία αυτά λογισμικά δωρεάν. Μπορούν να ληφθούν απευθείας από την επίσημη σελίδα τους. Παρέχω επίσης το σύνδεσμο για την εξυπηρέτησή σας. Μετά τη λήψη, εγκαταστήστε τα στον υπολογιστή σας. Εάν έχετε κάποιο πρόβλημα, μπορείτε να δείτε το βίντεο που δίνεται στο τέλος.
Για να πετάξουμε ή να ανεβάσουμε τον κωδικό μας στο PIC, θα χρειαζόμαστε το PICkit 3. Ο προγραμματιστής / εντοπιστής σφαλμάτων PICkit 3 είναι ένας απλός, χαμηλού κόστους εντοπιστής σφαλμάτων κυκλώματος που ελέγχεται από υπολογιστή με λογισμικό MPLAB IDE (v8.20 ή μεγαλύτερο) μια πλατφόρμα Windows. Ο προγραμματιστής / εντοπιστής σφαλμάτων PICkit 3 αποτελεί αναπόσπαστο μέρος της σουίτας εργαλείων του προγραμματιστή ανάπτυξης. Εκτός από αυτό θα χρειαστούμε και άλλο υλικό όπως Perf board, Soldering station, PIC ICs, Crystal ταλαντωτές, πυκνωτές κ.λπ. Αλλά θα τα προσθέσουμε στη λίστα μας καθώς προχωράμε στα μαθήματά μας.
Θα προγραμματίσουμε το PIC16F877A χρησιμοποιώντας την επιλογή ICSP που είναι διαθέσιμη στο MCU μας.
Για να εγγράψετε τον κώδικα, ακολουθήστε τα παρακάτω βήματα:
- Εκκινήστε το MPLAB IPE.
- Συνδέστε το ένα άκρο του PicKit 3 με τον υπολογιστή σας και το άλλο άκρο με τις καρφίτσες ICSP στην πλακέτα perf.
- Συνδεθείτε στη συσκευή PIC κάνοντας κλικ στο κουμπί σύνδεσης.
- Αναζητήστε το αρχείο Blink HEX και κάντε κλικ στο Πρόγραμμα.
Εάν είστε νέοι στο PIC Microcontroller, ακολουθήστε πρώτα τα παρακάτω σεμινάρια για να μάθετε πώς να χρησιμοποιείτε και να προγραμματίζετε το PIC:
- Ξεκινώντας με τον PIC Microcontroller: Εισαγωγή στα PIC και MPLABX
- Σύνταξη του πρώτου σας προγράμματος με μικροελεγκτή PIC και ρύθμιση bit διαμόρφωσης
- Αναβοσβήνει LED με μικροελεγκτή PIC
Κωδικός και επεξήγηση
Κατ 'αρχάς, πρέπει να ρυθμίσουμε τα bit διαμόρφωσης στον μικροελεγκτή pic και μετά να ξεκινήσουμε με την κενή κύρια λειτουργία.
Στον παρακάτω κώδικα, το "XC.h" είναι το αρχείο κεφαλίδας που περιέχει όλα τα φιλικά ονόματα για τις καρφίτσες και τα περιφερειακά. Επίσης, έχουμε καθορίσει τη συχνότητα κρυστάλλων ταλαντωτών, τη σύνδεση PIR και τις ακίδες Buzzer στον παρακάτω κώδικα.
#περιλαμβάνω
Στην κενή κενή (), το « TRISB = 0X00» χρησιμοποιείται για να καθοδηγήσει το MCU ότι οι ακίδες PORTB χρησιμοποιούνται ως OUTPUT, το «TRISC = 0Xff» χρησιμοποιείται για να καθοδηγήσει το MCU ότι οι ακίδες PORTB χρησιμοποιούνται ως INPUT. Και το "PORTB = 0X00" χρησιμοποιείται για να δώσει εντολή στο MCU να κάνει όλα τα ΕΞΟΔΑ του RB3 Low.
TRISB = 0Χ00; TRISC = 0Χff; PORTB = 0Χ00; // Κάντε όλη την έξοδο του RB3 LOW
Σύμφωνα με τον παρακάτω κωδικό, κάθε φορά που το PIR παίρνει ΥΨΗΛΟ, ο βομβητής θα πάρει ΥΨΗΛΟ ή αλλιώς θα παραμείνει ΑΝΕΝΕΡΓΟ.
while (1) // Μπείτε στο βρόχο Infinie While {if (PIR == 1) {Buzzer = 1; __delay_ms (1000); // Περιμένετε} άλλο {Buzzer = 0; }}}
Πλήρης κωδικός με ένα Demo Video δίνεται στο τέλος αυτού του έργου.
Εργασία του αισθητήρα PIR με μικροελεγκτή PIC:
Αυτό το έργο δεν έχει καμία περίπλοκη ρύθμιση υλικού, χρησιμοποιούμε ξανά την ίδια πλακέτα PIC Microcontroller (όπως φαίνεται παρακάτω) που έχουμε δημιουργήσει στο LED αναβοσβήνει Tutorial. Απλώς συνδέστε τη μονάδα αισθητήρα PIR με την πλακέτα μικροελεγκτή PIC σύμφωνα με το διάγραμμα σύνδεσης. Μόλις τελειώσετε με τις συνδέσεις, απλώς απορρίψτε τον κωδικό χρησιμοποιώντας τον προγραμματιστή PicKit 3, όπως εξηγείται στο προηγούμενο σεμινάριο και απολαύστε την έξοδο σας.
Μετά τη μεταφόρτωση του προγράμματος, ο αισθητήρας PIR είναι έτοιμος να δώσει OUTPUT. Οποτεδήποτε, ένας άνθρωπος ή ένα αντικείμενο που εκπέμπει IR έρχεται στην περιοχή του PIR, δίνει ΥΨΗΛΗ στην ΕΞΟΔΟΣ. Και, βάσει αυτής της εξόδου, ο βομβητής θα λειτουργεί. Εάν η έξοδος PIR είναι υψηλή, η είσοδος του βομβητή γίνεται υψηλή και αντίστροφα.
Μπορείτε να ελέγξετε την απόσταση της ανίχνευσης και την καθυστέρηση χρόνου χρησιμοποιώντας δύο ποτενσιόμετρα στερεωμένα στη μονάδα PIR. Για να μάθετε περισσότερα για τον αισθητήρα PIR ακολουθεί τον σύνδεσμο.