Yarasalar gibi görmek
Yarasalar karanlıkta ses dalgaları gönderir ve yankının geri dönüş süresine bakarak engelleri bulur. HC-SR04 ultrasonik sensör de aynı ilkeyle çalışır: insan kulağının duyamayacağı kadar tiz bir ses gönderir ve yankıyı dinler.
Mesafe nasıl hesaplanır?
- TRIG pini kısa bir ses darbesi gönderir.
- Ses engele çarpıp geri döner; ECHO pini dönüş süresini ölçer.
- Ses havada yaklaşık 0,034 cm/mikrosaniye hızla gider.
- Ses gidip geldiği için süre ikiye bölünür:
mesafe = süre × 0,034 / 2
Malzemeler ve bağlantı
- HC-SR04: VCC → 5V, GND → GND, TRIG → 9, ECHO → 10
- Buzzer: + ucu → 8. pin, - ucu → GND
Kod
// Codebil Campus - Proje 6: Ultrasonik Park Sensörü (HC-SR04)
const int TRIG = 9;
const int ECHO = 10;
const int BUZZER = 8;
void setup() {
pinMode(TRIG, OUTPUT);
pinMode(ECHO, INPUT);
pinMode(BUZZER, OUTPUT);
Serial.begin(9600);
}
long mesafeOlc() {
digitalWrite(TRIG, LOW);
delayMicroseconds(2);
digitalWrite(TRIG, HIGH); // 10 mikrosaniyelik ses darbesi
delayMicroseconds(10);
digitalWrite(TRIG, LOW);
long sure = pulseIn(ECHO, HIGH, 30000); // yankının dönüş süresi
return sure * 0.034 / 2; // cm: ses hızı 0,034 cm/mikrosaniye, gidiş-dönüş için 2'ye böl
}
void loop() {
long cm = mesafeOlc();
Serial.print(cm);
Serial.println(" cm");
if (cm > 0 && cm < 50) {
tone(BUZZER, 1000);
delay(60);
noTone(BUZZER);
delay(cm * 8); // engel yaklaştıkça bip sıklaşır
} else {
noTone(BUZZER);
delay(200);
}
}
Kodun akıllı kısmı
delay(cm * 8) satırı bekleme süresini mesafeye bağlar. Engel 40 cm uzaktayken bipler arasında 320 ms, 10 cm'deyken sadece 80 ms beklenir. Böylece engel yaklaştıkça bip sesi sıklaşır.
Kendi fonksiyonumuz: mesafeOlc()
Ölçüm adımlarını bir fonksiyona topladık. Bu sayede aynı fonksiyonu servo motorlu bariyer projesinde de kullanabileceğiz.
Geliştir
Yeşil, sarı ve kırmızı LED ekleyin: 50 cm'den uzakta yeşil, 20-50 cm arası sarı, 20 cm'den yakında kırmızı yansın.
Konuyu pekiştir
3 soruluk kısa test. Bir seçeneğe dokunduğunuzda doğru cevap ve açıklaması görünür.
-
Ultrasonik sensör mesafeyi neyi ölçerek hesaplar?
Ses darbesinin gidip gelme süresinden mesafe hesaplanır.
-
Mesafe formülünde süre neden 2'ye bölünür?
Ölçülen süre gidiş ve dönüşün toplamıdır.
-
Kodda bip sesinin engel yaklaştıkça sıklaşmasını sağlayan satır hangisidir?
Bekleme süresi mesafeyle orantılı olduğu için yaklaştıkça kısalır.