Ultrasonik ses
dalgaları üreten ve algılayan bir sensördür. Sensörün çalışması şu şekildedir:
Öncelikle sensör ultrasonik ses dalgaları üretir ve ortama yayar. Yayılan
ultrasonik dalgalar bir engele çarpıp tekrar sensöre döner. Sensör de bu geri
gelen dalgaları algılar ve devre için değerlendirir.
Sensör 40 KHz
frekansında ultrasonik ses dalgaları üretmektedir. 5V gerilimle çalışmakta ve
15mA akım çekmektedir. Sensör 2cm’den 400cm’ye kadar 3mm hassasiyetle ölçüm
yapmaktadır. Ayrıca 15o görme açısına sahiptir. Sensöre trig
pininden 10us’lik TTL darbesi uygulayarak ultrasonik sinyal üretmektedir.
Devremizde, öncelikle
sensörümüzden ultrasonik sinyaller yaymalıyız. Bu sinyalleri yukarıda
bahsettiğimiz gibi trig pinine uydulayacağımız darbe sinyali ile elde ederiz.
Daha sonra sensörümüz engele çarpıp gelen sinyali algılayacak ve echo pininden
bir darbe sinyali devremize gönderecektir. Biz bu echo pininden gelen sinyalin
lojik 1 olma süresini bulmalıyız. Bunu arduinomuzu programlarken kullanacağımız
pulseIn() fonksiyonu ile elde
edeceğiz. Bu bulduğumuz süre sinyalin gidip engele çarpıp geri dönme süreleri
toplamıdır. Engel ile sensör arasındaki mesafeyi bu süre üzerinden
hesaplayacağız. Süremiz sinyalin gidiş geliş toplam süresi olduğundan, önce
süreyi ikiye bölmeliyiz.
Daha sonra ise;
formülünü kullanacağız.
Burada v sesin yayılma hızıdır. Sesin havada, deniz
seviyesinde ve 21 °C sıcaklıkta yayılma
hızı 343,2 m/s’dir. Bu hızı cm/us biriminde ifade edecek olursak:
Sonuç olarak mesafe
hesaplayacak formülümüz:
olur.
Projenin
Kaynak Kodu:
#include
<LiquidCrystal.h>
LiquidCrystal
lcd(7, 8, 9, 10, 11, 12);
int
trigPin=2;
int
echoPin=3;
float
sure, uzaklik;
void
setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
lcd.begin(16,2);
}
void
loop() {
lcd.clear();
lcd.setCursor(0,0);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
sure = pulseIn(echoPin, HIGH);
uzaklik = (sure*0.01716);
lcd.print("Uzaklik= ");
lcd.print(uzaklik);
lcd.print("cm");
delay(400);
}
Hiç yorum yok:
Yorum Gönder