HC-SR04 Sensör Kullanımı ve Ses Hızı Hesaplayıcı

HC-SR04

Bu yazımda, HC-SR04 Sensör Kullanımı hakkında detaylı bilgiler vereceğim. İnternette bulduğunuz çoğu kod, hazır olarak kopyalanıp alındığı için, ses hızı sabiti olarak hep 29.1 olarak kabul ediliyor. Bu aslında yanlış bir değer, ortamınız sıcak ise ses hızı artacağı için, sabitimizin değeri aslında düşecek. İşte ben burada bu değeri siz kendinize göre nasıl hesaplayacaksınız, ondan biraz bahsedeceğim ve ayrıca yaptığım hesap makinesini de sizinle paylaşacağım. Bu sayede hiçbir şey ile uğraşmadan, ortam sıcaklığı değerini girip, sabitimizi hızlı bir şekilde alabileceğiz.

Gerekenler

  • 1 Adet Arduino Uno
  • 1 Adet HC-SR04 Sensör
  • 4 Adet Dişi-Erkek Jumper Kablo

Devre Şeması

HC-SR04-Devre
HC-SR04-Devre Şeması

Kodlar

Şimdi HC-SR04 Sensör Kullanımı için Arduino’muza aşağıdaki kodları yükleyeceğiz. Yalnız dikkat etmeniz gereken bir nokta var, varsayılan olarak her yerde dolaşan o 29.1 değeri yerine, hesap makinesinden alacağınız kullanın.

Yani sistemin sürekli çalışacağı ortamın sıcaklığını hesap makinesine girip gereken değeri alıp 29.1 yerine yazmanız gerekli.

Hesap Makinesi: https://cl.rimtay.com/hcsr04tr

// Trigger (tetikleyici) Pini
#define trigPin 9

// Echo (yankı) Pini
#define echoPin 8
 
void setup() {
	Serial.begin (9600);
	pinMode(trigPin, OUTPUT);
	pinMode(echoPin, INPUT);
}

void loop() {
	long sure, mesafe;
	digitalWrite(trigPin, LOW);
	
	delayMicroseconds(2);
	digitalWrite(trigPin, HIGH);
	
	delayMicroseconds(10);
	digitalWrite(trigPin, LOW);
	
	sure = pulseIn(echoPin, HIGH);
	
	// Hesap makinesinden alacağınız sonucu 29.1 ile değiştirin
	// Hesap Makinesi: https://cl.rimtay.com/hcsr04tr

	mesafe = (sure / 2) / 29.1;

	Serial.println("Mesafe = " + mesafe);
	Serial.print(" cm");
	Serial.println("---------------------------");
	delay(250);
}

Nasıl Hesaplama Yapılır?

Şimdi meraklılarına 29.1 değerinin başta nasıl hesaplandığı, ve benim hesap makinem nasıl çalışıyor onu anlatayım kısaca.

Ses hızı; bulunduğu ortamın sıcaklığına göre değişir. Bu Wikipedia makalesine bakarak da detayları inceleyebilirsiniz.

Ses Hızı Hesaplama
v değeri sıcaklıktır

Formül

İşte buradan yola çıkarak ses hızını hesaplarız. Yalnız 29.1 değerine ulaşabilmemiz için bazı hesaplamalar yapmamız gerekiyor. Bizim elimizde süre var; mesafeyi istiyoruz. Fizik dersinde gördüğümüz;

Mesafe = Hız * Süre

Mesafe Formülü

Süre ve hız bilindiği için ve sensöre gelen süre gidiş ve gelişi hesapladığı için; süreyi ikiye bölüp onu ses hızı ile çarpmamız lazım.

Mesafe = Süre / 2 * Hız

Peki biz çarpmak yerine neden böldük?

Çünkü herkes öyle yapıyor 🙂 Yani ses hızını direk çarmak yerine 20° sıcaklıktaki ses hızını; 1/ses hızı olarak hesaplayıp 29.1 buluyorlar, ve ardından formülümüzdeki gibi Süre * Hız yapmak yerine Süre / (1 / Hız) yapıyorlar.

Mesafe = (Süre / 2) / (1/Hız)

Matematikten anlayan arkadaşlar, bu formülün yukarıdaki ile aynı olduğunu çok rahatça anlayacaklardır.

Herkes bu şekilde hesaplayıp kodunu bu şekilde yazdı diye, ben de 1/Hız olarak sonuç vermesi için Hesap Makinemi o şekilde güncelledim.

Hesap makinesinin PHP kaynak kodlarını görmek için tıklayın.

2 Comments

You can post comments in this post.


  • Sonunda aradığım içeriği buldum, teşekkür ediyorum efendim..

    Ali Mert 3 ay ago Reply


    • Ben teşekkür ederim 🙂

      Evrim Altay 3 ay ago Reply


Post A Reply