Arduino Projeleri
#11Gelişmiş

Bluetooth Kontrollü Araba

~2-3 saat (mekanik montaj dahil)Temel motor sürücü (H-Bridge) bilgisi

Proje Amacı

Telefondaki bir Bluetooth uygulamasından gelen tek karakterlik komutlarla (F/B/L/R/S) 2 tekerlekli bir robotu yönlendirir — HC-05'in 3.3V mantık seviyesi burada gerçek bir tuzak barındırır (bkz. Çalışma Açıklaması).

Gerekli Malzemeler

  • Arduino Uno
  • HC-05 Bluetooth Modülü
  • L298N Motor Sürücü Kartı
  • 2x DC Motor + Tekerlek
  • Kaide/Şasi
  • Pil Paketi

Gerekli Kütüphaneler

Gerekli ek kütüphane yok, SoftwareSerial Arduino IDE ile birlikte gelir.

Pin Bağlantıları

Bileşen PiniBağlantı
HC-05 VCC
5V
HC-05 GND
GND
HC-05 TXD
D10 (RX)
HC-05 RXD
D11 (TX, 1kΩ-2kΩ direnç bölücüyle)
L298N IN1
D5
L298N IN2
D6
L298N IN3
D7
L298N IN4
D8
L298N GND
GND

Devre Şeması

Arduino Kodu

arduino-11-bluetooth-kontrollu-araba.ino
1#include <SoftwareSerial.h>
2SoftwareSerial BT(10, 11);
3const int IN1=5, IN2=6, IN3=7, IN4=8;
4
5void setup() {
6 pinMode(IN1,OUTPUT); pinMode(IN2,OUTPUT);
7 pinMode(IN3,OUTPUT); pinMode(IN4,OUTPUT);
8 BT.begin(9600);
9}
10
11void dur(){ digitalWrite(IN1,LOW);digitalWrite(IN2,LOW);digitalWrite(IN3,LOW);digitalWrite(IN4,LOW); }
12void ileri(){ digitalWrite(IN1,HIGH);digitalWrite(IN2,LOW);digitalWrite(IN3,HIGH);digitalWrite(IN4,LOW); }
13void geri(){ digitalWrite(IN1,LOW);digitalWrite(IN2,HIGH);digitalWrite(IN3,LOW);digitalWrite(IN4,HIGH); }
14void sag(){ digitalWrite(IN1,HIGH);digitalWrite(IN2,LOW);digitalWrite(IN3,LOW);digitalWrite(IN4,HIGH); }
15void sol(){ digitalWrite(IN1,LOW);digitalWrite(IN2,HIGH);digitalWrite(IN3,HIGH);digitalWrite(IN4,LOW); }
16
17void loop() {
18 if (BT.available()) {
19 char c = BT.read();
20 if (c=='F') ileri();
21 else if (c=='B') geri();
22 else if (c=='R') sag();
23 else if (c=='L') sol();
24 else if (c=='S') dur();
25 }
26}

Çalışma Açıklaması

HC-05 RXD pini 3.3V mantık seviyesinde çalışır; Arduino'nun 5V TX çıkışı doğrudan bağlanırsa modül zamanla zarar görebilir, direnç bölücü (1kΩ-2kΩ) kullanılmalı. Motorlar için ayrı pil kaynağı kullanılmalı, Arduino'nun 5V'undan beslenmemeli.

Test Bilgisi

HC-05'i telefonunuzla eşleştirin (varsayılan şifre genelde 1234/0000). Bir Bluetooth kontrol uygulaması indirip F/B/L/R/S karakterlerini gönderin; aracın buna göre hareket ettiğini gözlemleyin.

Olası Sorunlar ve Çözümleri

Bluetooth eşleşmiyorsa: HC-05'in varsayılan şifresini (1234 veya 0000) doğru girdiğinizden emin olun, modülün LED'inin yanıp söndüğünü (eşleşme bekleme modu) kontrol edin. Komutlar gecikmeli/tutarsız çalışıyorsa: SoftwareSerial baud hızının hem kodda hem HC-05'in kendi ayarında aynı (genelde 9600) olduğunu doğrulayın. Araç sadece bir yöne dönüyorsa: L298N IN pinlerinden birinin yanlış bağlandığını kontrol edin. Arduino motorlar çalışırken kendiliğinden resetleniyorsa: motorlar ve Arduino aynı pil paketini paylaşıyor demektir, motor kalkış anındaki ani akım çekişi gerilimi düşürüp Arduino'yu resetler — bu L298N projelerinde HC-05'in 'rastgele' kopması olarak yanlış teşhis edilen, aslında saf güç dağıtım sorunudur; motorlara ayrı pil, Arduino'ya ayrı besleme (ortak GND ile) çözer.

Alternatif Çözümler

HC-05 yerine HC-06 (sadece slave modu, daha basit) veya ESP32'nin dahili Bluetooth'u kullanılabilir. Telefon uygulaması yerine fiziksel bir joystick/uzaktan kumanda ile kontrol edilebilir. L298N yerine daha kompakt TB6612FNG motor sürücü kullanılarak daha az akım kaybı sağlanabilir.

Bu projenin kodunu AI ile özelleştir

Farklı pin, ek özellik ya da başka bir sensör mü istiyorsun?