HC-SR04 Mesafe Sensörü: Arduino ile Ultrasonik Mesafe Ölçme
HC-SR04 ultrasonik mesafe sensörü nasıl çalışır, Arduino'ya nasıl bağlanır? TRIG ve ECHO pinleri, mesafe formülü, ESP32 ve Pico bağlantısı, doğruluğu artırma ipuçları.
HC-SR04, önündeki nesneye olan uzaklığı ses dalgasıyla ölçen ucuz ve çok yaygın bir sensördür. Yarasaların yön bulma yöntemiyle çalışır: kulağın duyamayacağı yüksek frekansta bir ses gönderir ve yankının geri gelme süresini ölçer. Park sensörü, engelden kaçan robot, su deposu seviye ölçer ve boy ölçer projelerinin temelidir.

HC-SR04 nasıl çalışır?
- Arduino TRIG pinine 10 mikrosaniyelik bir darbe gönderir.
- Sensör 40 kHz frekansta 8 ses darbesi yayar.
- Ses nesneye çarpıp geri döner; bu sırada ECHO pini HIGH kalır.
- Arduino ECHO pininin HIGH kaldığı süreyi ölçer ve mesafeyi hesaplar.
Ses havada yaklaşık 343 m/s hızla ilerler, yani santimetreyi yaklaşık 29 mikrosaniyede alır. Ölçülen süre gidiş ve dönüşü kapsadığı için ikiye bölünür: mesafe (cm) = süre (µs) × 0,0343 / 2, kısaca süre / 58.
Teknik özellikler
| Özellik | Değer |
|---|---|
| Besleme | 5 V, yaklaşık 15 mA |
| Ölçüm aralığı | 2–400 cm |
| Hassasiyet | Yaklaşık 3 mm |
| Ölçüm açısı | Yaklaşık 15° |
| Pinler | VCC, TRIG, ECHO, GND |
Arduino ile mesafe ölçme
VCC'yi 5V'a, GND'yi GND'ye, TRIG'i 9. pine, ECHO'yu 10. pine bağla. Aşağıdaki kod mesafeyi seri monitöre yazar; nesne yoksa ya da çok uzaktaysa bunu ayrıca bildirir.
const int TRIG_PIN = 9; // tetik / trigger
const int ECHO_PIN = 10; // yankı / echo
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); // 10 µs darbe / 10 µs pulse
delayMicroseconds(10);
digitalWrite(TRIG_PIN, LOW);
long duration = pulseIn(ECHO_PIN, HIGH, 30000); // en fazla 30 ms bekle / wait max 30 ms
if (duration == 0) {
Serial.println("Menzil dışı / out of range");
} else {
float cm = duration * 0.0343 / 2; // gidiş-dönüş / round trip
Serial.print(cm);
Serial.println(" cm");
}
delay(100); // ölçümler arası / between readings
}ESP32 ve Raspberry Pi Pico ile kullanım
Doğru ölçüm için ipuçları
- Yumuşak ve eğik yüzeyler: Kumaş, sünger ve açılı yüzeyler sesi iyi yansıtmaz; ölçüm atlayabilir.
- Ortalama al: 3–5 ölçümün ortancasını kullanmak ani sıçramaları temizler.
- Sıcaklık etkisi: Ses hızı her 1 °C'de yaklaşık 0,6 m/s değişir; hassas işlerde bir sıcaklık sensörüyle düzeltme yapılır.
- Birden fazla sensör: Aynı anda tetiklenen sensörler birbirinin yankısını duyar; sensörleri sırayla ölçtür.
- Ölçüm aralığı: İki ölçüm arasında en az 60 ms bırak ki önceki yankı sönsün.
Sensörü bir buzzerla birleştirip park sensörü yapmak için Buzzer Nedir? yazısına, diğer sensörleri tanımak için Arduino Sensörleri Rehberi'ne göz at.
Sıkça sorulan sorular
HC-SR04 en fazla kaç metre ölçer?
Teorik olarak 4 metreye kadar ölçer. Pratikte düz ve sert bir yüzeyde 2–3 metreye kadar güvenilir sonuç alınır.
HC-SR04 neden hep 0 ya da çok büyük değer gösteriyor?
Bağlantıda TRIG ve ECHO yer değiştirmiş olabilir, nesne menzil dışında olabilir ya da sensör sesi yansıtmayan bir yüzeye bakıyor olabilir. Kabloları kontrol et ve pulseIn için zaman aşımı kullan.
HC-SR04 su seviyesini ölçebilir mi?
Evet, depo kapağına aşağı bakacak şekilde takılıp su yüzeyine olan mesafe ölçülebilir. Nemli ortamda sensörün korunması gerekir; suya dayanıklı JSN-SR04T daha uygun bir seçenektir.
Arduino'da başka hangi mesafe sensörleri var?
Kısa mesafe ve çizgi algılama için kızılötesi TCRT5000, milimetre hassasiyeti için lazer tabanlı VL53L0X kullanılır. HC-SR04 ise fiyat ve menzil dengesiyle en yaygın olanıdır.
Bu yazıdan sonra yapabileceğin projeler
Tüm projeleri gör
HC-SR04 Mesafe Ölçme (Serial Ekran)
HC-SR04 ultrasonik sensör ile mesafe ölçüp sonucu Serial Monitor'da cm cinsinden gösteren proje. Ses dalgası ile mesafe hesaplama prensibini öğretir.

HC-SR04 ile Park Sensörü
HC-SR04 sensörü ile nesne yaklaştıkça buzzer bip hızını artıran ve LED ile uyaran park sensörü projesi. Mesafeye orantılı geri bildirim mantığını öğretir.

LCD Ekran Kullanarak Mesafe Ölçme
HC-SR04 mesafe sensöründen okunan değeri 2x16 LCD ekranda gerçek zamanlı olarak cm cinsinden gösteren proje. Sensör verisi ile LCD görüntülemeyi birleştirir.

Boy Ölçüm Projesi
HC-SR04 sensörü ve I2C LCD ekran ile kalibrasyon yaparak boy ölçümü gerçekleştiren proje. İki buton ile kalibrasyon ve ölçüm adımlarını yöneterek pratik bir uygulama sunar.

Engelden Kaçan Robot
Kendi yolunu bulan akıllı bir araç yapmaya ne dersin? Engelden Kaçan Robot, önündeki ultrasonik sensör sayesinde çevresini sürekli tarar. Bir engelle karşılaştığında durur, servo motoruyla sağına ve s

ESP32 HC-SR04 Ultrasonik Mesafe Ölçer
HC-SR04 ultrasonik sensör, gönderdiği ses dalgasının nesneye çarpıp geri dönme süresini (Time of Flight) ölçerek mesafe hesaplar. Bu projede ESP32 ile TRIG pinine 10 mikrosaniyelik darbe gönderip, ECHO pininden gelen yankı süresini `pulseIn()` ile okuyacağız. Hesaplanan mesafeyi cm cinsinden Serial Monitor'e yazdıracağız. HC-SR04 5V çalıştığı için ECHO pinine **gerilim bölücü** zorunludur — aksi halde ESP32'nin 3.3V GPIO'su zarar görür.

ESP32 Namaz Rekat Sayacı (HC-SR04 + SSD1306 OLED + 2 Buton)
Namaz kılarken kaç rekat olduğunuzu bazen unutuyor musunuz? Bu proje, seccadenin yanına konulan ve elinizi yaklaştırdığınızda secdeleri sayan bir rekat sayacı yapıyor. HC-SR04 ultrasonik mesafe sensörü el yaklaşımını algılar, SSD1306 OLED ekran rekat sayısını gösterir, iki buton ile 2/3/4 rekat seçimi ve sıfırlama yapabilirsiniz. Akıllı state machine ile yanlış tetiklenmeleri engelleyen 2.5 saniye debounce ve "el ayrılma" algoritması var — aynı secde iki kez sayılmaz. Bu proje BlueGrays topluluğ

ESP32 Park Sensörü (HC-SR04 + 5 LED Bar + Buzzer + OLED)
Otomobil park sensörünün ESP32 versiyonu! HC-SR04 ultrasonik sensör ile önündeki nesneye olan mesafeyi ölçüyoruz. Mesafe azaldıkça 5 LED'lik bar dolar (yeşil → sarı → kırmızı) ve buzzer bip aralığı kısalır. Çok yakınlaşınca (10 cm altında) sürekli alarm çalar ve tüm LED'ler yanar. SSD1306 OLED ekranda büyük fontla anlık cm değeri, durum metni (SAKIN / DIKKAT / YAKIN / DUR! / TEHLIKE) ve LED bar simülasyonu gösterilir. Klasik ve öğretici bir proje — HC-SR04 pulseIn, digital multi-output, buzzer P
Diğer yazılar
HC-SR04'ün ses dalgasıyla mesafeyi nasıl ölçtüğünü, Arduino'ya bağlanmasını, mesafe formülünü ve ölçümleri kararlı hale getirmeyi öğren.

