Bluetooth Kontrollü Robot Nasıl Yapılır?
Kablosuz iletişim teknolojileri, robotların insan tehlikesi olan bölgelerde (arama kurtarma, nükleer santral denetimi, bomba imha) uzaktan yönetilmesini sağlayan en kritik araçtır. Kendi tasarladığınız bir robotu kablo karmaşası olmadan, cebinizdeki akıllı telefonun ekranındaki joystick veya butonlarla yönetmek hem son derece tatmin edici bir deneyimdir hem de kablosuz haberleşme protokollerini anlamanın en pratik yoludur.
Bu kapsamlı yapım kılavuzunda; **HC-06 / HC-05 Bluetooth Modülü** ile Arduino arasındaki seri iletişimi (UART), mobil kumanda uygulamasının yapılandırılmasını, çift motor sürücü entegrasyonunu ve eksiksiz kaynak kodlarını adım adım inceliyoruz.
---
1. Kablosuz Seri Haberleşme (UART) Nasıl Çalışır?
Bluetooth teknolojisi, 2.4 GHz ISM frekans bandında kısa mesafeli radyo dalgalarıyla veri iletir. Robotumuzda bu iletişimi sağlayan köprü **UART (Evrensel Asenkron Alıcı-Verici)** protokolüdür:
Tüm bu süreç göz açıp kapayıncaya kadar, yani yaklaşık **10-15 milisaniye** içinde gerçekleşir.
---
2. Gerekli Malzemeler Listesi
| Malzeme | Adet | Görevi |
|---|---|---|
| **Arduino Uno R3** | 1 | Ana kontrol mikrodenetleyicisi |
| **2WD Robot Şasisi ve Motorlar** | 1 | Pleksi gövde, 2 sarı DC motor ve sarhoş teker |
| **L298N Motor Sürücü Modülü** | 1 | Motorları yüksek akımla süren sürücü |
| **HC-06 Bluetooth Modülü** | 1 | Kablosuz veri alıcı kartı |
| **2x 18650 Li-ion Pil ve Yuvası** | 1 | 7.4V güçlü enerji kaynağı |
| **Jumper Kablolar** | 15+ | Bağlantılar için |
| **Akıllı Telefon (Android / iOS)** | 1 | Uzaktan kumanda cihazı |
---
3. Devre Şeması ve Kritik Bağlantı Noktaları
A. L298N ve Motorlar:
B. HC-06 Bluetooth Modülü:
> **Hayati Uyarı:** Bilgisayardan Arduino'ya kod yüklerken Bluetooth RX ve TX kablolarını çıkarın. Yükleme "Tamamlandı" yazdıktan sonra geri takın.
---
4. Tam ve Çalışan Arduino C++ Kodları
/*
* RobotKodla.com - Kablosuz Robotik Dersleri
* Proje: Bluetooth Kontrollü Robot
*/
const int solIleri = 5;
const int solGeri = 6;
const int sagIleri = 9;
const int sagGeri = 10;
char veri;
void setup() {
pinMode(solIleri, OUTPUT);
pinMode(solGeri, OUTPUT);
pinMode(sagIleri, OUTPUT);
pinMode(sagGeri, OUTPUT);
Serial.begin(9600); // HC-06 varsayılan fabrika hızı
}
void loop() {
if (Serial.available() > 0) {
veri = Serial.read();
if (veri == 'F') { // İleri
sur(HIGH, LOW, HIGH, LOW);
} else if (veri == 'B') { // Geri
sur(LOW, HIGH, LOW, HIGH);
} else if (veri == 'L') { // Sol
sur(LOW, HIGH, HIGH, LOW);
} else if (veri == 'R') { // Sağ
sur(HIGH, LOW, LOW, HIGH);
} else if (veri == 'S') { // Dur
sur(LOW, LOW, LOW, LOW);
}
}
}
void sur(int s1, int s2, int sg1, int sg2) {
digitalWrite(solIleri, s1);
digitalWrite(solGeri, s2);
digitalWrite(sagIleri, sg1);
digitalWrite(sagGeri, sg2);
}
---
5. Mobil Uygulama Kurulumu ve Eşleştirme
1. Google Play Store'dan **"Arduino Bluetooth Controller"** veya **"Car Bluetooth RC"** uygulamasını indirin.
2. Robotun güç anahtarını açın (HC-06 LED'i hızla yanıp sönecektir).
3. Telefonunuzun Bluetooth ayarlarından HC-06'yı bulun ve eşleştirin (Şifre: `1234` veya `0000`).
4. Uygulamayı açıp "Connect" butonuna basarak HC-06'yı seçin.
5. Modül üzerindeki LED sabit yandığında bağlantı tamamlanmıştır; telefonunuz artık tam fonksiyonlu bir oyun koludur!
---
6. Kapsamlı Sıkça Sorulan Sorular (SSS)
iPhone (iOS) kullanıyorum, HC-06 modülüne bağlanabilir miyim?
Klasik Bluetooth (Bluetooth 2.0 / 3.0) kullanan HC-05 ve HC-06 modülleri Apple'ın güvenlik protokolleri nedeniyle iOS cihazlarda doğrudan görünmez. iPhone ile kontrol etmek için **BLE (Bluetooth Low Energy / Bluetooth 4.0)** destekli **HM-10** veya **AT-09** modüllerini kullanmalısınız.
Robot komutları çok geç algılıyor, gecikme (lag) nasıl önlenir?
Kodun içine gereksiz `delay()` komutları koymayın. `delay()` işlemciyi dondurduğu için o sırada gelen Bluetooth sinyalleri seri port tamponunda birikir ve robot komutları 1-2 saniye gecikmeli olarak uygular.
---
---
7. Bluetooth Kontrollü Robota İleri Seviye Özellikler Ekleme
Temel yön kontrolünü sağladıktan sonra robotunuza şu harika donanımları ekleyerek sistemi tam teşekküllü bir keşif aracına dönüştürebilirsiniz:
1. **Uzaktan Korna ve Işık Kontrolü:** Koddaki 'W' karakterine bir buzzer, 'U' karakterine ise ön far LED'lerini bağlayarak telefondan tek dokunuşla gece farlarını yakabilir veya sesli korna çalabilirsiniz.
2. **Telefona Canlı Telemetri Bilgisi Gönderme:** Robot sadece telefondan komut almaz, aynı zamanda telefona veri de gönderebilir (`Serial.print`). Önündeki mesafe sensörünün ölçtüğü uzaklığı veya pil voltajını telefon ekranına canlı telemetri verisi olarak aktarabilirsiniz.
3. **Failsafe (Sinyal Kopma Emniyeti):** Eğer robot telefonun kapsama alanından çıkarsa (10 metreyi aşarsa) son komutla sonsuza kadar duvara doğru gitmemesi için koda bir zaman aşımı sayacı ekleyin; 1 saniye boyunca yeni Bluetooth paketi gelmezse robot motorları otomatik olarak kilitlesin.
---
8. Bluetooth Modülü Sorun Giderme Rehberi
---
---
10. Mobil Kumanda Tasarımında Güvenlik ve İletişim Protokolleri
Bluetooth kontrollü sistemlerde telefon ile mikrokontrolcü arasındaki veri bütünlüğü büyük önem taşır:
---
Sonuç
Bluetooth kontrollü robot, kablosuz haberleşme dünyasına adım atmanın en pratik ve eğlenceli yoludur. Projenize far LED'leri, sesli korna buzzer'ı veya kamera ekleyerek sistemi çok daha profesyonel bir keşif aracına dönüştürebilirsiniz. Detaylı robotik dersleri için sitemizin [Projeler](/projeler) bölümünü ziyaret edin!