- Εξαρτήματα που χρησιμοποιούνται
- Μονάδα υπερήχων αισθητήρα
- Διάγραμμα και επεξήγηση κυκλώματος υπερήχων αισθητήρα Arduino
- Κωδικός αισθητήρα υπερήχων Arduino για μέτρηση απόστασης
Οι αισθητήρες υπερήχων είναι εξαιρετικά εργαλεία για τη μέτρηση της απόστασης και τον εντοπισμό αντικειμένων χωρίς καμία πραγματική επαφή με τον φυσικό κόσμο. Χρησιμοποιείται σε πολλές εφαρμογές, όπως στη μέτρηση της στάθμης του υγρού, στον έλεγχο της εγγύτητας και ακόμη πιο δημοφιλή στα αυτοκίνητα για να βοηθήσει σε συστήματα αυτόματης στάθμευσης ή κατά της σύγκρουσης. Προηγουμένως έχουμε επίσης κατασκευάσει πολλά έργα αισθητήρων υπερήχων, όπως ανίχνευση στάθμης νερού, ραντάρ υπερήχων κ.λπ. Αυτός είναι ένας αποτελεσματικός τρόπος μέτρησης με ακρίβεια μικρών αποστάσεων. Σε αυτό το έργο, χρησιμοποιήσαμε τον αισθητήρα υπερήχων HC-SR04 με το Arduino για να προσδιορίσετε την απόσταση ενός εμποδίου από τον αισθητήρα. Η βασική αρχή της μέτρησης απόστασης υπερήχων βασίζεται στο ECHO. Όταν τα ηχητικά κύματα μεταδίδονται στο περιβάλλον, τότε τα κύματα επιστρέφουν στην αρχή ως ECHO αφού χτυπήσουν στο εμπόδιο. Επομένως, πρέπει να υπολογίσουμε μόνο τον χρόνο ταξιδιού και των δύο ήχων σημαίνει χρόνο εξόδου και χρόνο επιστροφής στην προέλευση αφού χτυπήσουμε στο εμπόδιο. Καθώς η ταχύτητα του ήχου είναι γνωστή σε εμάς, μετά από κάποιο υπολογισμό μπορούμε να υπολογίσουμε την απόσταση. Θα χρησιμοποιήσουμε την ίδια τεχνική για αυτό το έργο μέτρησης απόστασης Arduino, οπότε ας ξεκινήσουμε.
Εξαρτήματα που χρησιμοποιούνται
- Arduino Uno ή Pro Mini
- Μονάδα αισθητήρα υπερήχων
- LCD 16x2
- Κλίμακα
- Πίνακας ψωμιού
- Μπαταρία 9 volt
- Σύνδεση καλωδίων
Μονάδα υπερήχων αισθητήρα
Υπάρχουν πολλοί τύποι αισθητήρων απόστασης Arduino, αλλά σε αυτό το έργο χρησιμοποιήσαμε το HC-SR04 για να μετρήσουμε την απόσταση από 2cm έως 400cm με ακρίβεια 3mm. Η μονάδα αισθητήρα αποτελείται από ένα πομπό υπερήχων, δέκτη και κύκλωμα ελέγχου. Η αρχή λειτουργίας του αισθητήρα υπερήχων έχει ως εξής:
- Το σήμα υψηλού επιπέδου αποστέλλεται για 10us χρησιμοποιώντας το Trigger.
- Η μονάδα στέλνει αυτόματα οκτώ σήματα 40 KHz και στη συνέχεια ανιχνεύει εάν λαμβάνεται ή όχι παλμός.
- Εάν το σήμα ληφθεί, τότε είναι μέσω υψηλού επιπέδου. Ο χρόνος υψηλής διάρκειας είναι το χρονικό κενό μεταξύ αποστολής και λήψης του σήματος.
Απόσταση = (Χρόνος x Ταχύτητα ήχου στον αέρα (340 m / s)) / 2
Διάγραμμα χρονισμού
Η μονάδα λειτουργεί πάνω στο φυσικό φαινόμενο του ECHO του ήχου. Ένας παλμός αποστέλλεται για περίπου 10us για την ενεργοποίηση της μονάδας. Μετά την οποία η μονάδα στέλνει αυτόματα 8 κύκλους σήματος υπερήχων 40 KHz και ελέγχει την ηχώ του. Το σήμα αφού χτυπήσει με ένα εμπόδιο επιστρέφει και συλλαμβάνεται από τον δέκτη. Έτσι, η απόσταση του εμποδίου από τον αισθητήρα υπολογίζεται απλώς με τον τύπο που δίνεται ως
Απόσταση = (χρόνος x ταχύτητα) / 2.
Εδώ έχουμε διαιρέσει το προϊόν της ταχύτητας και του χρόνου με το 2, επειδή ο χρόνος είναι ο συνολικός χρόνος που χρειάστηκε για να φτάσουμε στο εμπόδιο και να επιστρέψουμε πίσω. Έτσι, ο χρόνος για να φτάσετε στο εμπόδιο είναι μόλις ο μισός του συνολικού χρόνου που απαιτείται.
Διάγραμμα και επεξήγηση κυκλώματος υπερήχων αισθητήρα Arduino
Το διάγραμμα κυκλώματος για τον αισθητήρα arduino και υπερήχων φαίνεται παραπάνω για τη μέτρηση της απόστασης. Σε συνδέσεις κυκλώματος, οι ακίδες «σκανδάλη» και «ηχούς» της μονάδας αισθητήρα υπερήχων συνδέονται απευθείας με τον ακροδέκτη 18 (A4) και το 19 (A5) του arduino. Μια οθόνη LCD 16x2 συνδέεται με το arduino σε λειτουργία 4-bit. Ο πείρος ελέγχου RS, RW και En συνδέεται απευθείας με τον πείρο arduino 2, GND και 3. Και ο πείρος δεδομένων D4-D7 συνδέεται με το arduino 4, 5, 6 και 7.
Πρώτα απ 'όλα πρέπει να ενεργοποιήσουμε τη μονάδα αισθητήρα υπερήχων για τη μετάδοση σήματος χρησιμοποιώντας το arduino και στη συνέχεια να περιμένουμε τη λήψη ECHO. Ο Arduino διαβάζει το χρόνο μεταξύ ενεργοποίησης και λήψης ECHO. Γνωρίζουμε ότι η ταχύτητα του ήχου είναι περίπου 340m / s. έτσι μπορούμε να υπολογίσουμε την απόσταση χρησιμοποιώντας τον δεδομένο τύπο:
Απόσταση = (χρόνος ταξιδιού / 2) * ταχύτητα ήχου
Όπου η ταχύτητα του ήχου είναι περίπου 340m ανά δευτερόλεπτο.
Μια οθόνη LCD 16x2 χρησιμοποιείται για προβολή της απόστασης.
Μάθετε περισσότερα σχετικά με τη λειτουργία του έργου μέτρησης απόστασης σε αυτό το σεμινάριο: Μέτρηση απόστασης με χρήση αισθητήρα υπερήχων και μικροελεγκτή AVR.
Κωδικός αισθητήρα υπερήχων Arduino για μέτρηση απόστασης
Ο πλήρης κωδικός για αυτό το έργο μέτρησης απόστασης υπερήχων δίνεται στο κάτω μέρος αυτής της σελίδας. Στον κώδικα διαβάζουμε το χρόνο χρησιμοποιώντας το pulseIn (pin). Στη συνέχεια, εκτελέστε υπολογισμούς και εμφανίστε το αποτέλεσμα σε οθόνη LCD 16x2 χρησιμοποιώντας κατάλληλες λειτουργίες.