Deneysel Aktiviteler

Arduino Bluetooth ile 4WD Robot Araba Yapalım

4wd araba yapim projesi

Arduino UNO kullanarak bluetooth kontrollü 4WD arabayı telefon uygulması ile uzaktan yönetmek ister misiniz?

Bu aktivitemizde Android tabanlı bir akıllı telefon ve Bluetooth modülü kullanarak kontrol edebildiğimiz bir araba yapacağız. Bluetooth ve android uygulaması sayesinde bunu kolaylıkla yapabileceğiz.

Android uygulamalarına ilgi duyan ve bu tür aktiviteler ile zaman geçirmeyi seven herkesin mutlaka denemesini tavsiye ediyoruz ve hızlıca nasıl yapılır anlatımımıza geçiş yapıyoruz.

Nasıl Yapılır?

Tüm yapım aşamasını aşağıdaki videodan da kolaylıkla takip edebilirsiniz. Ayrıca aşama aşama sizlere anlatmaya çalışacağız.

İlk işlem olarak 4WD araç kiti içinden çıkan motorların kablolarını lehimlemeliyiz. Burada standart kablo veya jumper kablosu kullanabilirsiniz. Sonrasında da 4WD araç platformuna motorlarımızı düzgün bir şekilde monte etmeliyiz. Bundan sonraki aşamada biraz dikkat etmeliyiz; motor kablolarını sağ ve sol olarak ikiye ayıralım. Kablo bağlantıları konusuna daha sonra tekrar geri döneceğiz.

Şimdi de gövde üzerine diğer parçaların montajını yapalım. Sabitlemek için silikon veya çift taraflı bant kullanabilirsiniz. Arduino UNO ana kartını, L298N voltaj regülatörünü, HC-05 bluetooth kartını ve pil yatağını araç üzerine sabitleyin. Ardından da tekerleklerini motorlara takın.

İlk olarak HC-05 Bluettoh Modülü ile Arduino UNO ana kartın bağlantısı yapacağız. Bunun için 4 adet dişi-erkek jumper kablosu alıyoruz ve aşağıdaki gibi bağlıyoruz;

  • Bluetooth VCC pinini, Arduino 5V pinine,
  • Bluettoth GND pinini, Arduino GND pinine,
  • Bluetooth TXD pinini, Arduino RXD pinine,
  • Bluetooth RXD pinini, Arduino TXD pinine

bağlanır.

Sıra geldi önceki bölümde de bahsettiğimiz motorların L298N Voltaj Regülatörüne bağlanması bölümüne. Motorlardan gelen kablolar aşağıdaki şemada belirtildiği şekilde bağlanır.

l298n dc baglantisi

Motorlarımızın bağlantısını şemadaki gibi tamamladıktan sonra, Voltaj regülatörünü Arduino UNO kartımız ile bağlantısını yapıyoruz. Bunun için 4 adet dişi-erkek jumper kablosu alıyoruz ve aşağıdaki gibi bağlıyoruz;

  • L298N IN1 pinini, Arduino 5. pinine,
  • L298N IN2 pinini, Arduino 6. pinine,
  • L298N IN3 pinini, Arduino 7. pinine,
  • L298N IN4 pinini, Arduino 8. pinine

bağlanır.

Sonraki aşama olarak da arduino ve motor sürücünün güç beslemesi için pil yatağının kablolarını, motor sürücünün 12V ve GND pinlerine bağlıyoruz.

Korna sesi için ise buzzer kullanabiliriz. Buzzerın + ucunu Arduino 11. pinine bağlanır.

Ön ve arka far da kullanabiliriz. Ön far  Arduino 9. pinine, arka far Arduino 10. pinine bağlanır.

Bluetooth Uygulaması

Şimdi sıra geldi Android telefonumuza uygulamayı indirmeye. Aşağıdaki linkte yer alan linke tıklayarak  uygulamayı telefonunuza yükleyin.

Arduino Bluetooth RC Car

Uygulamayı indirdikten sonra bluetoothu aktif edin ve blutooth araması yapın. HC-05 adıyla görünen bluetooth cihazını seçin ve eşleştirmeyi yapın. PIN şifresi genellikle 1234 şeklindedir. Şifre girişinizi yapın ve eşleştirmeyi tamamlayın.

Eşleştirme sonrası uygulamayı açın ve ayarlara tıklayın, açılan pencereden de Connect to Car a tıklayın ve soldaki HC-05 bluetooth bağlantısını seçin. Sonrasında sol üstte yanıp sönen kırmızı ışığın yeşil olmasını bekleyin. Yeşil olmazsa uygulamadan çıkıp tekrar girin ve işlemleri tekrarlayın.

Yeşil renk geldiğinde bağlantınız tamamlanmış olur! Şimdi sıra geldi son aşamaya; Arduino yazılımını yüklemeye!

Arduino Yazılımı

Yazılımı yüklemeye geçmeden aracın güç bağlantılarını kesmeliyiz. Pillerden birini çıkartılarak bunu kolayca yapabiliriz.

const int motorA2 = 5;
const int motorB1 = 6;
const int motorA1 = 7;
const int motorB2 = 8;

int sure ;
int mesafe ;
int onfar=9;
int arkafar=10;
int korna=11;
int i=0;
int j=0;
int state;
int vSpeed=255;

void setup() {
pinMode(motorA1, OUTPUT);
pinMode(motorA2, OUTPUT);
pinMode(motorB1, OUTPUT);
pinMode(motorB2, OUTPUT);
pinMode(onfar,OUTPUT);
pinMode(arkafar,OUTPUT);
pinMode(korna,OUTPUT);
pinMode(3 , OUTPUT);
pinMode(4 , INPUT);
Serial.begin(9600);
}

void loop() {
if(Serial.available() > 0){
state = Serial.read();
}

if (state == '0'){
vSpeed=0;}
else if (state == '1'){
vSpeed=100;}
else if (state == '2'){
vSpeed=180;}
else if (state == '3'){
vSpeed=200;}
else if (state == '4'){
vSpeed=255;}

if (state == 'F') {
analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0);
analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0);
}
else if (state == 'G') {
analogWrite(motorA1,vSpeed ); analogWrite(motorA2, 0);
analogWrite(motorB1, 100); analogWrite(motorB2, 0);
}
else if (state == 'I') {
analogWrite(motorA1, 100); analogWrite(motorA2, 0);
analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0);
}
else if (state == 'B') {
analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed);
analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed);
}
else if (state == 'H') {
analogWrite(motorA1, 0); analogWrite(motorA2, 100);
analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed);
}
else if (state == 'J') {
analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed);
analogWrite(motorB1, 0); analogWrite(motorB2, 100);
}
else if (state == 'L') {
analogWrite(motorA1, vSpeed); analogWrite(motorA2, 150);
analogWrite(motorB1, 0); analogWrite(motorB2, 0);
}
else if (state == 'R') {
analogWrite(motorA1, 0); analogWrite(motorA2, 0);
analogWrite(motorB1, vSpeed); analogWrite(motorB2, 150);
}
else if (state == 'S'){
analogWrite(motorA1, 0); analogWrite(motorA2, 0);
analogWrite(motorB1, 0); analogWrite(motorB2, 0);
}
else if(state=='W') digitalWrite(onfar,HIGH);
else if(state=='w') digitalWrite(onfar,LOW);
else if(state=='U') digitalWrite(arkafar,HIGH);
else if(state=='u') digitalWrite(arkafar,LOW);
else if(state=='V') digitalWrite(korna,HIGH);
else if(state=='v') digitalWrite(korna,LOW);
}

Not: Kodu Arduinoya yüklerken HC-05 Bluetooth modülünün bağlantılarını sökmemiz gerekiyor aksi takdirde hata mesajları ile karşılaşacağız.

Yazılım yükleme kısmı da sorunsuz bir şekilde yüklendiyse işimiz bitmiş demektir. Telefonunuz ile hemen denemesini yapabilir ve aracınızı çalıştırmaya başlayabilirsiniz…