Εισαγωγή
Η απόσταση που έχει το ρομπότ μας από άλλα αντικείμενα, είναι από τα πιο συνηθισμένα μεγέθη που προσπαθούμε να μετρήσουμε. Αν για παράδειγμα φτιάχνουμε αυτόνομα οχήματα που πρέπει να αποφεύγουν εμπόδια, ή άλλες συσκευές που θέλουμε να αντιδρούν όταν κάποιος ή κάτι τα πλησιάζει, η μέτρηση της απόστασης είναι απαραίτητη.
Ένας από τους πιο απλούς, οικονομικούς και σχετικά ακριβείς τρόπους για να μετράμε αποστάσεις, είναι αξιοποιώντας τους αισθητήρες υπερήχων. Η λειτουργία τους στηρίζεται στην ιδιότητα του ήχου να αντανακλάται στα περισσότερα αντικείμενα και υλικά.
Οι αισθητήρες αυτοί διαθέτουν ένα ηχείο για να στέλνουν υπερήχους (ήχος σε πολύ υψηλή συχνότητα τον οποίο δεν μπορούμε να τον ακούσουμε) και ένα μικρόφωνο για να αντιλαμβάνονται τους υπερήχους όταν επιστρέφουν. Από την στιγμή που γνωρίζουμε την ταχύτητα του ήχου στον αέρα (343 m/sec), αν μετρήσουμε την ώρα που έκανε ο υπέρηχος για να επιστρέψει στον αισθητήρα μπορούμε να βρούμε την απόσταση που διένυσε.
Τρόπος λειτουργίας
Όλοι οι αισθητήρες υπερήχων λειτουργούν με παρόμοιο τρόπο. Στέλνουν έναν σύντομο υπέρηχο διάρκειας λίγων εκατομμυριοστών του δευτερολέπτου από το ηχείο και μετράν τον χρόνο που χρειάζεται για να επιστρέψει ο ήχος και να γίνει αντιληπτός από το μικρόφωνο.
Αν υποθέσουμε ότι ο ήχος χρειάστηκε 10 χιλιοστά του δευτερολέπτου για να επιστρέψει στον αισθητήρα, τότε:
- Τα 10 χιλιοστά του δευτερολέπτου είναι 10/1000 δευτερόλεπτα δηλαδή 0,01 δευτερόλεπτα. Άρα ο ήχος χρειάστηκε 0,01 δευτερόλεπτα για να πάει στο εμπόδιο και να γυρίσει πίσω.
- Γνωρίζουμε ότι ο ήχος ταξιδεύει στον αέρα με ταχύτητα 343 μέτρα κάθε δευτερόλεπτο. Αυτό σημαίνει πως κάθε δευτερόλεπτο που περνάει, ο ήχος έχει προχωρήσει άλλα 343 μέτρα. Αφού στην περίπτωση μας ο ήχος χρειάστηκε 0,01 δευτερόλεπτα για να πάει και να γυρίσει, αυτό σημαίνει ότι ταξίδεψε 0,01 x 343 = 3,43 μέτρα.
- Ο ήχος λοιπόν ταξίδεψε 3,43 μέτρα από τον αισθητήρα μέχρι το εμπόδιο και από το εμπόδιο ξανά πάλι στον αισθητήρα. Άρα το εμπόδιο βρίσκεται σε απόσταση 3,43/2 = 1,715 μέτρα.
Πλεονεκτήματα και περιορισμοί.
Τα κύρια πλεονεκτήματα των αισθητήρων υπερήχων σε σχέση με άλλους αισθητήρες απόστασης μπορούν να συνοψιστούν στα εξής τέσσερα:
- έχουν η χαμηλή τιμή και πληθώρα επιλογών στην αγορά,
- δεν επηρεάζονται από το χρώμα ή την διαφάνεια των αντικειμένων που ανιχνεύουν (πχ πλαστικό ή γυαλί),
- δεν επηρεάζονται από τον φωτισμό του περιβάλλοντος (σκοτάδι ή έντονο φως),
- έχουν καλή ακρίβεια στην μέτρηση απόστασης.
Εξαιτίας του τρόπου λειτουργίας τους, οι αισθητήρες υπερήχων έχουν και κάποιους σημαντικούς περιορισμούς.
- Δυσκολεύονται να ανιχνεύσουν μικρά αντικείμενα, αν δεν είναι τοποθετημένα σε κατάλληλο σημείο.
- Επίσης ιδιαίτερη σημασία έχει ο τρόπος με τον οποίο είναι τοποθετημένο κάποιο αντικείμενο, ώστε να μπορέσει να ανακλάσει σωστά τους υπερήχους.
- Αντικείμενα τα οποία είναι από υλικά που απορροφούν τον ήχο (π.χ. σφουγγάρια) δεν είναι εύκολο να εντοπιστούν καθώς δεν αντανακλούν τους υπερήχους.
Διαλέγοντας αισθητήρα.
Για ρομποτικές κατασκευές που βασίζονται στο Arduino υπάρχουν αρκετές επιλογές τις οποίες μπορούμε να βρούμε σε ελληνικά ή ξένα καταστήματα στο διαδίκτυο. Η πιο συνηθισμένη και οικονομική επιλογή είναι ο αισθητήρας HC-SR04, ο οποίος κοστίζει περίπου 2 ευρώ από Ελλάδα και 1 ευρώ στο ebay (Τιμές Αυγούστου 2018).
Πάμε να φτιάξουμε μια εφαρμογή με τον αισθητήρα στο Pictoblox
Κατασκευή διαδρόμου
Αρχικά θα φτιάξουμε έναν διάδρομο στον οποίο θα τοποθετήσουμε τον αισθητήρα μας για να ελέγχουμε την λειτουργία του.
Χρησιμοποιώντας μακετόχαρτο, καρφίτσες και κοπίδι δημιουργήστε την παρακάτω κατασκευή.
Τοποθετήστε τον αισθητήρα απόστασης την φαρδιά οπή όπως φαίνεται στις παρακάτω εικόνες
Σύνδεση του αισθητήρα με το Arduino
Ο αισθητήρας HC-SR04 διαθέτει 4 pins:
- Το VCC, στο οποίο δέχεται 5V για να μπει σε λειτουργία,
- το GND, το οποίο το συνδέουμε στη γείωση,
- το TRIG (Trigger), το οποίο ενεργοποιεί το ηχείο για να στείλει το υπέρηχο και
- το ECHO, το οποίο είναι συνδεδεμένο με την είσοδο του μικροφώνου και αντιλαμβάνεται την επιστροφή του ήχου.
Συνδέστε τον αισθητήρα υπερύχων που έχεται στο Arduino σας χρησιμοποιώντας την υποδοχή D2 για το TRIG και την υποδοχή D3 για το Echo
Προγραμματισμός του αισθητήρα
Θα προγραμματίσουμε μια φιγούρα στο Pictoblox έτσι ώστε να μας λέει την απόσταση στην οποία βλέπει εμπόδιο ο αισθητήρας.
Αρχικά διαλέξτε ένα υπόβαθρο που σας αρέσει και έναν χαρακτήρα. Μην ξεχάσετε να ρυθμίσετε το Pictoblox σε κατάσταση stage και να κάνετε upload firmware
Χρησιμοποιώντας τις παρακάτω εντολές προγραμματίστε τον χαρακτήρα σας έτσι ώστε να μας λέει “Η απόσταση του εμποδίου είναι — εκατοστά” όπου αντί για τις 3 παύλες θα έχει τα εκατοστά που βλέπει ο αισθητήρας.
Πηγαίνοντας παραπέρα
Πόσο χάκερ έχετε γίνει; Μήπως μπορείτε να προσθέσετε έναν ακόμα χαρακτήρα στην σκηνή ο οποίος θα κινείται μακριά ή κοντά από τον αρχικό χαρακτήρα ανάλογα με την απόσταση που βλέπει ο αισθητήρας μας;
ΚΎΡΙΕ ΓΙΑΝΝΗ ΕΙΜΑΙ Ο ΓΙΑΝΝΗΣ Ο ΓΙΟΣ ΤΟΥ ΔΗΜΗΤΡΗ ΤΟΥ ΠΑΠΑΔΟΠΟΥΛΟΥ ΓΡΑΦΩ ΑΠΟ ΤΟΝ ΛΟΓΑΡΙΑΣΜΟ ΤΟΥ ΔΗΜΟΣΤΕΝΗ ΣΤΥΛΙΑΔΗ ΑΝ ΜΕ ΘΥΜΑΣΤΕ ΝΑ ΞΕΡΕΤΕ ΟΤΙ ΘΕΛΩ ΝΑ ΕΡΘΩ ΣΤΟΥΣ ΜΙΚΡΟΥΣ HAKERS ΑΛΛΑ ΔΕΝ ΒΟΛΕΒΕΙ ΕΠΙΔΗ ΔΕΝ ΒΟΛΕΒΕ Η ΩΡΑ ΓΙΑΤΙ ΕΧΩ ΑΓΓΛΙΚΑ ΚΑΙ ΝΑ ΞΕΡΕΤΕ ΟΤΙ ΘΕΛΩ ΠΟΛΥ ΝΑ ΕΡΘΩ .ΑΝΤΙΟ!
Γιάννη μας λείπεις!
Pingback: Αυτόματο εκχιονιστικό μηχάνημα – Μικροί Χάκερ
Pingback: Άγιος Βασίλης που μας χαιρετάει! – Μικροί Χάκερ
Pingback: Xmass Santa! – Μικροί Χάκερ
Pingback: Παθητικοί αισθητήρες υπέρυθρης ακτινοβολίας – PIR – Μικροί Χάκερ
Pingback: Μουσική με τον αισθητήρα απόστασης υπερήχων – Μικροί Χάκερ