Arduino Projeleri
#02Başlangıç

HC-SR04 Mesafe Alarmı

~30 dkYok

Proje Amacı

Ultrasonik ses dalgalarıyla önündeki nesneye olan mesafeyi ölçüp, mesafe 20 cm'nin altına düştüğünde buzzer ile sesli alarm verir. Araçlardaki park sensörü de birebir aynı ölçüm yöntemini (ses dalgasının gidiş-dönüş süresini) kullanır.

Gerekli Malzemeler

  • Arduino Uno
  • HC-SR04 Ultrasonik Mesafe Sensörü
  • Pasif Buzzer (tone() fonksiyonu için gereklidir)
  • Breadboard
  • Jumper kablolar

Gerekli Kütüphaneler

Gerekli ek kütüphane yok, tone()/noTone() Arduino IDE'de yerleşik gelir.

Pin Bağlantıları

Bileşen PiniBağlantı
VCC
5V
GND
GND
TRIG
D9
ECHO
D10
Buzzer +
D8
Buzzer -
GND

Devre Şeması

Arduino Kodu

arduino-02-hc-sr04-mesafe-alarmi.ino
1const int TRIG=9, ECHO=10, BUZZER=8;
2const int ESIK_MESAFE=20;
3
4void setup() {
5 pinMode(TRIG, OUTPUT);
6 pinMode(ECHO, INPUT);
7 pinMode(BUZZER, OUTPUT);
8 Serial.begin(9600);
9}
10
11void loop() {
12 digitalWrite(TRIG, LOW);
13 delayMicroseconds(2);
14 digitalWrite(TRIG, HIGH);
15 delayMicroseconds(10);
16 digitalWrite(TRIG, LOW);
17
18 long sure = pulseIn(ECHO, HIGH, 30000);
19 float mesafe = sure * 0.0343 / 2.0;
20
21 Serial.print("Mesafe: ");
22 Serial.print(mesafe);
23 Serial.println(" cm");
24
25 if (sure && mesafe < ESIK_MESAFE) tone(BUZZER, 2000);
26 else noTone(BUZZER);
27
28 delay(100);
29}

Çalışma Açıklaması

TRIG ve ECHO pinleri karıştırılmamalı. Sensör 2-400 cm aralığında güvenilir ölçer. Yumuşak/yansıtıcı olmayan yüzeyler hatalı ölçüme yol açabilir.

Test Bilgisi

Devreyi kurun, kodu yükleyin, Seri Monitör'ü açın. Elinizi sensörün önünde yavaşça yaklaştırıp uzaklaştırın; mesafe değerinin gerçekçi değiştiğini doğrulayın. 20 cm'nin altına indiğinizde buzzer çalmalı.

Olası Sorunlar ve Çözümleri

Mesafe hep 0 veya çok büyük geliyorsa: TRIG/ECHO pinlerinin ters bağlanmadığından emin olun. Ölçüm kararsızsa: sensörün önünde yumuşak/emici yüzey (kumaş, sünger) olmadığını kontrol edin, sert düz yüzeylerde test edin. Buzzer hiç çalmıyorsa: aktif buzzer yerine yanlışlıkla pasif buzzer takılmış olabilir, iki uçlu ölçümle (multimetre veya pil ile direkt test) ayırt edin.

Alternatif Çözümler

Aktif buzzer yerine pasif buzzer + tone() fonksiyonu kullanılarak farklı frekanslarda uyarı sesleri üretilebilir. Sabit 20 cm eşiği yerine bir potansiyometre ile kullanıcı ayarlanabilir mesafe eşiği ekleyebilir. Buzzer yerine/yanında LED şerit eklenerek mesafe azaldıkça renk değiştiren görsel bir gösterge de yapılabilir.

Bu projenin kodunu AI ile özelleştir

Farklı pin, ek özellik ya da başka bir sensör mü istiyorsun?