⚡ Arduino Projeleri 📅 16 Ekim 2026

Arduino ile Bluetooth Kontrollü Araba Yapımı

Arduino ve HC-06 Bluetooth modülü ile akıllı telefon kontrollü robot araba nasıl yapılır? Malzemeler, devre şeması, motor sürücü ve kod rehberi.

Arduino ile Bluetooth Kontrollü Araba Yapımı

Robotik kodlama öğrenen her meraklının hayallerini süsleyen en heyecan verici projelerin başında kendi elleriyle yaptığı bir arabayı akıllı telefonundan kablosuz olarak yönlendirmek gelir. **Bluetooth Kontrollü Robot Araba Projesi**; motor sürücü mantığını, kablosuz seri haberleşmeyi (UART), diferansiyel sürüş mekaniğini ve mobil uygulama entegrasyonunu tek bir gövdede buluşturan tam kapsamlı bir STEM başyapıtıdır.

Bu rehberde; gerekli malzemeleri, L298N motor sürücü bağlantılarını, HC-05 / HC-06 Bluetooth modülü entegrasyonunu, devre şemasını ve telefon komutlarını işleyen tam Arduino C++ kodlarını adım adım inceliyoruz.

---

1. Sistemin Çalışma Mantığı ve Mimarisi

Sistem 4 ana katmandan meydana gelir:

1. **Mobil Uygulama (Verici):** Akıllı telefondaki Bluetooth uygulaması butonlara basıldığında tek karakterlik harf sinyalleri ('F', 'B', 'L', 'R', 'S') gönderir.

2. **HC-06 Bluetooth Modülü (Alıcı):** Telefondan gelen radyo dalgalarını yakalar ve Arduino'nun RX pinine iletir.

3. **Arduino Uno (Beyin):** Gelen harfi okur (`Serial.read()`) ve yorumlar.

4. **L298N Motor Sürücü ve DC Motorlar (Kaslar):** Arduino sinyallerine göre tekerleklere güç vererek aracı hareket ettirir.

---

2. Gerekli Malzemeler Listesi

| Malzeme | Adet | Görevi |

|---|---|---|

| **Arduino Uno R3** | 1 | Karar ve kontrol beyni |

| **2WD veya 4WD Robot Araba Şasisi** | 1 | Gövde, DC motorlar ve tekerlekler |

| **L298N Çift Motor Sürücü Modülü** | 1 | DC motorlara güç ve yön sağlayan sürücü |

| **HC-06 veya HC-05 Bluetooth Modülü** | 1 | Telefonla kablosuz iletişim kuran kart |

| **2 Adet 18650 Li-ion Pil ve Yuvası** | 1 | 7.4V yüksek akımlı motor güç kaynağı |

| **Jumper Kablolar (M-M, M-F)** | 20+ | Devre elemanları arası bağlantılar |

| **Açma/Kapama Anahtarı** | 1 | Gücü güvenle kesmek için |

---

3. Devre Şeması ve Pin Bağlantı Rehberi

L298N Motor Sürücü:

  • **OUT1, OUT2:** Sol DC Motor
  • **OUT3, OUT4:** Sağ DC Motor
  • **12V Klemensi:** 18650 Pillerin (+) Kutbu
  • **GND Klemensi:** Pillerin (-) Kutbu VE **Arduino GND** Pini (Ortak GND!)
  • **IN1:** Pin 5 | **IN2:** Pin 6 | **IN3:** Pin 9 | **IN4:** Pin 10
  • HC-06 Bluetooth Modülü:

  • **VCC:** 5V | **GND:** GND
  • **TXD:** Arduino RX (Pin 0) | **RXD:** Arduino TX (Pin 1)
  • > **Hayati Uyarı:** Kodu karta yüklerken Bluetooth RX/TX kablolarını çıkarın; yükleme tamamlanınca geri takın.

    ---

    4. Tam ve Çalışan Arduino C++ Kodları

    /*
     * RobotKodla.com - Bluetooth Kontrollü Robot Araba
     */
    
    const int solMotorIleri = 5;
    const int solMotorGeri  = 6;
    const int sagMotorIleri = 9;
    const int sagMotorGeri  = 10;
    
    char gelenKomut;
    
    void setup() {
      pinMode(solMotorIleri, OUTPUT);
      pinMode(solMotorGeri, OUTPUT);
      pinMode(sagMotorIleri, OUTPUT);
      pinMode(sagMotorGeri, OUTPUT);
    
      Serial.begin(9600);
    }
    
    void loop() {
      if (Serial.available() > 0) {
        gelenKomut = Serial.read();
    
        switch (gelenKomut) {
          case 'F': ileriGit(); break;
          case 'B': geriGit();  break;
          case 'L': solaDon();  break;
          case 'R': sagaDon();  break;
          case 'S': dur();      break;
        }
      }
    }
    
    void ileriGit() {
      digitalWrite(solMotorIleri, HIGH);
      digitalWrite(solMotorGeri, LOW);
      digitalWrite(sagMotorIleri, HIGH);
      digitalWrite(sagMotorGeri, LOW);
    }
    
    void geriGit() {
      digitalWrite(solMotorIleri, LOW);
      digitalWrite(solMotorGeri, HIGH);
      digitalWrite(sagMotorIleri, LOW);
      digitalWrite(sagMotorGeri, HIGH);
    }
    
    void solaDon() {
      digitalWrite(solMotorIleri, LOW);
      digitalWrite(solMotorGeri, HIGH);
      digitalWrite(sagMotorIleri, HIGH);
      digitalWrite(sagMotorGeri, LOW);
    }
    
    void sagaDon() {
      digitalWrite(solMotorIleri, HIGH);
      digitalWrite(solMotorGeri, LOW);
      digitalWrite(sagMotorIleri, LOW);
      digitalWrite(sagMotorGeri, HIGH);
    }
    
    void dur() {
      digitalWrite(solMotorIleri, LOW);
      digitalWrite(solMotorGeri, LOW);
      digitalWrite(sagMotorIleri, LOW);
      digitalWrite(sagMotorGeri, LOW);
    }

    ---

    5. Diferansiyel Sürüş Mekaniği ve Hız Ayarı (PWM)

  • **Olduğu Yerde Keskin Dönüş (Spin Turn):** Sol motor geri, sağ motor ileri döndüğünde araç kendi ekseni etrafında bir tank gibi anında döner.
  • **Hız Kontrolü:** L298N kartındaki ENA ve ENB jumperlarını söküp PWM pinlerine bağlayarak `analogWrite(enaPin, 180);` ile motorların dönüş hızını kademeli ayarlayabilirsiniz.
  • ---

    6. Pil Seçimi ve Şasi Dengesi

  • **9V Kare Pil Kullanmayın:** DC motorlar yüksek akım çeker; 9V çinko piller hemen çöker. Mutlaka 2 adet **18650 Li-ion pil** (7.4V) kullanın.
  • **Sarhoş Tekerlek:** Ön tekerlek arka motorlarla aynı seviyede olmalıdır; eğik duran gövde sürtünmeyi artırır.
  • ---

    ---

    8. Diferansiyel Sürüş Mekaniği ve Motor Hız Ayarı (PWM)

    İki tekerlekli robot arabalarda otomobillerdeki gibi direksiyon kutusu bulunmaz; yön değiştirme sağ ve sol tekerleklerin farklı hızlarda veya zıt yönlerde dönmesiyle sağlanır:

  • **Olduğu Yerde Keskin Dönüş (Spin Turn):** Sol motor geri, sağ motor ileri döndüğünde araç kendi ekseni etrafında bir tank gibi anında fırıl fırıl döner.
  • **Yumuşak Yay Dönüşü (Pivot Turn):** Sol motor yarı hızda ileri giderken sağ motor tam hızda ileri giderse araç yumuşak bir kavis çizerek sola döner.
  • **Hız Kontrolü (L298N ENA ve ENB Jumperları):** L298N motor sürücü kartının üzerindeki siyah ENA ve ENB jumper kapaklarını çıkarıp bu pinleri Arduino'nun PWM pinlerine bağlarsanız, `analogWrite(enaPin, 180);` komutu ile aracın maksimum hızını %0 ile %100 arasında dilediğiniz gibi ayarlayabilirsiniz.
  • ---

    9. Robot Arabalarda Pil Seçimi ve Şasi Dengesi

    Robot arabanızın zeminde düzgün gidebilmesi için mekanik denge hayati önem taşır:

    1. **9V Kare Piller Neden Kullanılmamalıdır?** Standart 9V çinko-karbon piller anlık yüksek akım veremez; iki DC motor çalıştığı anda voltaj 5V'un altına çöker ve sistem çalışmaz. Mutlaka en az 2 adet şarjlı **18650 Li-ion pil** (7.4V) veya 6'lı AA kalem pil yuvası kullanılmalıdır.

    2. **Sarhoş Tekerlek (Caster Wheel) Yüksekliği:** Aracın önündeki sarhoş tekerlek arka iki tekerlekle aynı hizada olmalıdır; araba arkaya veya öne eğik durursa sürtünme artar ve dönüşler dengesizleşir.

    ---

    ---

    10. Kapsamlı Sıkça Sorulan Sorular (SSS)

    Robot araba neden düz bir çizgide gitmiyor, hafifçe bir tarafa çekiyor?

    Piyasadaki sarı DC motorların içindeki mıknatıslar ve dişli sürtünmeleri fabrikasyon olarak %5-10 oranında farklılık gösterir. Bu yüzden iki motora da tam voltaj verseniz bile biri diğerinden biraz daha hızlı dönebilir. Çözüm, kodda hızlı dönen motorun PWM değerini (örneğin 255 yerine 235) hafifçe kısmaktır.

    HC-05 ile HC-06 Bluetooth modülleri arasındaki fark nedir?

    HC-06 yalnızca "Slave" (Köle / Alıcı) modda çalışır; yani sadece telefonun bağlanmasını bekler. HC-05 ise hem "Master" hem "Slave" modda çalışabilir; bu sayede iki Arduino'nun birbiriyle kablosuz konuşmasını sağlayabilir. Robot araba için HC-06 tamamen yeterlidir.

    Telefonla araba arasındaki Bluetooth kontrol menzili ne kadardır?

    Açık alanda standart Bluetooth Class 2 menzili yaklaşık **10 metredir**. Duvarlar ve metal engeller menzili 5-6 metreye düşürebilir.

    ---

    Sonuç

    Bluetooth kontrollü robot araba, teorik bilgilerinizi hareketli ve son derece eğlenceli bir nihai ürüne dönüştürür. Bu projeyi tamamladıktan sonra üzerine ultrasonik sensör ekleyerek aracı "otonom engelden kaçan" moda da geçirebilirsiniz. Detaylı yapım videoları ve ek özellikler için sitemizin [Robotik Projeler](/projeler) bölümünü takip edin!