⚡ Arduino Projeleri 📅 16 Ekim 2026

Arduino ile Mesafe Sensörü Kullanımı: HC-SR04 Rehberi

Arduino ile HC-SR04 ultrasonik mesafe sensörü nasıl kullanılır? Devre bağlantısı, ses hızı formülü, pin tablosu ve çalışan C++ kodları rehberi.

Arduino ile Mesafe Sensörü Kullanımı: HC-SR04 Rehberi

Robotik projelerinde bir robotun "gözleri" olmadan çevresini algılaması ve otonom hareket etmesi imkansızdır. Bir robotun önündeki engelleri fark etmesini, duvara olan uzaklığını ölçmesini veya bir park sensörü gibi sesli uyarı vermesini sağlayan en popüler ve ekonomik donanım **HC-SR04 Ultrasonik Mesafe Sensörü**dür.

Peki HC-SR04 sensörü nasıl çalışır? İki küçük hoparlöre benzeyen gözleri ne işe yarar? Ses hızı formülü koda nasıl dökülür ve Arduino bağlantıları nasıl yapılır? Bu kapsamlı rehberde, HC-SR04 ultrasonik sensörünü sıfırdan uzmanlık seviyesine kadar inceliyoruz.

---

1. HC-SR04 Sensörünün Çalışma Prensibi: Yarasaların Doğadaki Radarı

HC-SR04 sensörünün çalışma mantığı, yarasaların doğada yön bulmak için kullandığı **"Ekolokasyon" (Yankı ile Konum Belirleme)** prensibine dayanır.

Sensörün ön yüzünde iki adet metal silindir transdüser bulunur:

1. **Trigger (Tetikleyici - Verici):** Havaya insan kulağının duyamayacağı **40.000 Hz (40 kHz)** frekansında 8 darbeli ultrasonik bir ses patlaması gönderir.

2. **Echo (Yankı - Alıcı):** Gönderilen ses dalgası havadaki bir cisme çarpıp geri döndüğünde bu yankıyı yakalar.

Mesafe Matematiksel Olarak Nasıl Hesaplanır?

  • Havada ses hızı yaklaşık **340 m/s** veya **0.0343 cm/mikrosaniye**dir.
  • Ses dalgası cisme gidip geri döndüğü için geçen süreyi ikiye bölmemiz gerekir.
  • Formül: `Mesafe (cm) = (Geçen Süre x 0.0343) / 2` veya pratik hesapla `Mesafe = Süre / 58.2`.
  • ---

    2. HC-SR04 Teknik Özellikler Tablosu

    | Özellik | Değer |

    |---|---|

    | **Çalışma Gerilimi** | 5V DC |

    | **Çektiği Akım** | ~15 mA |

    | **Çalışma Frekansı** | 40 kHz |

    | **Ölçüm Mesafesi Aralığı** | 2 cm ile 400 cm (4 Metre) arası |

    | **Ölçüm Hassasiyeti** | Yaklaşık 0.3 cm (3 mm) |

    | **Ölçüm Açısı** | Yaklaşık 15 Derece Konik Alan |

    | **Tetikleme Giriş Sinyali** | 10 mikrosaniyelik TTL HIGH darbesi |

    ---

    3. Devre Şeması ve Pin Bağlantı Tablosu

    | Sensör Pini | Arduino Pini | Kablo Rengi (Öneri) |

    |---|---|---|

    | **VCC** | 5V Pini | Kırmızı |

    | **Trig** | Dijital Pin 9 | Sarı |

    | **Echo** | Dijital Pin 8 | Yeşil |

    | **GND** | GND Pini | Siyah |

    ---

    4. Tam ve Çalışan Arduino C++ Kodları

    /*
     * RobotKodla.com - Sensör Kılavuzları
     * Proje: HC-SR04 ile Mesafe Ölçümü
     */
    
    const int trigPin = 9;
    const int echoPin = 8;
    
    long sure;
    int mesafeCm;
    
    void setup() {
      pinMode(trigPin, OUTPUT);
      pinMode(echoPin, INPUT);
      
      Serial.begin(9600);
      Serial.println("HC-SR04 Mesafe Sensörü Başlatıldı...");
    }
    
    void loop() {
      digitalWrite(trigPin, LOW);
      delayMicroseconds(2);
      digitalWrite(trigPin, HIGH);
      delayMicroseconds(10);
      digitalWrite(trigPin, LOW);
    
      sure = pulseIn(echoPin, HIGH);
      mesafeCm = sure * 0.034 / 2;
    
      if (mesafeCm > 400 || mesafeCm < 2) {
        Serial.println("Menzil Disi!");
      } else {
        Serial.print("Olculen Mesafe: ");
        Serial.print(mesafeCm);
        Serial.println(" cm");
      }
    
      delay(200);
    }

    ---

    5. HC-SR04 İçin NewPing Kütüphanesi ve Filtreleme Algoritmaları

    Standart `pulseIn()` fonksiyonu, sensörden yankı gelmediğinde işlemciyi 1 saniyeye kadar bekleterek kod akışını yavaşlatabilir. Profesyonel robotik projelerinde bunun önüne geçmek için **NewPing** kütüphanesi kullanılır:

  • **NewPing Avantajı:** Dahili zaman aşımı (timeout) kontrolü sayesinde sinyal dönmediğinde programı kilitlemez.
  • **Hatalı Ölçümleri Filtreleme (Median Filtresi):** Robot araba hareket halindeyken hava titreşimleri veya açı kaymaları nedeniyle anlık uçuk ölçümler gelebilir. `sonar.ping_median(5)` fonksiyonu peş peşe 5 hızlı ölçüm alır, uç değerleri atar ve ortanca (medyan) değeri döndürerek pürüzsüz bir mesafe verisi sağlar.
  • ---

    6. HC-SR04 Kullanırken Dikkat Edilmesi Gereken Sınırlar

  • **Yumuşak Yüzeyler:** Pelüş oyuncaklar, perde veya kalın süngerler ses dalgalarını yansıtmak yerine emer. Bu tür kumaşlara karşı sensör mesafeyi okuyamaz.
  • **Eğimli Açılar:** Eğer cisim sensöre dik değil de 45 dereceden fazla açıyla duruyorsa, ses dalgası geri yansımak yerine tavana sekebilir.
  • **Sıcaklık Değişimi:** Sesin havadaki hızı ortam sıcaklığına göre hafifçe değişir (0°C'de 331 m/s iken, 25°C'de 346 m/s'dir).
  • ---

    7. Bu Sensörle Yapılabilecek 5 Popüler Proje

    1. **Sesli Araç Park Sensörü:** Mesafeye göre aralıkları hızlanan buzzer ekleyin.

    2. **Engelden Kaçan Otonom Robot:** Önündeki engel 20 cm altına indiğinde durup geri giden robot araba yapın.

    3. **Temassız Akıllı Çöp Kutusu:** El yaklaştığında kapağı açan servo motorlu hijyen kovası.

    4. **Dijital LCD Metre:** Ölçülen mesafeyi 16x2 ekranda cetvel gibi gösteren el tipi ölçüm cihazı.

    5. **Sosyal Mesafe Uyarı Cihazı:** 1.5 metreden fazla yaklaşıldığında kırmızı ışık yakan taşınabilir cihaz.

    ---

    ---

    8. HC-SR04 Sensöründe NewPing Kütüphanesi ve Filtreleme Teknikleri

    Standart `pulseIn()` fonksiyonu, ses dalgası bir engele çarpmayıp geri dönmediğinde işlemciyi 1 saniye boyunca bekletebilir. Bu durum özellikle hızlı hareket eden robot arabalarda gecikmelere ve kazalara yol açar.

    Profesyonel projelerde bu sorunu aşmak için **NewPing** kütüphanesi tercih edilir:

  • **Dahili Zaman Aşımı Kontrolü:** Maksimum menzil aşıldığında işlemciyi bekletmeden anında 0 döndürür.
  • **Medyan Filtresi ile Gürültüyü Yok Etme:** Robot araba giderken oluşan titreşimler veya ses yankıları anlık olarak hatalı uç değerler (örneğin 20 cm yerine aniden 0 veya 300 cm) üretebilir. `sonar.ping_median(5)` fonksiyonu peş peşe 5 çok hızlı ölçüm alır, en yüksek ve en düşük hatalı değerleri eler ve ortadaki medyan değeri verir. Bu sayede kusursuz ve titreşimsiz bir mesafe verisi elde edilir.
  • ---

    9. Ultrasonik Sensör ile İlgili Sıkça Sorulan Sorular

    Sensör su geçirmez midir, açık alanda yağmurda çalışır mı?

    Standart mavi HC-SR04 sensörü su geçirmez değildir; transdüserlerin içine su girerse kısa devre yapar. Açık hava, araba geri görüş veya su deposu projelerinde su geçirmez proba sahip **JSN-SR04T** ultrasonik sensör modeli kullanılmalıdır.

    İki ultrasonik sensör yan yana kullanılırsa birbirini bozar mı?

    Eğer iki sensör aynı anda aynı frekansta (40 kHz) ses fırlatırsa birinin sesi diğerine çarparak yanlış ölçüm yapabilir. Çözüm, sensörleri aynı anda değil aralarında 30-50 milisaniye gecikme koyarak sırayla tetiklemektir.

    ---

    ---

    10. Kapsamlı Sıkça Sorulan Sorular (SSS)

    HC-SR04 sensörü cam veya şeffaf nesneleri algılayabilir mi?

    Evet! Ultrasonik sensörler ışık değil ses dalgası kullandığı için kızılötesi veya lazer sensörlerin aksine şeffaf camı, şeffaf plastik şişeleri ve pleksi yüzeyleri kusursuz şekilde algılarlar. Bu özellikleri sayesinde şeffaf engelleri fark etmede en güvenilir sensördür.

    Sensör neden bazen sürekli 0 veya 1100 cm değeri üretir?

    Bu durum iki nedenden kaynaklanır: Birincisi Trig ve Echo kablolarının breadboard üzerinde yer değiştirmesidir. İkincisi ise ses dalgasının hiçbir yankı almadan uzayda kaybolması (zaman aşımı) durumunda `pulseIn()` fonksiyonunun 0 döndürmesidir.

    Sensör ile mesafe ölçümünde sıcaklık kalibrasyonu nasıl yapılır?

    Ses hızı formülü `V = 331.3 + (0.606 * T)` şeklindedir (T ortam sıcaklığıdır). Devrenize bir DHT11 sıcaklık sensörü ekleyerek anlık sıcaklığa göre ses hızını dinamik güncellerseniz milimetrik doğrulukta bir hassasiyet elde edebilirsiniz.

    ---

    Sonuç

    HC-SR04, robotik dünyasının en ekonomik ve vazgeçilmez duyu organıdır. Bu sensörle yapacağınız uygulamalı projelerin devre şemaları ve kodları için sitemizin [Projeler](/projeler) sekmesini ziyaret edebilirsiniz!