Yazılardaki ürünleri komponentci.net'te inceleyebilir, hemen sipariş verebilirsiniz.komponentci.net →
KomponentciBlog Mağaza
Blog  ›  Projeler

Arduino Park Sensörü Projesi: Adım Adım Yapılışı

Arduino Park Sensörü Projesi: Adım Adım Yapılışı
Kısa cevap

Arduino park sensörü, HC-SR04 ultrasonik mesafe sensörü, bir buzzer ve LED'lerle yapılabilen basit bir projedir. Sensör engele olan mesafeyi ölçer; Arduino mesafe azaldıkça buzzer'ın bip aralığını kısaltır ve yeşil, sarı, kırmızı LED'leri yakar. Çok yakın mesafede ses kesintisiz çalar ve sürücüye durması gerektiğini bildirir.

Arabalardaki geri park uyarısı, engel yaklaştıkça hızlanan bir bip sesiyle çalışır. Aynı sistemi bir Arduino, bir ultrasonik sensör ve birkaç LED ile masanızda kurabilirsiniz. Bu proje; garaj duvarı uyarısı, robot engel algılama ya da Arduino'ya yeni başlayanlar için ilk sensör uygulaması olarak işinize yarar.

Arduino park sensörü nedir?

Arduino park sensörü, ultrasonik bir sensörle engele olan mesafeyi ölçen ve mesafe azaldıkça sesli ve ışıklı uyarıyı sıklaştıran bir mesafe uyarı devresidir. Sensör, insan kulağının duyamayacağı 40 kHz'lik bir ses darbesi gönderir ve yankının dönme süresini ölçer. Arduino bu süreyi santimetreye çevirir. Sensörün çalışma ilkesini HC-SR04 ultrasonik sensör yazımızda ayrıntılı anlattık.

Park sensörü için hangi malzemeler gerekir?

Projenin temel malzemeleri bir Arduino kartı, HC-SR04 uyumlu bir ultrasonik sensör, aktif buzzer, üç LED ve dirençlerdir.

Projede aktif buzzer kullanıyoruz; çünkü aktif buzzer enerji verildiğinde kendi sesini üretir ve kodda yalnızca açıp kapatmak yeterlidir. Aktif ve pasif buzzer farkını buzzer aktif pasif farkı yazımızda bulabilirsiniz.

Park sensörü devresi nasıl bağlanır?

Sensörün Trig ve Echo uçları Arduino'nun iki dijital pinine, buzzer ve LED'ler ise diğer dijital pinlere bağlanır. Aşağıdaki tablo kodda kullanılan pinleri gösterir.

BileşenBileşen ucuArduino pini
HC-SR04 / HY-SRF05VCC5V
HC-SR04 / HY-SRF05TrigD9
HC-SR04 / HY-SRF05EchoD10
HC-SR04 / HY-SRF05GNDGND
KY-012 buzzerS (sinyal)D8
Yeşil LED (220 Ohm ile)Anot (uzun bacak)D4
Sarı LED (220 Ohm ile)Anot (uzun bacak)D5
Kırmızı LED (220 Ohm ile)Anot (uzun bacak)D6

LED'lerin katotları (kısa bacak) ve buzzer modülünün eksi ucu GND hattına bağlanır. HY-SRF05 kullanıyorsanız OUT pinini boş bırakın; sensör bu durumda HC-SR04 gibi Trig ve Echo pinleriyle çalışır.

Park sensörü adım adım nasıl yapılır?

Devreyi breadboard üzerinde kurmak ve kodu yüklemek yaklaşık yarım saat sürer. Şu sırayı izleyin:

  1. Arduino'nun 5V ve GND pinlerini breadboard'un artı ve eksi hatlarına jumper kabloyla taşıyın.
  2. Ultrasonik sensörü breadboard'a takın; VCC, GND, Trig ve Echo bağlantılarını tablodaki gibi yapın.
  3. Üç LED'i dirençleriyle birlikte D4, D5 ve D6 pinlerine bağlayın.
  4. Buzzer modülünün sinyal ucunu D8'e, eksi ucunu GND'ye, varsa artı ucunu 5V'a bağlayın.
  5. Arduino IDE'yi açın, aşağıdaki kodu yapıştırın ve kartı USB ile bağlayıp yükleyin.
  6. Seri monitörü 9600 baud hızında açın ve elinizi sensöre yaklaştırarak ölçülen mesafeyi izleyin.
  7. Uyarı mesafelerini kendi kullanımınıza göre koddaki sayılarla ayarlayın.

Arduino park sensörü kodu nasıl çalışır?

Kod her döngüde mesafeyi ölçer, mesafeye göre LED'leri seçer ve buzzer'ın bip aralığını mesafeyle orantılı olarak ayarlar. Echo pinindeki darbenin mikrosaniye cinsinden süresi 58'e bölünerek yaklaşık santimetre değeri elde edilir.

const int TRIG = 9;
const int ECHO = 10;
const int BUZZER = 8;
const int LED_YESIL = 4;
const int LED_SARI = 5;
const int LED_KIRMIZI = 6;

void setup() {
  pinMode(TRIG, OUTPUT);
  pinMode(ECHO, INPUT);
  pinMode(BUZZER, OUTPUT);
  pinMode(LED_YESIL, OUTPUT);
  pinMode(LED_SARI, OUTPUT);
  pinMode(LED_KIRMIZI, OUTPUT);
  Serial.begin(9600);
}

long mesafeOlc() {
  digitalWrite(TRIG, LOW);
  delayMicroseconds(2);
  digitalWrite(TRIG, HIGH);
  delayMicroseconds(10);
  digitalWrite(TRIG, LOW);
  unsigned long sure = pulseIn(ECHO, HIGH, 30000UL);
  if (sure == 0) return -1;   // yankı yok
  return sure / 58;           // santimetre
}

void loop() {
  long cm = mesafeOlc();
  Serial.println(cm);

  digitalWrite(LED_YESIL, cm < 0 || cm > 50);
  digitalWrite(LED_SARI, cm > 20 && cm <= 50);
  digitalWrite(LED_KIRMIZI, cm >= 0 && cm <= 20);

  if (cm < 0 || cm > 100) {     // engel yok
    digitalWrite(BUZZER, LOW);
    delay(100);
    return;
  }
  if (cm <= 10) {               // çok yakın: sürekli ses
    digitalWrite(BUZZER, HIGH);
    delay(100);
    return;
  }
  int ara = map(cm, 10, 100, 80, 600);
  digitalWrite(BUZZER, HIGH);
  delay(60);
  digitalWrite(BUZZER, LOW);
  delay(ara);
}
MesafeLEDBuzzer
100 cm üzeriYeşilSessiz
50–100 cmYeşilSeyrek bip
20–50 cmSarıSıklaşan bip
10–20 cmKırmızıHızlı bip
10 cm ve altıKırmızıKesintisiz ses

pulseIn fonksiyonuna verilen 30000 mikrosaniyelik zaman aşımı, yankı gelmediğinde kodun takılmasını önler. map satırı 10–100 cm aralığını 80–600 ms bekleme süresine çevirir. Buzzer modülünüz ters mantıkla çalışıyorsa (LOW verince ötüyorsa) kodda HIGH ve LOW değerlerini yer değiştirin. Mesafeyi ekranda da görmek isterseniz SSD1306 OLED ekran ekleyebilirsiniz.

Park sensörü gerçek araçta kullanılabilir mi?

Bu devre bir öğrenme projesidir ve araçta kullanım için tek başına uygun değildir. HC-SR04 su geçirmez değildir; yağmur, çamur ve titreşim sensörü kısa sürede bozabilir. Araçta denemek istiyorsanız su geçirmez bir ultrasonik sensör, araç gerilimine uygun bir regülatör ve sağlam bir muhafaza gerekir. Ayrıca bu sistem ticari park sensörlerinin yerine geçmez; aracı kullanırken yalnızca bu uyarıya güvenmeyin.

Sık sorulan sorular

Park sensörü neden yanlış mesafe gösteriyor?

Yanlış ölçümün en yaygın nedenleri eğik ya da yumuşak yüzeyler, gevşek kablolar ve yetersiz beslemedir. Kumaş ve sünger gibi yüzeyler sesi emer, eğik yüzeyler ise yankıyı başka yöne yansıtır. Sensörü engele dik tutun, 5V hattının sağlam olduğundan emin olun ve birkaç ölçümün ortalamasını alarak dalgalanmayı azaltın.

HC-SR04 en fazla kaç metre ölçer?

HC-SR04 için üreticinin belirttiği ölçüm aralığı yaklaşık 2 cm ile 400 cm arasıdır. Pratikte düz ve sert bir yüzeyde güvenilir ölçüm genellikle birkaç metreyle sınırlı kalır. Çok yakın mesafede, yaklaşık 2 cm'nin altında, sensör yankıyı ayırt edemez. Park uyarısı için 1 metre içindeki ölçümler en çok işinize yarar.

Pasif buzzer ile park sensörü yapılabilir mi?

Evet, pasif buzzer da kullanılabilir; ancak kodda digitalWrite yerine tone fonksiyonu gerekir. Pasif buzzer kendi başına ses üretmez, Arduino'nun gönderdiği frekansta öter. Bunun avantajı, mesafeye göre hem bip aralığını hem de ses tonunu değiştirebilmenizdir. Örneğin engel yaklaştıkça tonu yükseltebilir, böylece uyarıyı daha kolay ayırt edilir hale getirebilirsiniz.

Birden fazla ultrasonik sensör kullanılabilir mi?

Evet, her sensöre ayrı Trig ve Echo pinleri vererek birden fazla sensör kullanabilirsiniz. Sensörleri aynı anda tetiklemeyin; birinin sesi diğerine yankı gibi ulaşıp yanlış ölçüme neden olabilir. Sensörleri sırayla ölçün ve aralarına birkaç on milisaniyelik bekleme koyun. Arduino Uno'nun dijital pinleri birkaç sensör için yeterlidir.

Park sensörü pil ile çalıştırılabilir mi?

Evet, Arduino Uno'yu 9V pil ya da uygun bir güç kaynağıyla DC jak girişinden besleyebilirsiniz. 9V pil uzun süreli kullanımda hızlı tükenir; daha uzun çalışma için birkaç kalem pilden oluşan bir paket ya da USB güç bankası tercih edilebilir. Sensör ve LED'ler 5V hattından beslenir.

Özet

  • Arduino park sensörü; ultrasonik sensör, aktif buzzer ve üç LED ile kurulan basit bir mesafe uyarı devresidir.
  • HC-SR04 ya da HY-SRF05 sensörünün Trig ucu D9'a, Echo ucu D10'a bağlanır; mesafe, darbe süresinin 58'e bölünmesiyle bulunur.
  • Kod, mesafe azaldıkça bip aralığını kısaltır ve 10 cm altında sesi kesintisiz verir.
  • Uyarı mesafeleri koddaki sayılar değiştirilerek kolayca ayarlanabilir.
  • Bu proje öğrenme amaçlıdır; araçta kullanım için su geçirmez sensör ve sağlam muhafaza gerekir.

Bu yazıdaki ürünler

Diğer yazılar

09 Kasım 20266 dk okuma

Dimmer Nedir? Dimmer Modülü Nasıl Bağlanır?

Dimmer, bir yüke giden gücü azaltarak lambanın parlaklığını ya da motorun devrini ayarlayan bir devredir. 220V AC tarafında genellikle triya...

Devamını oku →
09 Kasım 20265 dk okuma

NFC Nedir? NFC Kart ve Etiket Çeşitleri

NFC, 13,56 MHz frekansında birkaç santimetre mesafede çalışan kısa menzilli bir kablosuz haberleşme teknolojisidir. Telefonla temassız ödeme...

Devamını oku →
09 Kasım 20265 dk okuma

Kablo Pabucu Çeşitleri: Seçim ve Doğru Sıkma

Kablo pabucu, kablonun ucuna sıkılarak onu bir vida, cıvata ya da bara bağlantısına güvenli şekilde bağlayan metal uçtur. Başlıca çeşitleri...

Devamını oku →
09 Kasım 20266 dk okuma

Kuluçka Makinesi Nasıl Yapılır? Adım Adım Rehber

Kuluçka makinesi; yalıtımlı bir kutu, ısıtıcı, sıcaklık ve nem kontrol eden bir termostat, hava dolaşımı için fan ve yumurtaları çeviren bir...

Devamını oku →
09 Kasım 20266 dk okuma

ESP32 Hava İstasyonu Projesi: Sensörler, Kod ve Web Sayfası

ESP32 hava istasyonu, bir ESP32 kartına BME280 gibi bir sıcaklık-nem-basınç sensörü, isteğe bağlı yağmur ve ışık sensörü ile OLED ekran bağl...

Devamını oku →
09 Kasım 20265 dk okuma

Akıllı Sera Projesi: Arduino ve ESP32 ile Otomatik Sera

Akıllı sera, toprak nem sensörü ile sıcaklık-nem sensörünün ölçümlerine göre pompayı, fanı ve aydınlatmayı röleler üzerinden kendiliğinden a...

Devamını oku →