HC-SR04 Ultrasonik Sensör ile Mesafe Ölçümü
Arduino Arduino Hafta 17

HC-SR04 Ultrasonik Sensör ile Mesafe Ölçümü

2 yıl önce · Aykut AKMAN · ~5 dk okuma · 3,5 B görüntüleme

Bu projede HC-SR04 ultrasonik sensör kullanarak bir nesnenin mesafesini ölçüp seri monitörde görüntüleyeceğiz. Ultrasonik sensör, ses dalgalarını kullanarak uzaklık ölçümü yapar. Bu proje, robotik uygulamalar ve otomasyon sistemlerinde sıkça kullanılmaktadır.

Proje İçin Gerekli Malzemeler

  • 1 x Arduino Uno (veya benzeri bir Arduino kartı)
  • 1 x HC-SR04 Ultrasonik Mesafe Sensörü
  • Jumper Kablolar
  • USB Kablo (Arduino'yu bilgisayara bağlamak için)

Ultrasonik Sensör Çalışma Prensibi

HC-SR04 ultrasonik sensör, Trigger pini üzerinden ses dalgası yayar ve ses dalgasının geri dönme süresini Echo pini ile ölçer. Ölçülen süre kullanılarak uzaklık hesaplanır.

  • Ses Hızı: 343 m/s (yaklaşık 0.034 cm/mikrosaniye)
  • Mesafe Formülü: Mesafe=(SesHızı*ÖlçülenSüre)/2

Devre Bağlantısı

ultrasonik-mesafe-sensörü-örnek-bağlantı-seması

HC-SR04 Pin Bağlantıları

  • VCC: 5V (Arduino 5V pinine)
  • GND: GND (Arduino GND pinine)
  • TRIG: Arduino 9. pini
  • ECHO: Arduino 10. pini

Arduino Kodları

const int trigPin = 9;  // TRIG pini
const int echoPin = 10; // ECHO pini

long sure;        // Ses dalgasının geri dönüş süresi
float mesafe;     // Hesaplanan mesafe

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  Serial.begin(9600); // Seri iletişim başlat
}

void loop() {
  // Trigger pinine 10 mikrosaniye sinyal gönder
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  // Echo pininden veri al ve süreyi ölç
  sure = pulseIn(echoPin, HIGH);

  // Mesafeyi hesapla (cm cinsinden)
  mesafe = sure * 0.034 / 2;

  // Mesafeyi seri monitörde göster
  Serial.print("Olculen Mesafe: ");
  Serial.print(mesafe);
  Serial.println(" cm");

  delay(500); // Yarım saniye bekle
}

Kod Açıklamaları

  1. trigPin ve echoPin Tanımları: Sensörün tetikleme ve geri dönüş pinleri.
  2. pulseIn Fonksiyonu: Ses dalgasının gidiş-dönüş süresini mikrosaniye cinsinden ölçer.
  3. Mesafe Hesabı: Ölçülen süreyi ses hızına göre işleyerek mesafeyi hesaplar.
  4. Serial.print: Ölçülen mesafeyi Arduino IDE’nin seri monitöründe gösterir.

Çalışan kodu incelemek için tıklayınız.

Çalışma Prensibi

  1. Trigger pini, kısa bir sinyal gönderir.
  2. Echo pini, ses dalgasının geri dönüş süresini ölçer.
  3. Arduino, bu süreyi kullanarak mesafeyi hesaplar.
  4. Hesaplanan mesafe, seri monitörde gösterilir.

Örnek Proje: Mesafeye Göre LED Kontrolü

Bu projede, ölçülen mesafe belirli bir değerin altına düştüğünde bir LED yakacağız.

Proje İçin Gerekli Malzemeler

  • 1 x Arduino Uno (veya benzeri bir Arduino kartı)
  • 1 x HC-SR04 Ultrasonik Mesafe Sensörü
  • 1 x Breadboard
  • Jumper Kablolar
  • USB Kablo (Arduino'yu bilgisayara bağlamak için)
  • 1 x LED
  • 1 x 220 Ohm direnç

Devre Bağlantısı

ultrasonik-mesafe-sensörü-ile-led-kontrol-devre-şeması

  • LED'in Uzun Bacağı: Arduino'nun 8. pinine
  • LED'in Kısa Bacağı: 220 Ohm direnç üzerinden GND'ye

Arduino Kodu


const int trigPin = 9;  // TRIG pini
const int echoPin = 10; // ECHO pini
const int ledPin = 8;   // LED pin

long sure;
float mesafe;

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(ledPin, OUTPUT);
  Serial.begin(9600);
}

void loop() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  sure = pulseIn(echoPin, HIGH);
  mesafe = sure * 0.034 / 2;

  Serial.print("Mesafe: ");
  Serial.print(mesafe);
  Serial.println(" cm");

  // Mesafe 10 cm'den az ise LED'i yak
  if (mesafe < 10) {
    digitalWrite(ledPin, HIGH);
  } else {
    digitalWrite(ledPin, LOW);
  }

  delay(500);
}

Proje Akışı

  1. Mesafe ölçülür.
  2. Eğer mesafe 10 cm'den küçük ise LED yanar.
  3. Mesafe bu değerin üzerine çıktığında LED söner.

Çalışan örneği görmek için tıklayınız.

Bu projede ultrasonik sensör kullanarak mesafeyi ölçtük ve bu veriyi kullanarak bir LED kontrol ettik. Bu örnek, sensörlerin otomasyon ve robotik projelerinde nasıl kullanıldığını anlamak için harika bir temel oluşturur.

Önceki Ders Hafta 16
Arduino ile TMP36 Sıcaklık Sensörü Kullanımı ve Alarm Projesi
Hafta 18 Sonraki Ders
Arduino Ultrasonik Mesafe Sensörü ile Park Sensörü Projesi

Yorumlar (0)

Bu içerik size yardımcı oldu mu?

Sorularınızı, önerilerinizi veya konuyla ilgili deneyimlerinizi aşağıda paylaşabilirsiniz.