DERS-5: Arduino Ultrasonik Mesafe Sensörü (Hc-sr04) Kullanımı
Arduino Ultrasonik Mesafe Sensörü (Hc-sr04) Kullanımı:
Bu dersimizde Ultrasonik Mesafe Sensörü nasıl kullanılır, mesafeyi nasıl ölçer bunları inceleyeceğiz. Ayrıca bir adet buzzer ve led ile park sensörü tasarlıyacağız.
(Hc-sr04) Ultrasonik Mesafe Sensörü:
Arduino Ultrasonik Mesafe Sensörü (Hc-sr04) Kullanımı: Bu sensör sonar iletişim sayesinde karşısındaki nesne ile iletişim kurar. 2 cm ile 400 cm arasında normal kullanımlarda ölçüm yapabilmektedir. İnsan sesinin duyamayacağı bir frekans da ses dalgası gönderir ve karşıdaki bir nesneye çarpıp ses geri dönerse bunu algılar ve mesafeyi hesaplar. Ses hızı saniyede 340 metredir. yol=zaman x hız formülünü bilmeyen yoktur sanırım. Hızımız ses hızı zaman ise sensör tarafından birazdan göreceğiniz bir kod ile hesaplanmaktadır. Gidiş ve dönüşü de tabii ki hesaba katmalısınız ve 2 ye bölmeniz gerekmekte. Bu kadar karışık gibi gelse de aşağıdaki kodları incelediğinizde mesafeyi bulmanın çok kolay olacağını göreceksiniz.
Aşağıda devre şemasını görebilirsiniz:
Devrede bir adet hc-sr04 ultrasonik mesafe sensörü, 1 adet buzzer (buzzer bir sonraki ders işlenecektir) 1 adet led kullanılmıştır. Ultrasonik mesafe sensörü 4 bacağı var. Bunlardan birisi GND birisi ise +5V dur. Aşağıda 4 bacakla ilgili detaylı bilgi mevcuttur.
VCC Bacağı : Arduino da +5 V pinine bağlanan bacaktır.
GND Bacağı: Arduino da GND pinine bağlanan bacaktır.
Trig Bacağı: Ultrasonik ses sinyallerini gönderen bacaktır.
Echo Bacağı: Ses sinyalleri yansıyıp sensöre gelince algılanır ve bu bacağa süre ve mesafe gibi değerler gelir.
Şimdi gelelim kod kısmına:
int trigpin= 7;
int echopin=6;
int buzzerpin=8;
int ledpin=13;
long sure;
long uzaklik;
void setup() {
pinMode (trigpin, OUTPUT);
pinMode (echopin, INPUT);
pinMode (buzzerpin, OUTPUT);
}
void loop() {
digitalWrite(trigpin,LOW);
delayMicroseconds(5);
digitalWrite(trigpin,HIGH);
delayMicroseconds(10);
digitalWrite(trigpin,LOW);
sure=pulseIn(echopin,HIGH);
uzaklik=sure/58.1;
delay(100);
if (uzaklik<25){
digitalWrite(buzzerpin,HIGH);
digitalWrite(ledpin,HIGH);
delay(200);
digitalWrite(buzzerpin,LOW);
digitalWrite(ledpin,LOW);
delay(200);
}
}
İşin başında trigpin, echopin, buzzerpin, ledpin isimli 4 değişken ve bu değişkenlere arduino pin numaraları ile eşleştirilir. Void setup kısmında giriş ve çıkışlar ayarlanır. Ultrasonik mesafe sensörünün trig pini Çıkış, Echo pini ise Giriş olarak ayarlanmalıdır.
Void loop kısmında ise; trig pinini önce kapatıp sonra açıyoruz ve bir pulse sinyal gönderiyoruz. 10m saniye bekledikten sonra trig pini kapatıyoruz. Ardından sure=pulseIn(echopin,HIGH); echo pinini açarak pulseIn komutu ile süre hesaplanır. Uzaklık ise sürenin yaklaşık 58 e bölünmesi ile bulunur. Bu değer ses hızının süre ile çarpılıp 2 ye bölünmesi ile bulunmaktadır. Biz kod kısmında 58.1 kullanacağız. uzaklik=sure/58.1; kodu ile uzaklık cm cinsinden hesaplanmaktadır.
Son olarak buzzer ın hangi yakınlıkta çalacağını ve led in yanacağını hesaplamamız lazım. Uzaklık 25cm den küçük ise if içerisindeki kodlar çalışacak ve buzzer kesik kesik çalacak ve led yanacaktır.