Web siteme hoşgeldiniz, 03 Aralık 2025
muratdonmez.com.tr
Anasayfa » IOT » HC-SR04 Ultrasonik Mesafe Sensörü: Nedir, Nasıl Çalışır?

HC-SR04 Ultrasonik Mesafe Sensörü: Nedir, Nasıl Çalışır?

HC-SR04 Ultrasonik Mesafe Sensörü: Nedir, Nasıl Çalışır?

HC-SR04 Nedir?

HC-SR04, robotik ve hobi elektroniği projelerinde en yaygın kullanılan ultrasonik mesafe sensörüdür. Görevi çok basittir: karşısındaki bir nesne (engel) ile arasındaki mesafeyi, insan kulağının duyamayacağı ses dalgalarını (ultrasonik) kullanarak ölçmek.

Çalışma prensibi, yarasaların veya yunusların yönlerini bulmak için kullandığı Ekolokasyon (Echolocation) veya gemilerdeki SONAR sistemi ile birebir aynıdır. Bir ses dalgası gönderir, bu dalganın bir engele çarpıp geri dönmesini bekler ve aradaki süreyi hesaplayarak mesafeyi bulur.

HC-SR04 Nasıl Çalışır? (Trig ve Echo)

HC-SR04 sensörünün üzerinde iki adet metal silindir bulunur. Bunlar bir verici (Transmitter) ve bir alıcıdır (Receiver). Sensörün 4 adet pini vardır:

  • VCC: 5V Güç girişi
  • Trig (Trigger – Tetikleyici): Sensörün ses dalgasını göndermesi için tetik sinyalinin verildiği pin (Giriş).
  • Echo (Echo – Yankı): Ses dalgası geri döndüğünde, mesafeyi hesaplamamız için bize sinyal üreten pin (Çıkış).
  • GND: Toprak (Şase)

Ölçüm Adımları:

  1. Tetikleme (Trigger): Mikrokontrolcü (Arduino vb.), Trig pinine 10 mikrosaniye (µs) süren kısa bir ‘YÜKSEK’ (HIGH) sinyal gönderir.
  2. Ses Gönderme: Bu sinyali alan sensör, 40 kHz frekansında 8 çevrimlik bir ultrasonik ses dalgası patlamasını vericisinden (Transmitter) gönderir.
  3. Yankı Bekleme: Ses dalgasını gönderdiği anda, sensör Echo pinini ‘YÜKSEK’ (HIGH) seviyeye çeker.
  4. Yankı Alma: Gönderilen ses dalgası bir engele çarpar ve geri yansır. Yansıyan dalga, sensörün alıcısına (Receiver) ulaştığı anda, sensör Echo pinini ‘DÜŞÜK’ (LOW) seviyeye çeker.
  5. Süre Ölçümü: Bizim görevimiz, Echo pininin ne kadar süre ‘YÜKSEK’ (HIGH) kaldığını mikrosaniye cinsinden ölçmektir. Bu süre, sesin engele gidip geri dönmesi için geçen toplam uçuş süresidir.

HC-SR04 Ultrasonik Sensör

Mesafe Nasıl Hesaplanır?

Fizik burada devreye giriyor. İhtiyacımız olan iki bilgi var:

  1. Sesin Hızı: Yaklaşık 340 m/s (saniyede 340 metre).
  2. Echo Süresi: Echo pininin YÜKSEK kaldığı süre (mikrosaniye cinsinden).

Hesaplamayı basitleştirelim:

  • Ses hızı = 340 m/s=34000 cm/s
  • Mikrosaniye cinsinden (saniyenin milyonda biri): 34000 cm/1.000.000 µs=0.034 cm/µs. (Yani ses, 1 mikrosaniyede 0.034 cm yol alır.)

Formülümüz: Mesafe = (Geçen Süre * Ses Hızı) / 2

Neden 2’ye Bölüyoruz? Çünkü ölçtüğümüz süre, sesin engele gidip geri dönmesi için geçen süredir. Bize sadece gidiş (tek yön) mesafesi lazım.

Arduino Kodu için Pratik Formül: Mesafe (cm) = (ölçülen_süre_mikrosaniye * 0.034) / 2

Bu formül, matematikte genellikle şu şekilde daha basit kullanılır: Mesafe (cm) = ölçülen_süre_mikrosaniye / 58.8 (Çünkü 1/0.034/2≈58.8)

Arduino ile Kullanımı

Bağlantı:

  • VCC -> Arduino 5V
  • GND -> Arduino GND
  • Trig -> Arduino Dijital Pin (örn: 9)
  • Echo -> Arduino Dijital Pin (örn: 10)

Örnek Kod:

//muratdonmez.com.tr
#define trigPin 9
#define echoPin 10

long duration;
float distance;

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

void loop() {
  // 1. Trig sinyalini gönder
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10); // 10µs tetikleme
  digitalWrite(trigPin, LOW);

  // 2. Echo pininin YÜKSEK kalma süresini ölç
  // pulseIn() fonksiyonu bu işi otomatik yapar
  duration = pulseIn(echoPin, HIGH);

  // 3. Mesafeyi hesapla
  distance = duration / 58.8; // Veya (duration * 0.034) / 2

  // 4. Ekrana yazdır
  Serial.print("Mesafe: ");
  Serial.print(distance);
  Serial.println(" cm");

  delay(100); // Yeni ölçüm için kısa bir bekleme
}

Kullanım Alanları ve Limitleri

  • Kullanım Alanları:
    • Engel algılama (Park sensörleri)
    • Engel’den kaçan robotlar
    • Sıvı seviyesi ölçümü (Depodaki suya olan mesafeyi ölçerek)
    • Otomatik kapılar
    • Güvenlik sistemleri
  • Dezavantajları:
    • Algılama Açısı: Yaklaşık 15 derecelik bir koni içinde algılama yapar. Lazer sensörler gibi noktasal değildir.
    • Yumuşak Yüzeyler: Kumaş, sünger, kar gibi yumuşak ve sesi emen yüzeyleri algılamakta zorlanır.
    • Eğimli Yüzeyler: Ses dalgası çok eğimli bir yüzeye çarparsa, yankı farklı bir yöne seker ve sensöre geri dönmez, bu da ölçüm hatasına neden olur.

ESP32 (Arduino IDE) Örnek Kodu

Gerekli Kütüphane: “NewPing by Tim Eckel”

//muratdonmez.com.tr
#include <NewPing.h>

#define TRIG_PIN 5
#define ECHO_PIN 18 // Voltaj bölücü ile bağlı!
#define MAX_DISTANCE 400 // Maksimum ölçüm mesafesi (cm)

NewPing sonar(TRIG_PIN, ECHO_PIN, MAX_DISTANCE);

void setup() {
  Serial.begin(115200);
  Serial.println("HC-SR04 Mesafe Sensörü Testi");
  Serial.println("UYARI: Echo pini için voltaj bölücü kullandığınızdan emin olun!");
}

void loop() {
  delay(50); // Okumalar arası bekle

  int distance = sonar.ping_cm();

  Serial.print("Mesafe: ");
  if (distance == 0) {
    Serial.println("Menzil dışında.");
  } else {
    Serial.print(distance);
    Serial.println(" cm");
  }
}

Eğer akıllı ev, IOT projeleri ile ilgili sorularınız veya yapmak istediğiniz bir projeniz varsa, yedek alma ve yedekten dönme planınız veya felaket kurtarma planınız yoksa, işletmeniz için nasıl bir Sunucu, Bilgisayar veya Kesintisiz Güç Kaynağı seçmeniz gerektiğini bilmiyorsanız danışmanlık hizmetlerimden faydalanmak isterseniz bana WhatsApp üzerinden ulaşabilirsiniz.

İlgili Yazılar

Sık Sorulan Sorular

  • HC-SR04 ultrasonik sensör nedir?
    HC-SR04, bir engele olan mesafeyi ölçmek için insan kulağının duyamadığı ses dalgalarını (ultrasonik) kullanan bir elektronik sensördür.
  • Trig (Tetikleyici) ve Echo (Yankı) pinleri ne işe yarar?
    Trig pini, sensöre “ses dalgasını şimdi gönder” komutunu vermek için kullanılır (tetikleyici). Echo pini ise, sesin gidip geri dönmesi süresince ‘YÜKSEK’ (HIGH) sinyal üreten, bizim süreyi ölçtüğümüz pindir (yankı).
  • Mesafe formülünde neden süre 2’ye bölünür?
    Çünkü sensörün Echo pini ile ölçtüğü süre, sesin hem engele gidişi hem de engelden dönüşü için geçen toplam süredir. Bize sadece tek yön (gidiş) mesafesi gerektiği için bu toplam süreyi 2’ye böleriz.
  • HC-SR04 her engeli algılayabilir mi?
    Hayır. Ses dalgalarını emen yumuşak yüzeyleri (sünger, yün, kumaş) veya sesi farklı bir yöne yansıtan çok eğimli/keskin yüzeyleri algılamakta zorlanabilir.
  • HC-SR04 sensörünün algılama mesafesi nedir?
    Sensörün etkili algılama aralığı genellikle 2 santimetre ile 400 santimetre (4 metre) arasıdır.

Etiketler:

BU KONUYU SOSYAL MEDYA HESAPLARINDA PAYLAŞ
Yorumlar

Henüz yorum yapılmamış.

Yorum Yaz