Hc-sr04 ultrasonik mesafe sensörü ile mesafe ölçümü

Selamun aleykum arkadaşlar, bugün Hc-sr04 ultrasonik mesafe sensörü kullanarak mesafe ölçümü yapacağız. Uygulamaya geçmeden önce, yazımı okuyacak arkadaşlardan bu işe yeni merak salmış olanlar olabilir diye düşünerek, uygulamada kullanacağım malzemeleri de açıklayarak ilerleme kararı aldım. Mesafe ölçümü uygulamamızda;

  1. bir adet arduino uno r3,
  2. bir adet breadboard,
  3. bir adet hc-sr04 ultrasonik mesafe sensörü,
  4. jumper kablolar(E-E) kullanacağız.

Hc-sr04 ultrasonik mesafe sensörü nedir?

HC-SR04 ultrasonik mesafe sensörü, sonar kullanarak karşısındaki nesneye olan mesafesini hesaplayan bir sensördür. Sonar denilen sistem ses dalgalarını kullanarak cismin uzaklığını elde etmemizi sağlar.

hcsr04_çalışma_şekli

HC-SR04 ultrasonik mesafe sensörü, bir hoparlör ve bir mikrofondan oluşur. Gönderilen ses 40MHz frekansında olup, 2cm ile 400cm arasında önünde duran en yakın nesnenin mesafesini verir. 3mm hassasiyete sahiptir. Uzaktaki nesneleri algılaması için nesnelerin boyutlarının daha büyük olması gerekmektedir. Sensörün algılama açısı yaklaşık 15 derecedir.

hcsro4-ultrsonik-sensör

Hc-sro4 ultrasonik sensörün datasheetine buradan ulaşabilirsiniz.


Breadboard nedir?

Breadboard, yapacağımız projedeki devreyi baskı devresi çıkartmadan ve lehim yapmadan çalıştırmamıza olanak sağlar. Bu şekilde kullandığımız malzemelerin ayaklarını kesmediğimiz ve lehimlemediğimiz için parçaları farklı projelerde tekrar kullanabiliriz. Breadboard’ın genel yapısı aşağıda görülmektedir. Breadboard’un orta kısmı iki bölgedir her bölgede 5’li gruplar halinde birçok bağlantı deliği bulunmaktadır. Dikdörtgen  içerisine alınan kısımdaki gibi diklemesine her 5 delik içten iletkenle birbirine bağlıdır.

breadboard_webagi

Breadboard’ın kenar kısımlarında bulunan mavi ve kırmızı çizgiler boyunca olan deliklerde birbirine iletken ile bağlıdır.Bu hatlardan kırmızı olan + (artı) besleme voltajı için, mavi olanı da – (eksi) besleme voltajı için kullanılır. Bazı breadboardlar da bu hatlar ortaya kadar uzanmaktadır.

Breadboard’un Kullanımı

Elemanları monte ederken birbirine bağlanması gereken eleman ayakları aynı 5’li dik gruba takılır. Bir elemanın birden fazla ayağı aynı dik gruba takılırsa, eleman ayakları kısa devre eder yani hatalı bir şekilde devreyi kurmuş oluruz. Bir grupta 5’ten fazla bağlantı yapmak gerekirse de, bir iletken tel yardımıyla diğer 5’li gruba bağlantı çekeriz ve bağlantı sayısını arttırmış oluruz. Potansiyometre ve switch gibi dıştan müdahale edilmesi gereken elemanlara rahat ulaşılabilecek şekilde konumlandırmak daha sağlıklıdır.


Jumper Kablo Nedir?

Yapacağımız uygulamada, breadboard üzerine yapılacak bağlantıları sağlamak için kullanacağımız kablolardır. 3 çeşit jumper kablo vardır.

Erkek – erkek jumper kablo

Kablonun iki ucu da iğnelidir. İki ucunu da breadboard’a takabiliriz.

erkek-erkek-jumper

Erkek – dişi jumper kablo

Kablonun bir ucu iğneli diğer ucu deliklidir. Erkek uç takılarak kullanılır.

erkek-dişi-jumper

Dişi – dişi jumper kablo

Kablonun iki ucu da deliklidir. iki uca da erkek takılarak kullanılır

dişi-dişi-jumper


Arduino uno’yuda kapsayan Arduino nedir? Arduino çeşitleri nelerdir? başlıklı yazımı da buradan okuyabilirsiniz. Eksik kaldığını düşündüğüm için arduino uno r3’ün genel yapısı ile ilgili bir de görsel paylaşıyorum.arduino-uno-r3

1- Power pinleri 9- Ground ve AREF pinleri
2- Analog girişler 10- Usb arayüzü için ICSP
3- Mikrodenetleyici Atmega328 11- Reset butonu
4- Atmega328 için ICSP 12- USB jakı
5- Power ledi 13- Haberleşme çipi
6- Led 14- 16MHz kristal
7- Tx/Rx pinleri 15- Power jakı(7-12V DC)
8- Dijital giriş/çıkış pinleri 16- Tx/Rx ledleri

 

Evet bu kadar açıklamayı yaptıktan Rexbet sonra uygulamamıza geçelim. Mesafe ölçümünde arduino’un new ping kütüphanesini kullanacağız. Kütüphanemiz büyük kolaylık ve güvenilir sonuçlar elde etmemizi sağlıyor. Kullandığınız arduino yazılımının içerisinde new ping kütüphanesi mevcut değil ise  buradan indirerek kullandığınız yazılıma dahil edebilirsiniz.

Eğer arduinoya kütüphane nasıl eklenir bilmiyorum diyorsanız sizi düşünerek bir yazıda onun için hazırladım buradan bakabilirsiniz. Kütüphaneyi de eklediğinizi varsayıyorum ve projemizin devre şeması şu şekilde olacaktır.

arduino-bağlantı-webagi

Devre şemasını kullanarak devremizi gerçekleştirelim. Aşağıdaki gibi bir devre elde edeceğiz.

devre-şeması-webagi

Mesafe ölçümü için gerekli kodu arduino’ya yüklüyoruz. Arduino ıde’sinin arayüzü hakkında bilgi sahibi değilseniz aşağıda kod nasıl yüklenir resimli olarak gösterilmiştir.

// ---------------------------------------------------------------------------
// webagi.net hc-sr04 ultrasonik mesafe sensörü ile mesafe ölçümü
// ---------------------------------------------------------------------------

#include <NewPing.h>

#define TRIGGER_PIN  12 
#define ECHO_PIN     11  
#define MAX_DISTANCE 200 

NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); 

void setup() {
  Serial.begin(9600); 
}

void loop() {
  delay(1000);                    
  Serial.print("Mesafe: ");
  Serial.print(sonar.ping_cm()); 
  Serial.println("cm");
}

kod-yükleme-webagi

New Ping kütüphanesinde örnekler kısmında farklı kodlarda mevcut biraz kod bilgisi ile farklı projeler üretilebilir.

örnekler-webagi

Seri port ekranını açarak elde ettiğimiz mesafe bilgisini görüntüleyebiliriz.

seri-port-ekranı-webagi

Saygıdeğer arkadaşlarım, başarılı bir şekilde projemizi gerçekleştirmiş olduk. Eğer ki yazılarımı faydalı buluyorsanız bir beğeni veya yorumu çok görmeyin. Sizin değerlendirmeleriniz inanın benim için çok önemli, Allahü teâlâ’ya emanet olun.

Yorumlar