Bu eğitimimizde Arduino Uno üzerinde Ultrasonik Mesafe Sensörü (HC-SR04) ve Buzzer kullanarak bir araçlarda bulunan park sensörüne benzer bir yapıda çalışma yapacağız.
Ultrasonik Mesafe Sensörü (HC-SR04) çalışma mantığı ses dalgaları göndererek karşısındaki nesneye evya duvara çarpan bu dalgaların geri dönüş süresini ölçer.
Bu projemizde Buzzer belirlenene mesafe aralıklarına göre farklı ses çıkaracaktır.
- 10 cm’den yakın ise Sürekli uyarı verecek.
- 10-20 cm arasında kısa kısa bip sesi
- 20-30 cm arasında daha uzun aralıklı bip sesi
- 30 cm’den uzak mesafede ise hiç ses veya uyarı vermeyecek.
NOT: GND ve 5V BreadBoard üzerinde + ve – ‘ye bağladığınızda kimi zaman enerji yetersizliğinden dolayı çalışmayabilir. Bunları direkt olarak Arduino üzerine bağlayıp deneyebilirsiniz.

#define trigPin 9
#define echoPin 10
#define buzzer 6
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(buzzer, OUTPUT);
Serial.begin(9600);
}
void loop() {
long sure;
int mesafe;
// Ultrasonik sensörden mesafeyi al
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
sure = pulseIn(echoPin, HIGH);
mesafe = sure * 0.034 / 2; // cm cinsinden mesafe hesaplama
Serial.print("Mesafe: ");
Serial.print(mesafe);
Serial.println(" cm");
// Mesafeye göre buzzer çaldır
if (mesafe > 0 && mesafe <= 10) {
tone(buzzer, 1000); // Yakın mesafe (10 cm'den az) - Sürekli ses
}
else if (mesafe > 10 && mesafe <= 20) {
tone(buzzer, 1000, 300); // Orta mesafe (10-20 cm) - Kısa bip sesi
delay(500);
}
else if (mesafe > 20 && mesafe <= 30) {
tone(buzzer, 1000, 100); // Uzak mesafe (20-30 cm) - Daha aralıklı bip sesi
delay(1000);
}
else {
noTone(buzzer); // Uzaksa buzzer kapalı
}
delay(200);
}
- pulseIn() fonksiyonu, bir pinin ne kadar süre HIGH veya LOW durumda kaldığını takip eder ve geçen süreyi mikrosaniye cinsinden döndürür.