Arduino
OKUDUĞUNUZ KONU
Android Kontrollü RC Araba Yapımı
180

Android Kontrollü RC Araba Yapımı

Yazar : Murat Duran25 Haziran 2015
Projeyi Satın Al
Bu projeyi kurulu çalışır halde yada isterseniz demonte halde satın alabilirsiniz.Proje ile birlikle yapım aşaması resimleri bağlantı şemaları ve kodları açık kaynak olarak gönderilir. "Satın Almak İçin Yukarıda Butona Basınız"

Android telefonlarınızla hemen hemen birçok işlemi rahatlıkla yapabilmektesiniz.Bu projemizin sonunda android kontrollü rc araba sahibi olacaksınız.Aşağıdaki adımları uygulayarak sizde kendinize bir araba yapabilirsiniz.Projenin amacı cep telefonunuza yükleyeceğiniz program sayesinde arabanızı istediğiniz gibi bluetooth üzerinden kontrol etmektir.

Projenin ortalama maliyeti 150 ile 200 TL arasında bu kullanacağınız arabanın kalitesine göre değişir.Örneğin bu projede kullandığımız araba 90 tl civarında , siz oyuncakçılardan bozuk araba satın alabilirsiniz.Örneğin araba bozuktur çalışmıyordur ama motorlarında tekerleklerinde her hangi bir sorun yoktur.Zaten size elektronik kısmı lazım değil.Çok daha ucuza satın alabilirsiniz.

Seçeceğiniz arabanın voltajının 4.7 volt ve üstü olmasına dikkat edin.Eğer ki 3.6 voltluk bir araba alırsanız takacağınız piller arduino yu beslemeyecektir.Bu yüzden arabanız verimsiz çalışır.Arduino çalışma gerilimi 5volt tur.Ama 4.7 volt ile denenmiştir, sorunsuz çalışmakta.

Malzmeler

1- Arduino UNO
2-L293B Motor Sürücü
3- HC-06 Bluetooth Modülü
4- RC Oyuncak Araba

Öncelikle arkadaşlar aşağıdaki arduino kodlarını yüklüyoruz.Kodlarımız L298B motor sürücü entegresine göre hazırlanmıştır.Siz motor sürücü shield kullanacaksanız eğer kodları değiştirmeniz gerekecek.Örneğin adafruit motor sürücü ile devre kurmanıza gerek kalmadan direk arduino üzerine montajlaya biliyorsunuz.

Öncelikle bir motor sürücü kartı oluşturmanız gerekmekte.İster ufak bir breadboad üzerine kurun devreyi isterseniz delikli pertinaks ile hazırlayın, hangisi kolayınıza geliyorsa.

Motor sürücü bağlantı şeması resimdeki gibidir.Aynısını kurun , ardından yine değer resimde bluetooth bağlantısı mevcut aynı şekilde bağlantıyı gerçekleştirin.Bluetooth bağlantısın da dikkat etmeniz gereken şey, VCC girişini 3.3volt a bağlayacaksınız.RX girişini arduino da TX e ,TX çıkışını da arduino RX e bağlayacaksınız.

Andorid APK Dosyası İndir

// Proje Hocam - www.projehocam.com
// Android Kontrollü RC Araba Programı

char dataIn = 'S'; // Durma fonksiyonu için karakter
int pinileri = 3; //İleri sürüş için kontrol pini
int pingeri = 5; //Geri sürüş için kontrol pini
int pinsol = 6; //Sola sürüş için kontrol pini
int pinsag = 9; //Sağa sürüş için kontrol pini
char determinant; //Program döngüsü için karakter
char det; //Program döngüsü için karakter

void setup()
{
Serial.begin(9600); //HC-07 bluetooth modülü için btu 9600
pinMode(pinileri, OUTPUT);
pinMode(pingeri, OUTPUT);
pinMode(pinsol, OUTPUT);
pinMode(pinsag, OUTPUT);
}

void loop()
{
det = check();
while (det == 'F') //Telefondaki programda atanmış olan ileri sürüş butonunun harf eşdeğeri
{
digitalWrite(pinileri, HIGH);
det = check();
}
while (det == 'B') //Telefondaki programda atanmış olan geri sürüş butonunun harf eşdeğeri
{
digitalWrite(pingeri, HIGH);
det = check();
}

while (det == 'L') //Telefondaki programda atanmış olan sola dönüş butonunun harf eşdeğeri
{
digitalWrite(pinsol, HIGH);
det = check();
}
while (det == 'R') //Telefondaki programda atanmış olan sağa butonunun harf eşdeğeri
{
digitalWrite(pinsag, HIGH);
det = check();
}
while (det == 'G') //Telefondaki programda atanmış olan sağa butonunun harf eşdeğeri
{
digitalWrite(pinileri, HIGH);
digitalWrite(pinsol, HIGH);
det = check();
}
while (det == 'I') //Telefondaki programda atanmış olan sağa butonunun harf eşdeğeri
{
digitalWrite(pinileri, HIGH);
digitalWrite(pinsag, HIGH);
det = check();
}
while (det == 'H') //Telefondaki programda atanmış olan sağa butonunun harf eşdeğeri
{
digitalWrite(pingeri, HIGH);
digitalWrite(pinsol, HIGH);
det = check();
}
while (det == 'J') //Telefondaki programda atanmış olan sağa butonunun harf eşdeğeri
{
digitalWrite(pingeri, HIGH);
digitalWrite(pinsag, HIGH);
det = check();
}
while (det == 'S') //Telefondaki programda atanmış olan durma fonksiyonun harf eşdeğeri
{
digitalWrite(pinileri, LOW);
digitalWrite(pingeri, LOW);
digitalWrite(pinsol, LOW);
digitalWrite(pinsag, LOW);
det = check();
}

}

int check()
{
if (Serial.available() > 0) //Serial portun kontrollü
{
dataIn = Serial.read(); //Telefondan gelen verilerin kontrollü
if (dataIn == 'F')
{
determinant = 'F';
}
else if (dataIn == 'B')
{
determinant = 'B';
}
else if (dataIn == 'L')
{
determinant = 'L';
}
else if (dataIn == 'R')
{
determinant = 'R';
}
else if (dataIn == 'G')
{
determinant = 'G';
}
else if (dataIn == 'I')
{
determinant = 'I';
}
else if (dataIn == 'H')
{
determinant = 'H';
}
else if (dataIn == 'J')
{
determinant = 'J';
}
else if (dataIn == 'S')
{
determinant = 'S';
}

}
return determinant;
}
SİZCE NASIL OLMUŞ?
Beğendim
63%
İlginç
10%
Eh İşte
4%
Anlamadım
11%
Kötü
3%
Berbat
9%
YAZAR HAKKINDA
Murat Duran
Uzun zamandır internetle uğraşıyorum bu internet bilgimi gerçek mesleğimle bütünleştirip yararlı olacağını düşündüğüm Proje Hocam sitesini hayata geçirdim.Hep kendimi geliştirmeyi seven bir yapıya sahip oldum bir şeyi ezberlemektense o şeyi anlamayı tercih ediyorum.Mekanik ve elektronik hep ilgimi çekti bu internet sitesindede bu konularla ve diğer konularla ilgili projeler paylaşıyorum.Şu an Atatürk Üniversitesinde Makine Mühendisliği öğrencisiyim.
180 YORUMLAR
1 2 3 4
  • Sercan Bozma
    12 Şubat 2017 at 00:55

    Hocam arduino ya 4×1,5 volt veriyorum motor shield a 9 voltluk pil bağladım ama motorlar dönmüyor ama bilgisayardan verince motorlar dönüyor ne yapmam gerekiyor?

  • Bugra guven
    22 Şubat 2017 at 19:45

    hocam benim yaptığım arabanın arka tekerlekleri sorunsuz çalısıyor ama ön tekerlekler dönmüyor yardımcı olabilirmisiniz

YORUM YAP