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ı

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ı
trigPin
veechoPin
Tanımları: Sensörün tetikleme ve geri dönüş pinleri.pulseIn
Fonksiyonu: Ses dalgasının gidiş-dönüş süresini mikrosaniye cinsinden ölçer.- Mesafe Hesabı: Ölçülen süreyi ses hızına göre işleyerek mesafeyi hesaplar.
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
- Trigger pini, kısa bir sinyal gönderir.
- Echo pini, ses dalgasının geri dönüş süresini ölçer.
- Arduino, bu süreyi kullanarak mesafeyi hesaplar.
- 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ı

- 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ışı
- Mesafe ölçülür.
- Eğer mesafe 10 cm'den küçük ise LED yanar.
- 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.
Sıkça Sorulan Sorular
Arduino'da ultrasonik sensör (HC-SR04), ses dalgalarını kullanarak mesafe ölçer. "Trigger" pini ses dalgası gönderir ve "Echo" pini, dalganın geri dönüş süresini ölçer. Arduino, bu süreyi kullanarak mesafeyi hesaplar.
Aşağıdaki kod ultrasonik sensörle mesafe ölçümünü sağlar:
const int trigPin = 9;
const int echoPin = 10;
long duration;
int distance;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
Serial.print("Mesafe: ");
Serial.print(distance);
Serial.println(" cm");
delay(500);
}
HC-SR04 ultrasonik sensör, 2 cm ile 400 cm arasındaki mesafeleri ölçebilir. Ancak ölçümlerde en doğru sonuç, 4 cm - 300 cm aralığında alınır.
Mesafe belirli bir değerin altına düştüğünde LED'i yakmak için şu kod kullanılır:
const int trigPin = 9, echoPin = 10, ledPin = 13;
long duration;
int distance;
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);
duration = pulseIn(echoPin, HIGH);
distance = duration * 0.034 / 2;
if (distance < 20) {
digitalWrite(ledPin, HIGH); // LED yanar
} else {
digitalWrite(ledPin, LOW); // LED söner
}
Serial.print("Mesafe: ");
Serial.println(distance);
delay(500);
}
Evet, HC-SR04 sensörü Tinkercad üzerinde simüle edilebilir. Tinkercad'de sensörü yerleştirip "Trigger" ve "Echo" pinlerini Arduino'ya bağladıktan sonra uygun kod ile mesafe ölçüm simülasyonu yapılabilir.
- Robotik projeler: Engel algılama
- Güvenlik sistemleri: Mesafe bazlı alarm sistemi
- Akıllı park sistemi: Park sensörü
- Mesafe ölçüm cihazları: Yükseklik veya genişlik ölçümleri
- Su seviyesini ölçme projeleri: Tanklardaki sıvı seviyesini tespit etme
HC-SR04 ultrasonik sensör 4 pine sahiptir:
- VCC: 5V güç girişi
- GND: Toprak bağlantısı
- Trigger: Ses dalgası başlatma pini
- Echo: Ses dalgası dönüş pini
Bu Gönderiye Yorum Yapılmamış