Android Kontrollü Rc Tekne Yapımı
Kendi Robotunu Yap projelerimizin bu bölümünde android cihazdan bluetooth üzerinden oyuncak teknemizi kontrol edeceğiz.Rc teknemizin elektronik devresini çıkaracağız.Kendi devre kartımızı yaparak teknemizi telefon veya tabletten kontrol edeceğiz.
Malzemeler:
- Arduino Uno
- L293D Motor Sürücü
- Hc-06 Bluetooth Modül
- Uzaktan Kumandalı Oyuncak Tekne
Elektronik Devre Şeması:
Motor Pinleri
L293 Pin 2 =arduino D5
L293 Pin 7 = arduino D6
L293 Pin 10 = arduino D10
L293 Pin 14 = arduino D9
Eğer daha fazla güç istiyorsanız L298 motor sürücü kartını kullanabilirsiniz.
L293D motor sürücü kanal başına maksimum 0.5A verecek ve bir süre sonra çok ısınacaktır. L298 sürücü kartında bir soğutucu vardır ve kanal başına 1A verir.
Yazılım Kısmı:
//L293 Bağlantı Pinleri const int motorA1 = 5; // L293 Pin 2 const int motorA2 = 6; // L293 Pin 7 const int motorB1 = 10; // L293 Pin 10 const int motorB2 = 9; // L293 Pin 14 const int BTState = 2; //Bluetooth (HC-06 JY-MCU) State pin Arduino dijital pin 2 //Pil Seviyesi Hesaplamaları const float maxBattery = 8.0;// Maksimum Pil Voltaj Değişimi! int perVolt; // Yüzde değişkeni float voltage = 0.0; // Akü voltajı Okuma int level; long previousMillis = -1000*10;// -1000*10=-10sec. İlk değeri oku. Eğer 0 ise o zaman 10 saniye sonra ilk değer alacak. long interval = 1000*10; // Akü değeri okuma aralığı! (10*1000=10sec) unsigned long currentMillis; //Yenilenme zamanı; //Useful Variables int state; int vSpeed=200; // Standart hızı 200 void setup() { pinMode(motorA1, OUTPUT); pinMode(motorA2, OUTPUT); pinMode(motorB1, OUTPUT); pinMode(motorB2, OUTPUT); Serial.begin(9600); } void loop() { if(digitalRead(BTState)==LOW) { state='S'; } //Bağlantı sonlandığında veya bağlantı kesildiğinde tekneyi durdur //Değişken verileri kaydet if(Serial.available() > 0){ state = Serial.read(); } // Gelen 4 verinin hız değiştirme durumları 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;} //İLERİ if (state == 'F') { analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0); analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0); } //İLERİ SOLA else if (state == 'G') { analogWrite(motorA1, 100); analogWrite(motorA2, 0); analogWrite(motorB1, vSpeed); analogWrite(motorB2, 0); } //İLERİ SAĞA else if (state == 'I') { analogWrite(motorA1, vSpeed); analogWrite(motorA2, 0); analogWrite(motorB1, 100); analogWrite(motorB2, 0); } // GERİYE else if (state == 'B') { analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed); analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed); } //GERİYE SOLA else if (state == 'H') { analogWrite(motorA1, 0); analogWrite(motorA2, 100); analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed); } //GERİYE SAĞA else if (state == 'J') { analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed); analogWrite(motorB1, 0); analogWrite(motorB2, 100); } //SOLA else if (state == 'L') { analogWrite(motorA1, 0); analogWrite(motorA2, vSpeed); analogWrite(motorB1, vSpeed);analogWrite(motorB2, 0); } //SAĞA else if (state == 'R') { analogWrite(motorA1, vSpeed);analogWrite(motorA2, 0); analogWrite(motorB1, 0); analogWrite(motorB2, vSpeed); } //DUR else if (state == 'S'){ analogWrite(motorA1, 0); analogWrite(motorA2, 0); analogWrite(motorB1, 0); analogWrite(motorB2, 0); } //BATARYA VOLTAJ OKUMA currentMillis = millis(); if(currentMillis - (previousMillis) > (interval)) { previousMillis = currentMillis; //Read voltage from analog pin A0 and make calibration: voltage = (analogRead(A0)*5.015 / 1024.0)*11.132; //Calculate percentage... perVolt = (voltage*100)/ maxBattery; if (perVolt<=75) { level=0; } else if (perVolt>75 && perVolt<=80) { level=1; } else if (perVolt>80 && perVolt<=85) { level=2; } else if (perVolt>85 && perVolt<=90) { level=3; } else if (perVolt>90 && perVolt<=95) { level=4; } else if (perVolt>95) { level=5; } Serial.println(level); } }
Android Bluetooth Tekne Kontrol:
Android uygulamasını aşağıdaki linkten indirelim.
Eğer android sürümü desteklemezse aşağıdaki uygulamayı indirebilirsiniz.
Bütün bağlantıları yapıyoruz ve yazılımımızı yüklüyoruz.Kontrol kartımız hazır.Teknemize yerleştirebiliriz.
Kendi Robotunu Yap projelerimizin bu bölümünde de android kontrollü rc teknemizi tamamladık.Bluetooth kontrol mesafesinin maksimum 15-20 metre olduğunu unutmayalım.
selamün aleyküm
merhabalar,
10. sınıfım ve okulumuzda bunla ilgili projeyi arkadaşlarımla yapmak istiyoruz. Yaptığınız kırımızı botun yapılışı nereden ve nasıl yaptığınızı öğrenebilir miyim?
Proje malzemeleri set halinde satılıyor olsaydı çok işimizi kolaylaştırırdı. Mümkün mü acaba ?
bunun menzili kısa sanırım bluetooth olduğu için nrf ile olan versiyonu var mı ? yada nrf24l01+pa modeli ile sanırım daha çok menzili olur cevep verirseniz çok sevinirim
hocam bluetooth konrollu araba yaptım ,araba bluettothtan bağlanıyorum çalışıyor bir süre sonrasında l298n tepki vermiyor araba çalışmıyor ,yardımcı olabilmisin sorun pillerden mi motor sürücüden mı bilemedim
Muhtemelen enerji düzensizliği vardır devrede. Pilin gerilim ve akım değerini uygun seçmelisin
Yazılım kısmını tamamen kopyalasam bir sorun yaşar mıyım? aynı malzemelerle çalışacağım?
tekneye nasıl baglandıgı resimleri yok bite toplam ne kadar geliyor
tekneye kartların nasıl baglıgı hakkında detaylı bilgi yokmu ? motorun felan
Harika bir proje olmuş. Paylaşım için teşekkürler. Teknenin batma ihtimali göz önüne alınmış mı 🙂
Fırtınaya yakalanmadığı sürece batmaz herhalde 🙂