Bu rehberde Arduino Uno ve HC-SR04 ultrasonik mesafe sensörü kullanarak, mesafeye göre bip uyarısı veren düşük maliyetli bir Arduino park sensörü yapacağız. Başlangıç seviyesine uygundur: malzemeler, bağlantı tablosu, Arduino kodu, SSS ve pratik ipuçları dahil.
Şehir içi park manevraları zorlayıcı olabilir. HC-SR04 sensörünün ses dalgalarıyla mesafe ölçümü ve bir buzzer ile mesafeye bağlı uyarı, basit ama etkili bir park asistanı oluşturur. Bu proje; prototipleme, sensör okumaları ve çıkış sürme (buzzer) konularını aynı anda öğretir.
Ürünleri web sayfamızdan güvenle satın alabilirsiniz.
| Bileşen | Arduino Pin | Not |
| HC-SR04 VCC | 5V | Sensör beslemesi |
| HC-SR04 GND | GND | Ortak toprak |
| HC-SR04 Trig | D9 | Tetik pini |
| HC-SR04 Echo | D8 | Yankı (ölçüm) pini |
| Buzzer + | D10 | Uyarı çıkışı |
| Buzzer – | GND | Ortak toprak |
İpucu: Kabloları kısa ve düzenli tutun; Echo sinyali gürültüye hassastır.
// park_sensor.ino
// Arduino Uno + HC-SR04 + Buzzer ile Park Sensörü
const int trigPin = 9;
const int echoPin = 8;
const int buzzerPin = 10;
const long maxDist = 200; // cm cinsinden maksimum uyarı mesafesi
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(buzzerPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
// 10 us tetik darbesi
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// Süre ölçümü (mikrosaniye)
long duration = pulseIn(echoPin, HIGH, 30000UL); // 30 ms timeout ~ 5 m menzil
int distance = duration > 0 ? (int)(duration * 0.0343 / 2.0) : -1; // cm
Serial.print("Mesafe: ");
if (distance >= 0) {
Serial.print(distance);
Serial.println(" cm");
} else {
Serial.println("okunamadi");
}
if (distance > 0 && distance <= maxDist) {
// Yaklaştıkça daha sık bip
int interval = map(distance, 0, maxDist, 100, 1000); // 0 cm -> 100 ms, 200 cm -> 1000 ms
tone(buzzerPin, 1000); // pasif buzzer için 1 kHz ton
delay(60);
noTone(buzzerPin);
delay(interval);
} else {
noTone(buzzerPin);
delay(100);
}
}
cppCopyEditAktif buzzer kullanıyorsanız tone/noTone yerine basit aç/kapa kullanın: digitalWrite(buzzerPin, HIGH); delay(60); digitalWrite(buzzerPin, LOW);
HC-SR04’ün ölçüm aralığı nedir? Genellikle 2 cm – 400 cm. Bu projede maxDist = 200 cm olarak ayarladık; ihtiyacınıza göre artırıp azaltabilirsiniz.
Bip aralığını nasıl değiştiririm? map(distance, 0, maxDist, 100, 1000) içindeki 100–1000 değerlerini özelleştirerek, yaklaştıkça artan uyarı hızını değiştirebilirsiniz.
Okuma bazen “okunamadı” yazıyor, neden? Sensör yansımayı alamadığında pulseIn süre aşımına düşebilir. Hedef yüzeyi ve açılarını değiştirin, kabloları kısaltın, 5 V beslemenin stabil olduğundan emin olun.
Aktif mi pasif mi buzzer kullanmalıyım? Pasif buzzer ile farklı frekanslarda uyarı verebilirsiniz (tone/noTone). Aktif buzzer sabit ton üretir; kodu aç/kapa şeklinde güncelleyin.
Bu rehberle Arduino Uno ve HC-SR04 kullanarak fonksiyonel bir park sensörü geliştirdiniz. Bağlantı tablosu, kod ve SSS ile kurulum ve özelleştirme artık çok kolay. Daha fazla elektronik ve robotik proje için Robomer’i ziyaret etmeyi unutmayın!