- Απαιτούμενα συστατικά:
- Διάγραμμα κυκλώματος και επεξήγηση:
- Επεξήγηση εργασίας:
- Επεξήγηση προγραμματισμού:
Η ασφάλεια υπήρξε πάντα μια μεγάλη ανησυχία για όλους μας και υπάρχουν πολλά Hi-tech και βασισμένα στο IoT σύστημα ασφάλειας και παρακολούθησης που διατίθενται στην αγορά. Το Intruder ή το Burglar Alarm είναι ένα από τα κλασικά και δημοφιλή έργα μεταξύ των μαθητών και των χόμπι της Ηλεκτρονικής. Έχουμε επίσης δημιουργήσει πολλούς συναγερμούς διαρρήξεων με βάση διάφορες τεχνολογίες:
- Κύκλωμα συναγερμού ασφαλείας λέιζερ
- Συναγερμός ασφαλείας βάσει IR
- Burglar Alarm χρησιμοποιώντας PIR
- Σύστημα ασφαλείας με βάση το GSM
Σήμερα προσθέτουμε έναν ακόμη συναγερμό ασφαλείας στη λίστα μας που βασίζεται στον υπερηχητικό αισθητήρα. Αυτός ο συναγερμός Arduino Controlled Door μπορεί να εγκατασταθεί κοντά στην πόρτα για να ανιχνεύσει την παρουσία κανενός στην πόρτα. Κάθε φορά που κάποιος έρχεται στην περιοχή του αισθητήρα υπερήχων, ο βομβητής ξεκινά να ηχεί. Μπορείτε να ρυθμίσετε το εύρος ανίχνευσης αισθητήρα ανάλογα με την πόρτα σας. Αυτό το σύστημα μπορεί επίσης να εξυπηρετήσει το σκοπό του Motion Detector.
Απαιτούμενα συστατικά:
- Ψωμί
- Αισθητήρας υπερήχων
- Βομβητής
- Arduino Mega (οποιοδήποτε μοντέλο)
- Καλώδια αλτών
- Καλώδιο USB για προσαρμογέα Arduino ή 12v, 1A.
Μονάδα υπερήχων αισθητήρα:
Ο υπερηχητικός αισθητήρας HC-SR04 χρησιμοποιείται εδώ για να ανιχνεύσει την παρουσία οποιουδήποτε ατόμου στην πόρτα. Η μονάδα αισθητήρα αποτελείται από πομπό υπερήχων, δέκτη και κύκλωμα ελέγχου. Ο υπερηχητικός αισθητήρας αποτελείται από δύο κυκλικά μάτια από τα οποία το ένα χρησιμοποιείται για τη μετάδοση του υπερηχητικού κύματος και το άλλο για τη λήψη του.
Μπορούμε να υπολογίσουμε την απόσταση του αντικειμένου με βάση το χρόνο που χρειάζεται το υπερηχητικό κύμα για να επιστρέψουμε στον αισθητήρα. Εφόσον είναι γνωστή η ώρα και η ταχύτητα του ήχου, μπορούμε να υπολογίσουμε την απόσταση με τους ακόλουθους τύπους.
- Απόσταση = (Χρόνος x Ταχύτητα ήχου) / 2
Η τιμή διαιρείται με δύο αφού το κύμα κινείται προς τα εμπρός και προς τα πίσω καλύπτοντας την ίδια απόσταση. Αλλά σε αυτό το έργο χρησιμοποιήσαμε τη βιβλιοθήκη NewPing.h και αυτή η βιβλιοθήκη φροντίζει αυτόν τον υπολογισμό και απλώς πρέπει να χρησιμοποιήσουμε μερικές βασικές λέξεις, εξηγείται στην ενότητα προγραμματισμού παρακάτω.
Ελέγξτε το παρακάτω έργο για να μετρήσετε την απόσταση οποιουδήποτε αντικειμένου και να κατανοήσετε σωστά τον υπερηχητικό αισθητήρα που λειτουργεί:
- Μέτρηση απόστασης βάσει Arduino με χρήση αισθητήρα υπερήχων
- Μέτρηση απόστασης με χρήση μικροελεγκτή HC-SR04 και AVR
Διάγραμμα κυκλώματος και επεξήγηση:
Οι συνδέσεις κυκλώματος για αυτόν τον υπερηχητικό συναγερμό είναι πολύ απλές. Ο πείρος σκανδάλης του αισθητήρα υπερήχων συνδέεται με τον πείρο αρ. 12 του Arduino και Echo pin του αισθητήρα συνδέεται με το pin no 11 του Arduino. Το Vcc του αισθητήρα συνδέεται με 5V pin του Arduino και το GND του αισθητήρα είναι συνδεδεμένο στο GND του Arduino. Ένα pin του βομβητή συνδέεται με GND του Arduino και το άλλο pin είναι συνδεδεμένο με 8 ου pin του Arduino.
Επεξήγηση εργασίας:
Η εργασία αυτού του συναγερμού πόρτας Arduino είναι πολύ εύκολη. Κάθε φορά που κάποιος έρχεται στη διαδρομή / εύρος του υπερηχητικού αισθητήρα, ο μικροελεγκτής ανιχνεύει την απόσταση του αντικειμένου από τον αισθητήρα και αν το αντικείμενο βρίσκεται στο καθορισμένο εύρος, στέλνει το σήμα υψηλού στο βομβητή και ο βομβητής αρχίζει να ηχεί.
Μπορείτε να ελέγξετε το κύκλωμα βάζοντας οποιοδήποτε πράγμα μπροστά από τον αισθητήρα εντός του εύρους, ελέγξτε το βίντεο για επίδειξη. Αυτή η λειτουργία του αισθητήρα υπερήχων μπορεί επίσης να χρησιμοποιηθεί για την κατασκευή ρομπότ αποφυγής εμποδίων.
Επεξήγηση προγραμματισμού:
Σε αυτό το έργο χρησιμοποιήσαμε τη βιβλιοθήκη NewPing.h για αισθητήρα υπερήχων, που αναπτύχθηκε από τον Tim Eckel. Αν και μπορούμε να χρησιμοποιήσουμε τον αισθητήρα υπερήχων χωρίς αυτήν τη βιβλιοθήκη, όπως κάναμε στο προηγούμενο έργο μας, αλλά αυτή η βιβλιοθήκη παρέχει πολλές καλές δυνατότητες για τον αισθητήρα υπερήχων και γίνεται εύκολο να κωδικοποιηθεί ο αισθητήρας υπερήχων χρησιμοποιώντας αυτήν τη βιβλιοθήκη. Μπορούμε να χρησιμοποιήσουμε εύκολα τις λειτουργίες του αισθητήρα υπερήχων χρησιμοποιώντας αυτήν τη βιβλιοθήκη χωρίς να γράψουμε πάρα πολλές γραμμές κώδικα. Είναι σαν άλλες βιβλιοθήκες που χρησιμοποιούνται για τον χειρισμό της πολυπλοκότητας σε χαμηλότερο επίπεδο.
#περιλαμβάνω
Μπορείτε να ελέγξετε όλες τις δυνατότητες, τις χρήσεις και τα δείγματα κωδικών αυτής της βιβλιοθήκης ακολουθώντας αυτόν τον σύνδεσμο. Ελέγξτε επίσης την επίσημη σελίδα Arduino αυτής της βιβλιοθήκης.
Μπορείτε να κατεβάσετε την τελευταία έκδοση της Βιβλιοθήκης από τον παραπάνω σύνδεσμο. Επιπλέον, έχουμε κατεβάσει τον παρακάτω σύνδεσμο Βιβλιοθήκη, ο οποίος τροποποιείται για το Teensy:
github.com/PaulStoffregen/NewPing
Πρέπει πρώτα να δοκιμάσετε τον αισθητήρα κάνοντας Παράδειγμα Κωδικών που δίνεται στη σελίδα του. Χρησιμοποιήσαμε επίσης τους Κωδικούς Παραδείγματος για το έργο μας και τους τροποποιήσαμε σύμφωνα με το Έργο Door Alarm.
Ο πείρος σκανδάλης συνδέεται στον πείρο 12 του Arduino και ο πείρος Echo συνδέεται με τον πείρο 11 του Arduino. MAX_DISTANCE σημαίνει ότι η απόσταση μέχρι την οποία ο αισθητήρας μπορεί να ανιχνεύσει το εμπόδιο είναι 500 cm ή 5m.
# καθορισμός TRIGGER_PIN 12 # καθορισμός ECHO_PIN 11 # καθορισμός MAX_DISTANCE 500
Η παρακάτω γραμμή αναφέρει τον ρυθμό Baud με τον οποίο αποστέλλονται τα δεδομένα στη σειριακή θύρα Arduino από αισθητήρα υπερήχων.
Serial.begin (115200);
Ο ακροδέκτης αριθ. 10 έχει διαμορφωθεί ως ακίδα εξόδου και είναι συνδεδεμένος με βομβητή Ένας άλλος ακροδέκτης του βομβητή συνδέεται με το GND του Arduino.
pinMode (10, ΕΞΟΔΟΣ);
Στη λειτουργία void echoCheck () , το sonar.ping_result / US_ROUNDTRIP_CM χρησιμοποιείται για τον υπολογισμό της απόστασης του εμποδίου από τον αισθητήρα. Η σημαία χρησιμοποιείται για την εκτέλεση του βομβητή όταν το εμπόδιο βρίσκεται σε απόσταση 50 cm από τον αισθητήρα υπερήχων. Μπορείτε να αλλάξετε αυτήν την «απόσταση» ανάλογα με τις απαιτήσεις σας ή το μέγεθος της πόρτας σας.
if ((sonar.ping_result / US_ROUNDTRIP_CM) <50) flag = 1; αλλιώς εάν ((sonar.ping_result / US_ROUNDTRIP_CM)> 50) flag = 0;
Ο Κώδικας σχολιάζεται πολύ καλά από τον Συγγραφέα της βιβλιοθήκης NewPing.h και μπορεί εύκολα να γίνει κατανοητός. Επιπλέον, μπορείτε να ελέγξετε την ίδια τη σελίδα της βιβλιοθήκης για να την κατανοήσετε καλύτερα και να χρησιμοποιήσετε αυτήν τη βιβλιοθήκη για να κάνετε σύνθετο έργο χρησιμοποιώντας αισθητήρα υπερήχων. Ο πλήρης κωδικός για αυτό το έργο Door Alarm δίνεται παρακάτω.
Ο αισθητήρας υπερήχων χρησιμοποιείται κυρίως για τη μέτρηση της απόστασης από οποιοδήποτε αντικείμενο, αλλά εδώ μπορούμε να δούμε ότι μπορεί να χρησιμοποιηθεί ως συναγερμός ασφαλείας ή συναγερμός πόρτας με το Arduino. Παρομοίως, μπορούμε να δημιουργήσουμε πολλά χρήσιμα έργα χρησιμοποιώντας αυτό όπως: Αυτόματη ένδειξη στάθμης νερού και ελεγκτής χρησιμοποιώντας το Arduino