Skip navigation

Ανίχνευση απόστασης με αισθητήρα υπερήχων

Εφαρμογή 1

Θέλουμε να κατασκευάσουμε ένα ανιχνευτή απόστασης χρησιμοποιώντας τον αισθητήρα υπερήχων (αισθητήρας απόστασης) HC-SR04 για τον υπολογισμό της απόστασης. Στη συγκεκριμένη εφαρμογή, όταν ο αισθητήρας εντοπίσει αντικείμενο σε απόσταση μικρότερη ή ίση των 10 εκατοστών θα ανάβει ένα κόκκινο LED, διαφορετικά θα ανάβει ένα πράσινο LED. Παράλληλα, θα στέλνει το αποτέλεσμα μέτρησης απόστασης (σε cm) στη σειριακή οθόνη του IDE του Arduino.

Ο αισθητήρας εκπέμπει υπερηχητικά κύματα συχνότητας 40ΚHz τα οποία ανακλώνται στα εμπόδια και επιστρέφουν σε αυτόν. Ο υπολογισμός της απόστασης γίνεται με βάση τον χρόνο που χρειάστηκε να ταξιδέψει το υπερηχητικό κύμα. Το module HC-SR04 έχει 4 pins (Ground και VCC για την τροφοδοσία του, Trig και Echo). Όταν στην ακίδα Trig στείλουμε ένα παλμό HIGH διάρκειας 10μs, τότε ο αισθητήρας εκπέμπει υπερηχητικό κύμα. Όταν το λάβει πίσω, τότε από την ακίδα Echo βγαίνει ένα παλμός διάρκειας τόσων μsec, όσος και ο χρόνος που ταξίδεψε και το κύμα (πήγαινε-έλα). Η μέτρηση της διάρκειας του παλμού που εξάγει η ακίδα Echo γίνεται με τη συνάρτηση PulseIn(echoPin, HIGH), η οποία επιστρέφει τον αριθμό των μsec που η ακίδα echoPin ήταν σε κατάσταση HIGH.

Για τον υπολογισμό της απόστασης θα πρέπει να λάβουμε υπόψη μας ότι η ταχύτητα του ήχου είναι u=340m/sec=0,034cm/μsec και ότι ο χρόνος (σε μsec) που μας δίνει η ακίδα Echo είναι ο συνολικός χρόνος που ταξίδεψε το κύμα. Επομένως η απόσταση s (σε cm) του εμποδίου από τον αισθητήρα προκύπτει από τον τύπο: s(cm)=t(μsec)*0,034(cm/μsec)/2.

Πραγματοποιήστε τη συνδεσμολογία του παρακάτω κυκλώματος και σχεδιάστε το αντίστοιχο ηλεκτρονικό σχέδιο.

Προγραμματίστε το Arduino με το παρακάτω πρόγραμμα και ελέγξτε τη λειτουργία του.

Επέκταση της εφαρμογής 1

Να τροποποιήσετε το προηγούμενο κύκλωμα και πρόγραμμα, έτσι ώστε να εμφανίζει το αποτέλεσμα της μέτρησης σε μια οθόνη LCD (π.χ.'Distance= 8 cm').

Επέκταση της εφαρμογής 1

Στο κύκλωμα της εφαρμογής 1 να προσθέσετε ένα πορτοκαλί led σε σειρά με μια αντίσταση 220Ω στο Pin 4. Να τροποποιήσετε το πρόγραμμα έτσι ώστε, όταν η απόσταση από το εμπόδιο είναι μεγαλύτερη από 10cm να ανάβει μόνο το πράσινο led, όταν η απόσταση είναι μεταξύ 5 και 10cm να ανάβει το πράσινο και το πορτοκαλί, ενώ όταν είναι μικρότερη από 5cm να ανάβουν όλα τα led.


(c) Αμπατζόγλου Γιάννης, Ηλεκτρονικός Μηχανικός, καθηγητής ΠΕ84

Αδειοδοτημένο υπό τους όρους Creative Commons Attribution Share Alike License 4.0