Android Kontrollü RC Araba Yapımı ( Kaynak Kod + Source İle Birlikte )

Black Power

Özel Üye
8 Tem 2012
11,765
22
Başlayalım?
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.



bt-car-andorid-1.jpg




bt-car-andorid-5.jpg



bt-car-andorid-2.jpg




bt-car-andorid-3.jpg




bt-car-andorid.jpg






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 montajlayabiliyorsunuz.
Önceklikle 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

Kod:
// Proje  
// 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
 
**** 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);
}
 
**** 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;
}
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.