Arduino ile Bluetooth Kontrollü Araç Yapımı
Bu projemizde Android akıllı telefonumuzun Bluetooth özelliği ile kontrol edebildiğimiz bir araba yapacağız.
Gerekli malzemeler:
- Arduino UNO
- Çok Amaçlı Robot Platformu
- L298N Voltaj Regülatörlü Çift Motor Sürücü Kartı
- HC06 Bluetooth Modülü
- Pil
- Jumper Kablo
- Android İşletim Sistemine Sahip bir Telefon
L298N Voltaj Regulatörlü Çift Motor Sürücü Kartı
24V a kadar olan motorları sürmek için üretilen bu kart, iki kanallı olup kanal başına 2A akım verebilir. Bu kart iki kanallı olduğu için arabanın sağ tarafındaki 2 motoru bir kanala; sol tarafındaki motorları da diğer kanala bağlayacağız. İşimizi fazlasıyla görecektir.
Çok Amaçlı Robot Platformun Montajı
Demonte şekilde gelen kitin montajını yapalım. Ancak ilk olarak motorların kablolarını lehimlememiz gerekiyor. Daha önce lehim yapmadıysanız Lehim Nasıl Yapılır? videomuzu izleyebilirsiniz.
Lehim yaparken her motorun sağ ayağına kırmızı kablo, sol ayağına da siyah kablo lehimlemek olası karışıklıkları önleyecektir.
Daha sonra fotoğrafta gösterildiği gibi motorları montajlıyoruz.
Motorların kablolarını uygun deliklerden yukarı doğru yönlendirmeyi yapıyoruz.
Elektronik Bağlantılar:
Bağlantıları karışıklık olmaması adına farklı kısımlarda gösterdim. İlk olarak Arduino ile HC-06 Bluetooth modülü arasındaki bağlantıları bu şekilde yapıyoruz:
Arduino ile L298N Motor Sürücü kartı arasındaki bağlantıları bu şekilde yapıyoruz:
L298N Motor Sürücü Kartı ile DC motorların bağlantısını bu şekilde yapıyoruz:
Bütün bağlantılarımızı yaptıktan sonra projemiz çalışmaya hazır bi halde olacak. Son görüntümüz de aşağıdaki görseldeki gibi olmalı.
NOT: Görsellerde iki tane pil yuvası olması kafa karıştırmasın. Pil yuvasından çıkan kabloya iki ek yaparak birini motor sürücüsüne diğerini Arduinoya bağladık.
Aracımız hazır. Şimdi de yazılım kısmına odaklanalım. Bu kısma geçmeden aracın güç bağlantılarını kesmeliyiz. Pillerden birini çıkartarak bunu yapabiliriz.
Not: Kodu Arduinoya yüklerken HC-06 Bluetooth modülünün bağlantılarını sökmemiz gerekiyor aksi takdirde hata mesajları ile karşılaşacağız.
Kod:
//L298N Bağlantısı const int motorA1 = 5; // L298N'in IN3 Girişi const int motorA2 = 6; // L298N'in IN1 Girişi const int motorB1 = 10; // L298N'in IN2 Girişi const int motorB2 = 9; // L298N'in IN4 Girişi int i=0; //Döngüler için atanan rastgele bir değişken int j=0; //Döngüler için atanan rastgele bir değişken int state; //Bluetooth cihazından gelecek sinyalin değişkeni int vSpeed=255; // Standart Hız, 0-255 arası bir değer alabilir void setup() { // Pinlerimizi belirleyelim pinMode(motorA1, OUTPUT); pinMode(motorA2, OUTPUT); pinMode(motorB1, OUTPUT); pinMode(motorB2, OUTPUT); // 9600 baud hızında bir seri port açalım Serial.begin(9600); } void loop() { //Bluetooth bağlantısı koptuğunda veya kesildiğinde arabayı durdur. //(Aktif etmek için alt satırın "//" larını kaldırın.) // if(digitalRead(BTState)==LOW) { state='S'; } //Gelen veriyi 'state' değişkenine kaydet if(Serial.available() > 0){ state = Serial.read(); } // Uygulamadan ayarlanabilen 4 hız seviyesi.(Değerler 0-255 arasında olmalı) 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;} /***********************İleri****************************/ //Gelen veri 'F' ise araba ileri gider. if (state == 'F') { analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0); analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0); } /**********************İleri Sol************************/ //Gelen veri 'G' ise araba ileri sol(çapraz) gider. else if (state == 'G') { analogWrite(motorA1,vSpeed ); analogWrite(motorA2, 0); analogWrite(motorB1, 100); analogWrite(motorB2, 0); } /**********************İleri Sağ************************/ //Gelen veri 'I' ise araba ileri sağ(çapraz) gider. else if (state == 'I') { analogWrite(motorA1, 100); analogWrite(motorA2, 0); analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0); } /***********************Geri****************************/ //Gelen veri 'B' ise araba geri gider. else if (state == 'B') { analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed); analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed); } /**********************Geri Sol************************/ //Gelen veri 'H' ise araba geri sol(çapraz) gider else if (state == 'H') { analogWrite(motorA1, 0); analogWrite(motorA2, 100); analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed); } /**********************Geri Sağ************************/ //Gelen veri 'J' ise araba geri sağ(çapraz) gider else if (state == 'J') { analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed); analogWrite(motorB1, 0); analogWrite(motorB2, 100); } /***************************Sol*****************************/ //Gelen veri 'L' ise araba sola gider. else if (state == 'L') { analogWrite(motorA1, vSpeed); analogWrite(motorA2, 150); analogWrite(motorB1, 0); analogWrite(motorB2, 0); } /***************************Sağ*****************************/ //Gelen veri 'R' ise araba sağa gider else if (state == 'R') { analogWrite(motorA1, 0); analogWrite(motorA2, 0); analogWrite(motorB1, vSpeed); analogWrite(motorB2, 150); } /************************Stop*****************************/ //Gelen veri 'S' ise arabayı durdur. else if (state == 'S'){ analogWrite(motorA1, 0); analogWrite(motorA2, 0); analogWrite(motorB1, 0); analogWrite(motorB2, 0); } }
Kodumuz Arduino yüklendiyse bilgisayarımıza bağlı USB kabloyu söküp Arduinoyu pillerden besledikten sonra HC-06 Bluetooth Modülünü tekrar bağlayabiliriz.
HC-06 Bluetooth modülünun ışıkları yanıp sönmeye başladıysa bu kısım da sorunsuz şekilde gerçekleşmiş demektir.
Şimdi sıra akıllı telefonumuzu aracımız için ayarlamaya.
Google Play Store’dan Arduino Bluetooth RC Car uygulamasını indirelim. Buradan sonraki adımları isterseniz videodan takip edebilirsiniz.
Uygulamanın inmesi devam ederken biz de telefon ayarlarından Bluetooth paneline girip telefonumuzu HC-06 ile eşliyoruz. Standart eşleme şifresi “1234” veya “0000” tür. Eşleme işlemi bittiyse indirdiğimiz uygulamayı açabiliriz. Uygulama açıldıktan sonra ekranın üst tarafındaki ayarlar sekmesine girip “Connect to car” seçeneğini işaretliyoruz. Daha sonra bizden bir cihaz seçmemizi isteyecek. Önceden eşleştirdiğimiz HC-06 modülünü seçiyoruz.
Bağlantımız gerçekleştiğinde HC-06 Bluetooth Modülü üzerindeki yanıp sönen ışık sürekli yanar pozisyona geçecektir.