Πώς να συνδέσετε το HC-SR04 υπερηχητικό τηλεχειριστήριο στο Arduino

Πίνακας περιεχομένων:

Πώς να συνδέσετε το HC-SR04 υπερηχητικό τηλεχειριστήριο στο Arduino
Πώς να συνδέσετε το HC-SR04 υπερηχητικό τηλεχειριστήριο στο Arduino

Βίντεο: Πώς να συνδέσετε το HC-SR04 υπερηχητικό τηλεχειριστήριο στο Arduino

Βίντεο: Πώς να συνδέσετε το HC-SR04 υπερηχητικό τηλεχειριστήριο στο Arduino
Βίντεο: EASY! Ultrasonic Sensor with Arduino 2024, Νοέμβριος
Anonim

Σε αυτό το άρθρο, θα συνδέσουμε το HC-SR04 υπερηχητικό εύρος-σόναρ με το Arduino.

Αισθητήρας υπερήχων HC-SR04
Αισθητήρας υπερήχων HC-SR04

Απαραίτητη

  • - Arduino;
  • - αισθητήρας υπερήχων HC-SR04,
  • - καλώδια σύνδεσης.

Οδηγίες

Βήμα 1

Η δράση του υπερηχητικού αποστασιόμετρου HC-SR04 βασίζεται στην αρχή της ηχοληψίας. Εκπέμπει ηχητικές παλμούς στο διάστημα και λαμβάνει ένα σήμα που αντανακλάται από ένα εμπόδιο. Η απόσταση από το αντικείμενο καθορίζεται από το χρόνο διάδοσης του ηχητικού κύματος προς το εμπόδιο και την πλάτη.

Το ηχητικό κύμα ενεργοποιείται με την εφαρμογή ενός θετικού παλμού τουλάχιστον 10 μικροδευτερολέπτων στο σκέλος TRIG του αποστασιομέτρου. Μόλις τελειώσει ο παλμός, ο αποστασιομετρητής εκπέμπει μια έκρηξη παλμών ήχου με συχνότητα 40 kHz στο χώρο μπροστά του. Ταυτόχρονα, ξεκινά ο αλγόριθμος για τον προσδιορισμό του χρόνου καθυστέρησης του ανακλώμενου σήματος και μια λογική μονάδα εμφανίζεται στο σκέλος ECHO του αποστασιομέτρου. Μόλις ο αισθητήρας ανιχνεύσει το ανακλώμενο σήμα, ένα λογικό μηδέν εμφανίζεται στον πείρο ECHO. Η διάρκεια αυτού του σήματος ("Echo delay" στην εικόνα) καθορίζει την απόσταση από το αντικείμενο.

Εύρος μέτρησης απόστασης του εύρους εύρεσης HC-SR04 - έως 4 μέτρα με ανάλυση 0,3 εκ. Γωνία παρατήρησης - 30 μοίρες, πραγματική γωνία - 15 μοίρες. Η τρέχουσα κατανάλωση σε κατάσταση αναμονής είναι 2 mA, κατά τη λειτουργία - 15 mA.

Η αρχή της λειτουργίας του υπερηχητικού αποστασιομέτρου HC-SR04
Η αρχή της λειτουργίας του υπερηχητικού αποστασιομέτρου HC-SR04

Βήμα 2

Η τροφοδοσία του υπερηχητικού αποστασιομέτρου πραγματοποιείται με τάση +5 V. Οι άλλες δύο ακίδες συνδέονται με οποιεσδήποτε ψηφιακές θύρες του Arduino, θα συνδεθούμε με 11 και 12.

Σύνδεση υπερηχητικού αποστασιομέτρου HC-SR04 στο Arduino
Σύνδεση υπερηχητικού αποστασιομέτρου HC-SR04 στο Arduino

Βήμα 3

Τώρα ας γράψουμε ένα σκίτσο που καθορίζει την απόσταση από το εμπόδιο και το εξάγει στη σειριακή θύρα. Αρχικά, ορίζουμε τους αριθμούς των ακίδων TRIG και ECHO - αυτοί είναι οι ακροδέκτες 12 και 11. Στη συνέχεια δηλώνουμε τη σκανδάλη ως έξοδο και ηχώ ως είσοδος. Αρχικοποιούμε τη σειριακή θύρα στα 9600 baud. Σε κάθε επανάληψη του βρόχου (), διαβάζουμε την απόσταση και την εξάγουμε στη θύρα.

Η συνάρτηση getEchoTiming () δημιουργεί έναν παλμό σκανδάλης. Δημιουργεί απλώς ένα ρεύμα παλμού 10 μικροδευτερολέπτων, το οποίο είναι έναυσμα για την έναρξη της ακτινοβολίας από τον ανιχνευτή εύρους ενός πακέτου ήχου στο διάστημα. Στη συνέχεια θυμάται το χρόνο από την αρχή της μετάδοσης του ηχητικού κύματος έως την άφιξη της ηχώ.

Η συνάρτηση getDistance () υπολογίζει την απόσταση από το αντικείμενο. Από το μάθημα φυσικής του σχολείου, θυμόμαστε ότι η απόσταση είναι ίση με την ταχύτητα πολλαπλασιαζόμενη με το χρόνο: S = V * t. Η ταχύτητα του ήχου στον αέρα είναι 340 m / s, ο χρόνος σε μικροδευτερόλεπτα που γνωρίζουμε είναι "duratuion". Για να πάρετε το χρόνο σε δευτερόλεπτα, διαιρέστε με 1.000.000. Δεδομένου ότι ο ήχος ταξιδεύει δύο φορές την απόσταση - στο αντικείμενο και στην πλάτη - πρέπει να διαιρέσετε την απόσταση στο μισό. Αποδεικνύεται λοιπόν ότι η απόσταση από το αντικείμενο S = 34000 cm / sec * διάρκεια / 1.000.000 sec / 2 = 1.7 cm / sec / 100, την οποία γράψαμε στο σκίτσο. Ο μικροελεγκτής εκτελεί πολλαπλασιασμό γρηγορότερα από τη διαίρεση, οπότε αντικατέστησα το "/ 100" με το αντίστοιχο "* 0, 01".

Σκίτσο για εργασία με υπερήχους σόναρ HC-SR04
Σκίτσο για εργασία με υπερήχους σόναρ HC-SR04

Βήμα 4

Επίσης, πολλές βιβλιοθήκες έχουν γραφτεί για να λειτουργούν με υπερηχητικό εύρος εντολών. Για παράδειγμα, αυτό: https://robocraft.ru/files/sensors/Ultrasonic/HC-SR04/ultrasonic-HC-SR04.zip. Η βιβλιοθήκη είναι εγκατεστημένη με έναν τυπικό τρόπο: λήψη, αποσυμπίεση στον κατάλογο βιβλιοθηκών, ο οποίος βρίσκεται στο φάκελο με το Arduino IDE. Μετά από αυτό, μπορεί να χρησιμοποιηθεί η βιβλιοθήκη.

Έχοντας εγκαταστήσει τη βιβλιοθήκη, ας γράψουμε ένα νέο σκίτσο. Το αποτέλεσμα της εργασίας του είναι το ίδιο - η οθόνη σειριακής θύρας εμφανίζει την απόσταση από το αντικείμενο σε εκατοστά. Εάν γράψετε float dist_cm = ultrasonic. Ranging (INC); στο σκίτσο, τότε η απόσταση θα εμφανίζεται σε ίντσες.

Σκίτσο υπερήχων με χρήση βιβλιοθήκης
Σκίτσο υπερήχων με χρήση βιβλιοθήκης

Βήμα 5

Έτσι, συνδέσαμε το HC-SR04 υπερηχητικό τηλεχειριστήριο στο Arduino και λάβαμε δεδομένα από αυτό με δύο διαφορετικούς τρόπους: χρησιμοποιώντας μια ειδική βιβλιοθήκη και χωρίς.

Το πλεονέκτημα της χρήσης της βιβλιοθήκης είναι ότι η ποσότητα του κώδικα μειώνεται σημαντικά και η αναγνωσιμότητα του προγράμματος βελτιώνεται, δεν χρειάζεται να διερευνήσετε τις περιπλοκές της συσκευής και μπορείτε να τη χρησιμοποιήσετε αμέσως. Αλλά αυτό είναι επίσης το μειονέκτημα: καταλαβαίνετε λιγότερο καλά πώς λειτουργεί η συσκευή και ποιες διαδικασίες πραγματοποιούνται σε αυτήν. Σε κάθε περίπτωση, ποια μέθοδος χρήσης εξαρτάται από εσάς.

Συνιστάται: