Arduino ile Bluetooth Kontrollü Araç Yapımı
Uzun zamandır yoktum biri demiş ki öldü şimdide yazsın kral geri döndü :)
Merhaba arkadaşlar,
Arduino hayatımıza girdikten sonra ve gelişen teknoloji ile değişik uygulamalar yapmaya başladık. Bizlerde, siz değerli takipçilerimiz için Arduino yardımıyla Bluetooth üzerinden akıllı telefonlarınızdan oyuncak arabanızı kontrol etmeyi uygulayarak anlatacağı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
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 motoru sağ kanala; sol tarafındaki motorları da sol kanala bağlayacağız. İşimizi fazlasıyla görecektir.
Bu işlemi yaptıktan sonra da arduino bağlantılarını gerçekleştirip kodumuzu yazalım.
Devre Şeması
Projeyi yaparken elektronik elemanları nasıl bağlayacağım diyen takipçilerimiz için alt taraftaki resim ile bağlantı şemalarını çizdik.
Arduino Araba Kodları
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.
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 söner pozisyona geçecektir.Bir daha ki projemizde görüşmek üzere takipte kalın.Ömer Faruk Göllü
Merhaba arkadaşlar,
Arduino hayatımıza girdikten sonra ve gelişen teknoloji ile değişik uygulamalar yapmaya başladık. Bizlerde, siz değerli takipçilerimiz için Arduino yardımıyla Bluetooth üzerinden akıllı telefonlarınızdan oyuncak arabanızı kontrol etmeyi uygulayarak anlatacağı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 motoru sağ kanala; sol tarafındaki motorları da sol kanala bağlayacağız. İşimizi fazlasıyla görecektir.
Bu işlemi yaptıktan sonra da arduino bağlantılarını gerçekleştirip kodumuzu yazalım.
Devre Şeması
Projeyi yaparken elektronik elemanları nasıl bağlayacağım diyen takipçilerimiz için alt taraftaki resim ile bağlantı şemalarını çizdik.
Arduino Araba Kodları
//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);//EVDEİCATVAKT } } //EVDEİCATVAKTİ
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.
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 söner pozisyona geçecektir.Bir daha ki projemizde görüşmek üzere takipte kalın.Ömer Faruk Göllü
Yorumlar
Yorum Gönder