Κύκλωμα υπερηχητικού μετρητή απόστασης με οθόνη LCD 16 × 2

Δοκιμάστε Το Όργανο Μας Για Την Εξάλειψη Των Προβλημάτων





Σε αυτό το άρθρο πρόκειται να κατασκευάσουμε ένα κύκλωμα μετρητή απόστασης υπερήχων χρησιμοποιώντας Arduino και 16x2 LCD. Θα δούμε επίσης τι είναι μια μονάδα υπερήχων, πώς λειτουργεί και πώς μπορεί να χρησιμοποιηθεί για τη μέτρηση της απόστασης.

Τι είναι υπερήχων;

Ένας μέσος υγιής άνθρωπος μπορεί να ακούσει συχνότητες που κυμαίνονται από 20 Hz έως 20.000 Hz. Πάνω από 20.000 Hz ή 20 KHz το ανθρώπινο αυτί είναι ανίκανο να ανιχνεύσει αυτές τις συχνότητες. Οποιοσδήποτε ηχητικός συντονισμός μεγαλύτερος από 20 KHz ονομάζεται ως υπερηχητικός και οποιαδήποτε ακουστική αντηχεί λιγότερο από 20 Hz ονομάζεται υπερηχητική.



Τα περισσότερα από τα κατοικίδια ζώα όπως η γάτα ή ο σκύλος, μπορούν να ακούσουν ευρύ φάσμα ακουστικής συχνότητας μεγαλύτερη από τα ανθρώπινα όντα. Μερικά από μας ηλεκτρονικές συσκευές μπορεί να τους ενοχλήσει γι 'αυτό ο ήχος υπερήχων χρησιμοποιείται σε ηλεκτρονικά εντομοαπωθητικά και επίσης μέσα απωθητικά σκύλου.

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



Αυτή η αρχή χρησιμοποιείται σε πολλά σύγχρονα ηλεκτρονικός εξοπλισμός μέτρησης θα μάθουμε πώς θα μπορούσε να εφαρμοστεί και η ίδια αρχή για το παρόν έργο.

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

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

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

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

Για να μετρήσουμε την απόσταση, πρέπει να στείλουμε σειρές εκρήξεων υπερήχων και να ακούσουμε την ηχώ. Για να γίνει αυτό πρέπει να κρατήσουμε τον πείρο σκανδάλης υψηλό για 10 μικροδευτερόλεπτα, ο πομπός στέλνει 8 παλμούς υπερήχων ριπές.

Η μονάδα δέκτη ακούει αυτές τις εκρήξεις αφού χτυπήσει ένα εμπόδιο. Ο πείρος ηχούς δίνει υψηλό σήμα ανάλογο με την απόσταση. Το Arduino ερμηνεύει τον χρόνο αποστολής και λήψης σημάτων για να προσδιορίσει την πραγματική απόσταση.

Δεδομένου ότι ο ήχος ταξιδεύει στα 340 m / s στον αέρα και ο χρόνος μπορεί να προσδιοριστεί συγκρίνοντας τα σήματα που στέλνονται και λαμβάνονται, μπορούμε να προσδιορίσουμε την απόσταση χρησιμοποιώντας τον τύπο ταχύτητας-απόστασης:

Απόσταση = ταχύτητα Χ χρόνος

Αυτές οι τιμές θα υπολογιστούν από το Arduino και θα εκτυπωθούν οι κατάλληλες τιμές στην οθόνη LCD. Το προτεινόμενο κύκλωμα μετρητή απόστασης υπερήχων μπορεί να δείχνει απόσταση τόσο σε εκατοστό όσο και σε μετρητή.

Πρωτότυπο συγγραφέα:

Δοκιμασμένο μοντέλο λειτουργίας του κυκλώματος μετρητή υπερήχων με χρήση LCD 16x2

Διάγραμμα κυκλώματος:

Κύκλωμα υπερηχητικού μετρητή απόστασης με οθόνη LCD 16x2

Η σύνδεση κυκλώματος υπερηχητικού μετρητή γίνεται μέσω μιας τυπικής διεπαφής arduino-LCD, την οποία μπορούμε επίσης να βρούμε σε πολλά άλλα παρόμοια έργα που βασίζονται σε arduino-LCD. Το ποτενσιόμετρο χρησιμοποιείται για τη ρύθμιση της αντίθεσης της οθόνης LCD.

ο αισθητήρας υπερήχων μπορεί να εισαχθεί απευθείας σε αναλογικό πείρο όπως φαίνεται στο πρωτότυπο του συγγραφέα από A0 έως A3, αισθητήρες που βλέπουν προς τα έξω, αυτό μπορεί να μειώσει τη συμφόρηση καλωδίων ενώ αντιγράφει το παραπάνω κύκλωμα.

Κωδικός προγράμματος:

#include LiquidCrystal lcd(12,11,5,4,3,2) const int trigger = A1 const int echo = A2 int vcc = A0 int gnd = A3 long Time float distanceCM float distanceM float resultCM float resultM void setup() { lcd.begin(16,2) pinMode(trigger,OUTPUT) pinMode(echo,INPUT) pinMode(vcc,OUTPUT) pinMode(gnd,OUTPUT) } void loop() { digitalWrite(vcc,HIGH) digitalWrite(gnd,LOW) digitalWrite(trigger,LOW) delay(1) digitalWrite(trigger,HIGH) delayMicroseconds(10) digitalWrite(trigger,LOW) Time=pulseIn(echo,HIGH) distanceCM=Time*0.034 resultCM=distanceCM/2 resultM=resultCM/100 lcd.setCursor(0,0) lcd.print('Distance:') lcd.print(resultM) lcd.print('M') lcd.setCursor(0,1) lcd.print('Distance:') lcd.print(resultCM) lcd.print('cm') delay(1000) }


Προηγούμενο: Μηχανοκίνητο κύκλωμα σκίασης Επόμενο: Κύκλωμα ενισχυτή ήχου 6 watt με χρήση TDA1011