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 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
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 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;
}