ROBOTKODLA
ROBOTKODLA Genç Mucit

Eğlen, Kodla, Geleceği Tasarla

Model: HC-SR04 Sensör Modülü (Breakout) Başlangıç Seviye Üretici: ElecFreaks / Generic

HC-SR04 Ultrasonik Mesafe Sensörü

2 cm ile 400 cm arasında temassız ultrasonik ses dalgalarıyla mesafe ölçen, engelden kaçan robotların vazgeçilmez sensörüdür.

Önemli Güvenlik ve Teknik Sınırlama Bilgisi

Ses dalgaları yumuşak kumaş, sünger veya kürk kaplı yüzeylerden zayıf yansıyabilir. Su geçirmez değildir; dış ortam için JSN-SR04T tercih edilmelidir.

Teknik Özellikler ve Elektriksel Parametreler

Çalışma Voltajı 4.50V - 5.50V Lojik Seviye Giriş/Çıkış
Akım Tüketimi 15 mA (ölçüm), < 2 mA (bekleme) Tipik çalışma modu
Haberleşme Arayüzü Dijital Pulse (TRIG / ECHO) Protokol türü
Ölçüm Aralığı 2 cm - 400 cm (Ölçüm Açısı: 15°) Etkili çalışma sınırı
Hassasiyet / Doğruluk±3 mmÖlçüm sapma payı
Tepki Süresi< 50 ms (50 Hz frekans)Örnekleme hızı
Ölçüm TürüUltrasonik Ses Dalgalı MesafeFiziksel büyüklük
Pin Sayısı4 PinModül header pinleri

Pin Bağlantıları ve Görevleri (Pinout)

Pin #Pin AdıSinyal TürüGörev & Açıklama
1 VCC Güç Girişi +5V DC regüle güç hattı
2 TRIG Dijital Giriş Tetikleme pini (Mikrodenetleyiciden 10 µs HIGH darbesi alır)
3 ECHO Dijital Çıkış Yankı pini (Sesin gidiş-dönüş süresi boyunca HIGH kalır)
4 GND Toprak (0V) Ortak toprak bağlantı pini

Geliştirme Kartı Uyumluluk Durumu

Arduino Uno / Nano ✓ Uyumlu
5V Lojik

Doğrudan bağlantı ve yerleşik 5V desteği.

ESP32 (NodeMCU) ✓ Uyumlu
3.3V Lojik

Sensör 5V çıkış veriyorsa ESP32 GPIO pini için 1k/2k voltaj bölücü direnç gereklidir.

Raspberry Pi Pico ✓ Uyumlu
3.3V Lojik

MicroPython veya C/C++ SDK ile desteklenir.

BBC Micro:bit ✓ Uyumlu
3.3V Lojik

MakeCode blokları veya MicroPython ile uyumlu.

STM32 (BluePill) ✓ Uyumlu
3.3V (5V Tolerant)

5V tolerant GPIO pinleri doğrudan bağlanabilir.

Örnek Kaynak Kod Kütüphanesi

Arduino Uno Arduino C++ ✓ Test Edildi

Kütüphanesiz Hassas Mesafe Ölçümü Kodu

Gerekli Kütüphaneler: Harici kütüphane gerektirmez (Standart SDK)
// RobotKodla.com - HC-SR04 Ultrasonik Mesafe Ölçüm Kodu
const int trigPin = 9;
const int echoPin = 10;

long duration;
float distanceCm;

void setup() {
  Serial.begin(9600);
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  Serial.println("HC-SR04 Mesafe Sensörü Başlatıldı...");
}

void loop() {
  // Temiz bir sinyal için TRIG pinini 2 mikrosaniye LOW yap
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);

  // 10 mikrosaniyelik tetikleme darbesi gönder
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  // ECHO pininden yankı süresini mikrosaniye cinsinden oku
  duration = pulseIn(echoPin, HIGH, 30000); // 30ms timeout

  // Ses hızı: 0.0343 cm/us -> Gidiş-Dönüş / 2
  distanceCm = (duration * 0.0343) / 2;

  if (duration == 0 || distanceCm > 400 || distanceCm < 2) {
    Serial.println("Menzil Dışı / Engel Algılanamadı");
  } else {
    Serial.print("Ölçülen Mesafe: ");
    Serial.print(distanceCm, 1);
    Serial.println(" cm");
  }

  delay(100); // Ölçümler arasında 100ms bekle
}
Seri Monitör Çıktısı (Simülasyon):
HC-SR04 Mesafe Sensörü Başlatıldı...
Ölçülen Mesafe: 28.4 cm
Ölçülen Mesafe: 28.5 cm
Ölçülen Mesafe: 14.2 cm

Çalışma Mantığı ve Fiziksel İlkeler

HC-SR04 Çalışma Prensibi

HC-SR04 ultrasonik sensörü, yarasaların yön bulma prensibine (ekolokasyon) dayalı olarak çalışır. Modül üzerinde iki adet metal silindirik transdüser (dönüştürücü) bulunur:

  • Verici (Transmitter - T): 40 kHz frekansında insan kulağının duyamayacağı 8 çevrimlik ultrasonik ses patlaması yayar.
  • Alıcı (Receiver - R): Nesneye çarpıp geri dönen yankı (echo) dalgasını yakalar.
  • Mesafe Hesaplama Formülü

    Sesin 20°C oda sıcaklığındaki havadaki yayılma hızı yaklaşık 343 m/s (0.0343 cm/µs) dir. Ses sinyali hedefe gidip geri döndüğü için geçen sürenin yarısı alınır:

    $$\text{Mesafe (cm)} = \frac{\text{Süre (mikrosaniye)} \times 0.0343}{2}$$

    ESP32 ve 3.3V Dikkat Edilmesi Gerekenler

    HC-SR04 standart olarak 5V besleme ile çalışır ve ECHO pininden 5V lojik sinyal üretir. ESP32 ve Raspberry Pi Pico GPIO pinleri 3.3V toleranslıdır. 5V sinyal doğrudan bağlanırsa mikrodenetleyici pinini yakabilir. Bu nedenle ECHO pini ile ESP32 arasına 1 kΩ ve 2 kΩ voltaj bölücü direnç bağlanmalıdır.

    Artıları ve Sınırlamaları

    Güçlü Yönleri (Avantajlar)
  • Son derece ekonomik ve kolay bulunabilir.
  • 2 cm ile 4 metre arasında doğrusal ve güvenilir ölçüm.
  • Hedefin renginden veya ortam ışığından etkilenmez (karanlıkta da çalışır).
  • Geniş açık kaynak kütüphane desteği (NewPing vb.).
  • Sınırlamaları (Dezavantajlar)
  • Ses dalgalarını yutan sünger, kumaş veya açılı yüzeylerde hatalı ölçüm yapabilir.
  • 15 derecelik algılama konisi nedeniyle çok dar alanlarda yan duvarları engel sanabilir.
  • Ses hızı sıcaklıkla değiştiğinden aşırı soğuk/sıcak ortamlarda kalibrasyon gerekir.
  • Sık Karşılaşılan Sorunlar ve Çözümleri

  • Sürekli 0 cm veya 3000 cm okuma: TRIG pinine en az 10 mikrosaniyelik HIGH darbesi verilmediğinde veya kablo temassızlığında oluşur.
  • Gürültülü / atlamalı veri: Sensörün çok hızlı (50 ms'den daha sık) tetiklenmesi eski yankılarla çakışma yaratır.