Κυριακή 20 Οκτωβρίου 2019

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

Οι υπέρηχοι είναι ήχοι που έχουν συχνότητα πάνω από 20ΚΗz γι αυτό δε γίνονται αντιληπτοί από το ανθρώπινο αυτί.
Είναι κύματα αέρα που τρέχουν με την ταχύτητα του ήχου (340 m/sec)

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

Αν t είναι ο απαιτούμενος χρόνος ώσπου να επιστρέψει το σήμα,πρέπει να ληφθεί υπόψη ότι ο υπέρηχος πήγε ως το αντικείμενο και επέστρεψε! Συνεπώς είναι διπλάσιος από το χρόνο  που έκανε να φτάσει στο αντικείμενο. Άρα ο χρόνος μέχρι το αντικείμενο είναι t/2.

με γνωστή την ταχύτητα του ήχου (340 m/sec), βρίσκουμε την απόσταση S:

S=  340*t/2

αλλά ισχύει ότι:  340m/sec=0,034 cm/ms.

Επομένως, η απόσταση του αντικειμένου από τον αισθητήρα σε cm δίνεται από τον τύπο:

S=0,034*t/2

Ο αισθητήρας έχει τέσσερις ακροδέκτες.
Ο Vcc συνδέεται στα 5V του Arduino
O GND με τη γείωση
Ο Trig  και ο Echo με εισόδους/εξόδους του Arduino

Στέλνουμε στην έξοδο που είναι συνδεδεμένος ο Trig ένα παλμό διάρκειας 10 μs.
Αυτός παράγει ένα σήμα υπερήχων.
Μετράμε το χρόνο ώσπου να εμφανιστεί είσοδος από τον ακροδέκτη Echo (ένδειξη ότι το κύμα επέστρεψε έχοντας ανακλαστεί)
Υπολογίζουμε και εμφανίζουμε στη σειριακή την απόσταση του αντικειμένου: 
Ο Κώδικας δίνεται εδώ:


int trig=3;
int echo=5;
long duration;
int distance;

void setup() {
  // put your setup code here, to run once:
pinMode(trig, OUTPUT);
pinMode (echo, INPUT);
Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
digitalWrite(trig,LOW);
delayMicroseconds (2);
digitalWrite(trig,HIGH);
delayMicroseconds (10);
digitalWrite(trig,LOW);

duration=pulseIn(echo,HIGH);
distance=duration*0.034/2;
Serial.print ("Distance: ");
Serial.println(distance);
delay(1000);
}
To κύκλωμα φαίνεται εδώ:





Ασκήσεις

1. Να προστεθεί  LED στο κύκλωμα που θα ανάβει από ένα όριο απόστασης  και μετά.

2. Να προστεθεί βομβητής (buzzer) στο κύκλωμα που θα δίνει σήματα διαφορετικής συχνότητας, ανάλογα την απόσταση του αντικειμένου.


3. Να προστεθούν τρεις LED που θα ανάβει η πράσινη από κάποιο όριο απόστασης και πάνω, η κίτρινη από το κατώτατο όριο της πράσινης ως ένα κάποιο χαμηλότερο και η κόκκινη  από κάποιο όριο απόστασης και κάτω.

3. Να προστεθεί φανάρι κυκλοφορίας οχημάτων με LED, που θα γίνεται πράσινο μόνο όταν ένα αντικείμενο (αυτοκίνητο) πλησιάσει τον αισθητήρα, το πράσινο θα διαρκεί κάποια δευτερόλεπτα και κατόπιν θα μεταβαίνει σε κίτρινο και κόκκινο.  Μετά τον πρώτο κύκλο να μεσολαβούν οπωσδήποτε 10 δευτερόλεπτα ως τον επόμενο, αν και εφόσον εντοπιστεί νέο αυτοκίνητο.

Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου