HC-SR04 Ultrasonik Mesafe Sensörü
HC-SR04 ultrasonik mesafe sensörü: 2-400 cm temassız ölçüm
HC-SR04, ses ötesi dalga gönderip yankısını dinleyerek önündeki cisme olan uzaklığı ölçen bir ultrasonik mesafe sensörüdür. 2 cm ile 400 cm arasında temassız ölçüm yapar; 3 mm'ye kadar çözünürlük verir. Arduino, ESP32 ve benzeri kartlarla iki dijital pinle çalışır. Engelden kaçan robot, park sensörü, su deposu seviye ölçümü ve radar gibi projelerde HC-SR04 en çok kullanılan başlangıç sensörüdür.

Nasıl çalışır?
Trig pinine en az 10 µs süren bir HIGH sinyal verildiğinde modül, T (verici) kapsülünden 40 kHz frekansında 8 darbelik bir ses dalgası gönderir. Dalga bir cisme çarpıp R (alıcı) kapsülüne dönene kadar Echo pini HIGH kalır. Echo süresi mikrosaniye cinsinden ölçülür ve 58'e bölünerek santimetre bulunur (ses, yolu gidip geldiği için iki kez kat eder). Datasheet, yankının bir sonraki ölçüme karışmaması için ölçümler arasında en az 60 ms bırakılmasını önerir.
Teknik özellikler
| Çalışma voltajı | 5 V DC |
| Çalışma akımı | 15 mA |
| Ultrasonik frekans | 40 kHz |
| Ölçüm aralığı | 2 cm - 400 cm |
| Çözünürlük | 3 mm'ye kadar |
| Ölçüm açısı | 15° |
| Tetik (Trig) sinyali | 10 µs TTL darbe |
| Echo çıkışı | Süresi mesafeyle orantılı TTL darbe (5 V) |
| Ölçüm aralığı önerisi | 60 ms ve üzeri |
| Ölçüler | 45 x 20 x 15 mm |
| Pinler | VCC, Trig, Echo, GND (2,54 mm erkek pin) |
HC-SR04 datasheet'ini indir (PDF, İngilizce)
Arduino ve ESP32 bağlantısı
Arduino UNO ve Nano 5 V ile çalıştığı için dört pin doğrudan bağlanır: VCC 5V'a, Trig D9'a, Echo D10'a, GND GND'ye. ESP32 ve Raspberry Pi Pico gibi 3,3 V kartlarda modül yine 5 V ile beslenir, ancak Echo çıkışı 5 V olduğu için 1 kΩ ve 2 kΩ dirençlerle gerilim bölücü kurularak yaklaşık 3,3 V'a düşürülür. Bölücü olmadan bağlamak kartın pinine zarar verebilir.
Sensörü breadboard'suz bağlamak için dişi-erkek jumper kablo kullanılır. Kütüphane gerekmez; aşağıdaki kod mesafeyi seri monitöre santimetre olarak yazar:
const int TRIG_PIN = 9;
const int ECHO_PIN = 10;
void setup() {
pinMode(TRIG_PIN, OUTPUT);
pinMode(ECHO_PIN, INPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(TRIG_PIN, LOW);
delayMicroseconds(2);
digitalWrite(TRIG_PIN, HIGH);
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
unsigned long sure = pulseIn(ECHO_PIN, HIGH, 30000);
if (sure == 0) {
Serial.println("Yankı yok (menzil dışı)");
} else {
Serial.print(sure / 58.0);
Serial.println(" cm");
}
delay(60);
}
Doğru ölçüm için ipuçları
- Hedef yüzey: Datasheet doğru ölçüm için en az 0,5 m² ve olabildiğince düz bir yüzey önerir. Küçük, ince ya da eğik cisimler yankıyı sensöre geri göndermeyebilir.
- Yumuşak malzemeler: Kumaş, sünger ve halı sesi emer; bu yüzeylerde ölçüm kısa kalabilir ya da hiç yankı gelmeyebilir.
- Kör bölge: 2 cm'den yakın cisimler ölçülmez. Sensörü robotun en ön noktasından birkaç santimetre geride konumlandırın.
- Birden fazla sensör: Aynı anda tetiklenen iki HC-SR04 birbirinin yankısını duyabilir; sensörleri sırayla, aralarında 60 ms bırakarak tetikleyin.
- Bağlantı sırası: Datasheet, modül enerjili bir devreye takılacaksa önce GND'nin bağlanmasını önerir.
Kullanım alanları
- Engelden kaçan robot ve labirent robotu
- Arduino park sensörü, mesafe ölçer, dijital cetvel
- Servo motorla döndürülerek radar uygulaması (SG90 servo motor ile)
- Su deposu veya hazne seviye ölçümü (nemli ortamda modülü sudan ve buğudan koruyun)
- Kapı önü, otopark ve sayaç gibi varlık algılama projeleri
Uyumlu ürünler
- Denetleyici: Arduino UNO R3, Arduino Nano veya ESP32 WROOM-32 (Echo için gerilim bölücüyle)
- Montaj: HC-SR04 ultrasonik sensör bağlantı aparatı (pleksiglas tutucu, vida ve somunlu)
- Bilgisayarsız ölçüm: HC-SR04 mesafe ölçüm modülü ölçülen mesafeyi 3 haneli ekranda gösterir (sensör o pakete dahil değildir)
- Kısa mesafede hızlı algılama için kızılötesi alternatif: RZ60S kızılötesi mesafe sensörü
- Diğer seçenekler: çizgi, cisim ve mesafe sensörleri
Sık sorulan sorular
HC-SR04 ESP32 veya Raspberry Pi ile çalışır mı?
Çalışır. Modülü 5 V ile besleyin; Echo çıkışını 1 kΩ ve 2 kΩ dirençlerle kurulan gerilim bölücüden geçirerek 3,3 V'a düşürün. Bölücüsüz bağlantı kartın pinine zarar verebilir.
Sensör hep 0 ya da sabit bir değer gösteriyor.
Trig ve Echo pinlerinin koddakiyle aynı pinlere takıldığını ve modülün 5 V ile beslendiğini kontrol edin. Önünde 2 cm'den yakın bir cisim olmamalı. Koddaki "pulseIn" zaman aşımına uğruyorsa yankı gelmiyordur: sensörü düz ve sert bir yüzeye doğru tutup tekrar deneyin. Sorun sürerse kodunuz ve bağlantı fotoğrafınızla destek ekibimize yazın.
Ölçümler zaman zaman zıplıyor, nasıl düzeltirim?
Ölçümler arasında en az 60 ms bekleyin ve birkaç ölçümün ortalamasını ya da ortancasını alın. Eğik yüzeyler, yumuşak malzemeler ve yakındaki ikinci bir ultrasonik sensör sapmaya yol açar.
Kaç metreye kadar ölçer?
Datasheet'teki aralık 2-400 cm'dir. Uzak mesafede doğru ölçüm için hedefin büyük ve düz olması gerekir; küçük cisimler daha yakından algılanır.
Su geçirmez mi?
Hayır. HC-SR04 açık devreli bir modüldür, su ve yoğun nemden korunmalıdır.