- Απαιτούμενα στοιχεία
- Διάγραμμα κυκλώματος για ανιχνευτή κίνησης με βάση τον αισθητήρα Raspberry Pi και PIR
- Κωδικός Python για Raspberry Pi:
Τα συστήματα ασφαλείας διαδραματίζουν σημαντικό ρόλο στην καθημερινή μας ζωή και εκεί μπορούμε να βρούμε πολλούς διαφορετικούς τύπους συστημάτων ασφαλείας με διαφορετικά είδη τεχνολογιών και με διαφορετικό εύρος τιμών. Όντας ένας ηλεκτρονικός ενθουσιώδης, μπορείτε να δημιουργήσετε ένα απλό σύστημα ασφαλείας, ξοδεύοντας λίγα δολάρια και λίγο ελεύθερο χρόνο. Εδώ σε αυτό το άρθρο μοιράζομαι έναν οδηγό DIY για να κάνω έναν απλό συναγερμό ανιχνευτή κίνησης με βάση τον αισθητήρα Raspberry pi και PIR, ο οποίος θα ενεργοποιήσει τον βομβητή όταν ο αισθητήρας PIR ανιχνεύει οποιαδήποτε ανθρώπινη κίνηση στην περιοχή. Καλύψαμε επίσης ένα απλό κύκλωμα ανιχνευτή κίνησης με βάση τον αισθητήρα PIR σε ένα από τα προηγούμενα άρθρα μας όπου καλύψαμε λεπτομερώς τη λειτουργία του αισθητήρα PIR.
Απαιτούμενα στοιχεία
- Raspberry Pi 3 (οποιοδήποτε μοντέλο)
- Αισθητήρας PIR
- Βομβητής
- Ψωμί
- Σύνδεση καλωδίων
Λειτουργία αισθητήρα PIR
Ο αισθητήρας παθητικής υπέρυθρης ακτινοβολίας (PIR) ονομάζεται παθητικός επειδή δέχεται υπέρυθρες και όχι εκπομπές. Βασικά ανιχνεύει οποιαδήποτε αλλαγή στη θερμότητα, και όποτε εντοπίζει οποιαδήποτε αλλαγή, το PIN εξόδου του γίνεται ΥΨΗΛΟ. Αναφέρονται επίσης ως αισθητήρες κίνησης Πυροηλεκτρικών ή IR.
Εδώ πρέπει να σημειώσουμε ότι κάθε αντικείμενο εκπέμπει κάποια ποσότητα υπερύθρων όταν θερμαίνεται. Ο άνθρωπος εκπέμπει επίσης υπέρυθρες λόγω της θερμότητας του σώματος. Οι αισθητήρες PIR μπορούν να ανιχνεύσουν μικρές ποσότητες παραλλαγών στις υπέρυθρες ακτίνες. Κάθε φορά που ένα αντικείμενο διέρχεται από το εύρος του αισθητήρα, παράγει υπέρυθρες λόγω της τριβής μεταξύ αέρα και αντικειμένου και πιάνεται από το PIR.
Το κύριο συστατικό του αισθητήρα PIR είναι ο πυροηλεκτρικός αισθητήρας που φαίνεται στην εικόνα (ορθογώνιος κρύσταλλος πίσω από το πλαστικό καπάκι). Μαζί με αυτό, το BISS0001 ("Micro Power PIR Motion Detector IC"), ορισμένες αντιστάσεις, πυκνωτές και άλλα εξαρτήματα που χρησιμοποιούνται για την κατασκευή αισθητήρα PIR. Το BISS0001 IC λαμβάνει την είσοδο από τον αισθητήρα και κάνει επεξεργασία για να κάνει τον πείρο εξόδου ΥΨΗΛΟ ή ΧΑΜΗΛΟ αναλόγως.
Ο πυροηλεκτρικός αισθητήρας χωρίζεται σε δύο μισά, όταν δεν υπάρχει κίνηση, και τα δύο μισά παραμένουν στην ίδια κατάσταση, σημαίνει και τα δύο αισθάνονται το ίδιο επίπεδο υπερύθρων. Μόλις κάποιος μπαίνει στο πρώτο ημίχρονο, η υπέρυθρη στάθμη του μισού γίνεται μεγαλύτερη από την άλλη, και αυτό προκαλεί τα PIRs να αντιδράσουν και να κάνουν τον πείρο εξόδου υψηλό.
Ο πυροηλεκτρικός αισθητήρας καλύπτεται από ένα πλαστικό καπάκι, το οποίο διαθέτει σειρά πολλών φακών Fresnel. Αυτοί οι φακοί είναι καμπυλωμένοι με τέτοιο τρόπο ώστε ο αισθητήρας να μπορεί να καλύπτει ένα ευρύ φάσμα.
Διάγραμμα κυκλώματος για ανιχνευτή κίνησης με βάση τον αισθητήρα Raspberry Pi και PIR
Όπως φαίνεται στο παραπάνω σχηματικό διάγραμμα για τον ανιχνευτή κίνησης με βάση τον αισθητήρα Raspberry Pi και PIR, ο θετικός πείρος του αισθητήρα PIR συνδέεται με τον πείρο 4 (5v) και ο πείρος γείωσης του αισθητήρα PIR συνδέεται με τον πείρο 6 (Γείωση) του Raspberry Pi (Μπορείτε να βρείτε εδώ το διάγραμμα καρφιτσών του Raspberry Pi). Ο πείρος εξόδου του αισθητήρα PIR συνδέεται με το GPIO 23 του Raspberry pi που χρησιμοποιείται για την είσοδο στο Raspberry Pi. Ο ακροδέκτης GPIO 24 που δηλώνεται εδώ για έξοδο συνδέεται με θετικό του βομβητή και η γείωση του βομβητή συνδέεται με τη γείωση (ακίδα 6) του βατόμουρου
Κωδικός Python για Raspberry Pi:
Ο κωδικός Python για αυτόν τον ανιχνευτή κίνησης που βασίζεται στον αισθητήρα σμέουρων pi και PIR είναι αρκετά απλός και μπορεί να γίνει κατανοητός εύκολα με τα σχόλια ενσωματωμένα στην παρακάτω ενότητα κώδικα. Δήλωσα τον ακροδέκτη GPIO 23 και 24 ως ακίδες εισόδου και εξόδου.
ενώ True: if GPIO.input (23): # Εάν υπάρχει κίνηση, ο αισθητήρας PIR δίνει είσοδο στο GPIO23 GPIO.output (24, True) #Output που δίνεται στο Buzzer μέσω GPIO24 time.sleep (1) #Buzzer ενεργοποιείται για 1 δευτερόλεπτο GPIO.output (24, False)
Ο βρόχος «while» χρησιμοποιείται ως «True», ώστε τα περιεχόμενα του βρόχου να εκτελούνται πάντα. εάν GPIO.input (23): η δήλωση ανιχνεύει εάν ο ακροδέκτης GPIO 23 είναι υψηλός, και εάν ισχύει το ίδιο, καθιστά το PIN εξόδου 24 υψηλό. Η συνάρτηση time.sleep (secs) χρησιμοποιείται για παύση του προγράμματος σε python για συγκεκριμένο χρόνο όπου το 'secs' είναι ο χρόνος σε δευτερόλεπτα. Εδώ λοιπόν το παύσαμε για 1 δευτερόλεπτο. Στην επόμενη γραμμή κάναμε την έξοδο στις 24 και ψευδείς, έτσι βομβητής σταματά έως ότου ο βρόχος αρχίζει την επόμενη επανάληψη, όπως Ενώ βρόχος βρίσκεται πάντα αλήθεια, χωρίς καμία προϋπόθεση.