Arduino ile Park Sensörü Yapımı (Ultrasonik Sensör + LED + Buzzer)
Günümüzde araçlarda kullanılan park sensörleri, sürücülere büyük kolaylık sağlar.
Bu sistemler, aracın önündeki veya arkasındaki engelleri algılayarak uyarı verir.
Bu projede, benzer mantıkla çalışan basit bir park sensörü sistemi kuracağız.
Proje Nedir?
Bu proje, ultrasonik sensör kullanarak mesafe ölçer ve mesafeye göre kullanıcıyı LED ve buzzer ile uyarır.
Sistem üç farklı mesafe aralığında çalışır:
- Uzak mesafe
- Orta mesafe
- Yakın mesafe
Nasıl Çalışır?
Ultrasonik sensör, ses dalgaları göndererek mesafeyi ölçer.
Arduino bu veriyi alır ve mesafeye göre sistemi kontrol eder:
- Uzakta → Yeşil LED yanar
- Orta mesafede → Sarı LED yanar ve buzzer aralıklı öter
- Çok yakın → Kırmızı LED yanar ve buzzer sürekli öter
Kullanılan Malzemeler
- Arduino UNO
- Ultrasonik sensör (HC-SR04)
- Buzzer
- Kırmızı, Sarı, Yeşil LED
- Dirençler
- Breadboard
- Jumper kablolar
Bağlantı Bilgileri
- Trig → D7
- Echo → D8
- Buzzer → D9
- Kırmızı LED → D10
- Sarı LED → D11
- Yeşil LED → D12
- Tüm GND → GND
- VCC → 5V
Mesafe Aralıkları
Sistem üç farklı şekilde tepki verir:
Uzak (50 cm üzeri):
Yeşil LED yanar, buzzer çalışmaz
Orta (20 - 50 cm):
Sarı LED yanar, buzzer aralıklı çalışır
Yakın (20 cm altı):
Kırmızı LED yanar, buzzer sürekli çalışır
Arduino Kodu
#define trigPin 7
#define echoPin 8
#define buzzerPin 9
#define redLed 10
#define yellowLed 11
#define greenLed 12
long sure;
int mesafe;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(buzzerPin, OUTPUT);
pinMode(redLed, OUTPUT);
pinMode(yellowLed, OUTPUT);
pinMode(greenLed, 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;
if (mesafe > 50) {
digitalWrite(greenLed, HIGH);
digitalWrite(yellowLed, LOW);
digitalWrite(redLed, LOW);
noTone(buzzerPin);
}
else if (mesafe <= 50 && mesafe > 20) {
digitalWrite(greenLed, LOW);
digitalWrite(yellowLed, HIGH);
digitalWrite(redLed, LOW);
tone(buzzerPin, 1000);
delay(200);
noTone(buzzerPin);
delay(300);
}
else if (mesafe <= 20 && mesafe > 0) {
digitalWrite(greenLed, LOW);
digitalWrite(yellowLed, LOW);
digitalWrite(redLed, HIGH);
tone(buzzerPin, 1500);
}
delay(100);
}
STEM ile Projeler Geliştirmeye Başla
Arduino projeleri, STEM setleri ve tüm ürünleri keşfet.