Menü
Kapat
Giriş Yap Kayıt Ol
Şifremi Unuttum
Kapat
Sepetim
11.08.2023

Arduino ile Mesafe Sensörü Kullanarak Elektronik Metre Yapımı | HC-SR04

Arduino ile mesafe sensörü kullanarak kendi dijital metrenizi yapabileceğinizi biliyor muydunuz? Arduino dünyasına yeni giriş yapan biriyseniz bu harika başlangıç projesi tam size göre! Bu blog yazımızda size sırasıyla; gereken malzemeler, bağlantı şeması ve Arduino kodlarını anlatacağız.

Arduino ile Mesafe Ölçümü Malzeme Listesi

Gereken malzemeler yalnızca bu kadar. Ürünlerin isimlerine tıklayarak satın alma sayfalarına ulaşabilirsiniz.

HC-SR04 Nedir?

Projemizde ölçüm yapmamızı sağlayan sensör olan HC-SR04, ultrasonik mesafe sensörüdür. Çalışma mantığı olarak ultrasonik ses dalgaları yayar ve bu dalgaları geri toplar. Gönderilen ultrasonik ses dalgaları bir yüzeye çarptıktan sonra geri dönerler. Geri dönen dalgaları yakalayan bu sensör elde ettiği verileri Arduino'ya aktarır. Arduino'da işlenen bu veriler ölçülen değerlerin santimetre cinsinden verilere dönüştürülmesi ile anlamlı hale gelir. Bu şekilde dijital bir metre elde etmiş oluruz. İşte Arduino ile Mesafe ölçümü yapmanın teknik mantığı bu şekildedir.

HC-SR04 mesafe ölçümünü fizik derslerinde gördüğümüz bir formülü esas alarak gerçekleştirir. Mesafe = Hız X Zaman. Bu förmülü baz alarak gönderdiği sinyalin kendine geri ulaşımı ile veri elde eder. Elbette mesafesi sınırsız değildir. Bu uygun fiyatlı ve kullanışlı sensör 2-400cm arası mesafede ölçüm yapabilmektedir.

Bağlantı Şeması

Öncelikle Arduino ve sensörü bu şekilde bir bağlantı ile birleştirmemiz gerekiyor. Aşağıda vereceğimiz kodlar bu bağlantı baz alınarak oluşturulmuştur. Farklı bir pine bağlantı yapıldığı taktirde proje başarısız olacaktır. Ancak tabi ki farklı bir bağlantı yapıp kodları buna göre düzenlerseniz orası ayrı. :)

Aşağıdaki kodları kullanarak ekransız bir şekilde Arduino serial port ekranında ölçeceğiniz mesafeyi görebilirsiniz.

#define trigPin 10
#define echoPin 13

void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}

void loop() {
float duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);

digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);
distance = (duration / 2) * 0.0344;

if (distance >= 400 || distance <= 2){
Serial.print("Distance = ");
Serial.println("Out of range");
}
else {
Serial.print("Distance = ");
Serial.print(distance);
Serial.println(" cm");
delay(500);
}
delay(500);
}

Arduino ile Mesafe Ölçümünü LCD Ekranda Gösterme

Buradaki bağlantı şemasından faydalanarak ekranı az önce kurduğumuz sisteme dahil ediyoruz. Ardından aşağıdaki kodu kullanarak ölçeceğimiz mesafeyi ekranda görüntüleyebiliyoruz.

#include
#define trigPin 10
#define echoPin 13

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
}

void loop() {
float duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);

digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);
distance = (duration / 2) * 0.0344;

if (distance >= 400 || distance <= 2){
lcd.print("Out of range");
delay(500);
}
else {
lcd.print(distance);
lcd.print(" cm");
delay(500);
}
delay(500);
lcd.clear();
}

Arduino ile mesafe ölçümü projesinin sonuna geldik. Buna benzer pek çok benzer uygulama için Motorobit'i takipte kalın!