Arduino ile Park Sensörü Yapımı (Malzemeler, Devre ve Kodlar)

Arduino ile Park Sensörü Yapımı projesi kapak görseli

Read in English · Leer en español

Proje ne yapıyor?

Arabalardaki park sensörlerinin küçük bir benzerini Arduino ile yapıyoruz. Ultrasonik sensör önündeki cismin uzaklığını ölçer. Cisim yaklaştıkça LED’ler yeşilden sarıya, sonra kırmızıya döner. Buzzer da gittikçe hızlanarak öter. Cisim çok yaklaştığında buzzer sürekli öter.

  • Yaş grubu: 10 yaş ve üzeri (ortaokul ve lise)
  • Seviye: Orta
  • Süre: Yaklaşık 45–60 dakika
  • Bu projede öğrenecekleriniz: Ultrasonik sensörle mesafe ölçmek, if–else ile karar vermek, buzzer ile ses çıkarmak

Malzeme listesi

MalzemeAdet
Arduino Uno (veya muadili)1
HC-SR04 ultrasonik mesafe sensörü1
Pasif buzzer1
LED (yeşil, sarı, kırmızı)3
220 Ω direnç3
Breadboard1
Erkek-erkek jumper kablo~12
USB kablo1

Devre bağlantıları

Arduino ile Park Sensörü Yapımı devre şeması
BileşenBileşen piniArduino pini
HC-SR04VCC5V
HC-SR04TrigD9
HC-SR04EchoD10
HC-SR04GNDGND
Buzzer+ (uzun bacak)D8
Buzzer–GND
Yeşil LEDUzun bacak (220 Ω üzerinden)D5
Sarı LEDUzun bacak (220 Ω üzerinden)D6
Kırmızı LEDUzun bacak (220 Ω üzerinden)D7
LED’lerKısa bacaklarGND

Kodlar

// Arduino Park Sensörü - ozandamci.com

const int trigPin = 9;
const int echoPin = 10;
const int buzzerPin = 8;
const int yesilLed = 5;
const int sariLed = 6;
const int kirmiziLed = 7;

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  pinMode(buzzerPin, OUTPUT);
  pinMode(yesilLed, OUTPUT);
  pinMode(sariLed, OUTPUT);
  pinMode(kirmiziLed, OUTPUT);
  Serial.begin(9600);
}

int mesafeOlc() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  long sure = pulseIn(echoPin, HIGH, 30000); // en fazla ~5 metre bekle
  if (sure == 0) return -1;                  // cisim yok
  return sure * 0.034 / 2;                   // santimetre
}

void ledleriAyarla(bool yesil, bool sari, bool kirmizi) {
  digitalWrite(yesilLed, yesil);
  digitalWrite(sariLed, sari);
  digitalWrite(kirmiziLed, kirmizi);
}

void loop() {
  int mesafe = mesafeOlc();
  Serial.print("Mesafe: ");
  Serial.print(mesafe);
  Serial.println(" cm");

  if (mesafe == -1 || mesafe > 50) {
    // Güvenli: sadece yeşil, ses yok
    ledleriAyarla(HIGH, LOW, LOW);
    noTone(buzzerPin);
    delay(200);
  } else if (mesafe > 20) {
    // Dikkat: sarı, yavaş bip
    ledleriAyarla(LOW, HIGH, LOW);
    tone(buzzerPin, 1000, 80);
    delay(map(mesafe, 20, 50, 150, 500));
  } else if (mesafe > 5) {
    // Yakın: kırmızı, hızlı bip
    ledleriAyarla(LOW, LOW, HIGH);
    tone(buzzerPin, 1500, 50);
    delay(map(mesafe, 5, 20, 60, 150));
  } else {
    // Çok yakın: kırmızı, sürekli ses
    ledleriAyarla(LOW, LOW, HIGH);
    tone(buzzerPin, 2000);
    delay(100);
  }
}

Adım adım yapılışı

  1. Sensörü yerleştirin. HC-SR04’ü breadboard’un kenarına, “gözleri” dışarı bakacak şekilde takın.
  2. Güç hatlarını bağlayın. Arduino’nun 5V pinini breadboard’un + hattına, GND pinini – hattına bağlayın.
  3. Sensörü bağlayın. VCC’yi + hattına, GND’yi – hattına, Trig’i D9’a, Echo’yu D10’a bağlayın.
  4. LED’leri takın. Her LED’in uzun bacağına 220 Ω direnç bağlayıp yeşili D5’e, sarıyı D6’ya, kırmızıyı D7’ye götürün. Kısa bacakları – hattına bağlayın.
  5. Buzzer’ı bağlayın. Uzun bacağını D8’e, kısa bacağını – hattına bağlayın.
  6. Kodu yükleyin. Arduino IDE’yi açın, kodu yapıştırın. Araçlar → Kart menüsünden Arduino Uno‘yu seçin, doğru portu seçip Yükle‘ye basın.
  7. Test edin. Elinizi sensöre yavaşça yaklaştırın. LED’lerin renk değiştirdiğini ve bip sesinin hızlandığını görmelisiniz. Araçlar → Seri Port Ekranı menüsünden ölçülen mesafeyi santimetre olarak takip edebilirsiniz.

Sorun giderme

  • Ses hiç değişmiyor, sürekli ötüyor: Elinizdeki buzzer aktif buzzer olabilir. Pasif buzzer kullanın ya da aktif buzzer için tone() yerine digitalWrite(buzzerPin, HIGH/LOW) kullanın.
  • Mesafe hep 0 veya -1 görünüyor: Trig ve Echo kablolarının yer değiştirmediğinden emin olun.
  • LED yanmıyor: LED’in bacakları ters takılmış olabilir. Uzun bacak Arduino pinine gitmeli.

Kendiniz deneyin

  • Mesafe sınırlarını (50, 20, 5 cm) değiştirerek sensörü farklı durumlara uyarlayın.
  • Bir 16×2 LCD ekran ekleyip mesafeyi ekranda gösterin.
  • Projeyi oyuncak bir arabanın arkasına monte edin.

Videolu anlatım

Projenin yapılışını adım adım videodan da izleyebilirsiniz. Diğer projeler için Arduino Projeleri oynatma listesine göz atın, yeni videolardan haberdar olmak için YouTube kanalıma abone olabilirsiniz.

Videolu anlatım: Arduino ile Park Sensörü Yapımı

Bir önceki proje: Arduino ile "Beni Sula" Diyen Bitki Uyarıcı – Toprak Nem Sensörü

Daha fazla proje için: Bu ve benzeri projeleri adım adım anlattığım Arduino Projeleri kitabıma göz atabilirsiniz.

“Arduino ile Park Sensörü Yapımı (Malzemeler, Devre ve Kodlar)” için 2 yorum

Bir Cevap Yazın