in ,

Android Kontrollü RC Araba Yapımı

Android Kontrollü RC Araba Yapımı

Merhaba arkadaşlar uzun bir aradan sonra arduino ile çılgın projelerde olabildiğince hızlı ilerlemeye devam ediyoruz. Bu yazımızın konusu Android Kontrollü RC Araba nasıl yapılır bunu öğreneceğiz. 🙂 İsterseniz zaman kaybetmeden hemen işe koyulalım. 🙂

Malzeme Listesi

1- Herhangi Bir Arduino Modeli

2- L298D Motor Sürücü

3- Bluetooth Modül (Hc-06 veya Hc-05)

4- 2 X Redüktörlü Dc Motor

5- Robot Şase

Not: Tüm bu malzemeleri elektronik parça satan yerlerde bulabilirsiniz yada şu ve bu adreslerden internet üzerinden güvenle sipariş edebilirsiniz 🙂 Ayrıca eğer zamanım bol diyorsanız Çin’den de Aliexpress vasıtasıyla getirtebilirsiniz. Daha uygun fiyata gelecektir.

Android Kontrollü RC Araba Devre Şeması

Arduino ve L293D Bağlantısı

L293D ve DC Motor bağlantıları

Arduino ve Bluetooth Modül Bağlantısı

Yazılım

Bu proje için 2 tür yazılıma ihtiyaç duyuyoruz. Birincisi Android  için olan uygulamamız. İkincisi ise Arduino için gerekli olan yazılım.

İlk olarak uygulamamızdan başlayalım..

Telefon uygulamamızda uygulamayı açmadan bluetooth modülümüzü telefonumuzla eşleştirmemiz lazım ilk eşleşmede modül şifre ister ve şifre genellikle “1234” tür değiştirmediyseniz..

Uygulamayı buradan indirebilirsiniz..

Kod


Minik bir not:
 Arkadaşlar siteden kodu kopyalayınca tırnak işaretini farklı alıyor ve kod tam anlamıyla çalışmıyor kodun sağlıklı çalışabilmesi için kodu indirmenizi tavsiye ederim.

Projede kullanılan yazılım kodlarını buradan indirebilirsiniz 🙂

Bir yazının daha sonuna geldik umarım faydalı olmuştur anlamadığınız veya kafanıza takılan yerler olursa yorumda veya kişisel sosyal medya hesaplarımdan ulaşabilirsiniz. Kolay Gelsin 🙂

// DONANIM PLUS ELEKTRONİK
// MODİFASYON TOLGA SOYTEPE
// İNSTAGRAM TOLGASYTP
//www.donanimplus.com
//L298N Bağlantısı
const int DCMotorA1 = 5; // L298N'in IN3 Girişi
const int DCMotorA2 = 6; // L298N'in IN1 Girişi
const int DCMotorB1 = 10; // L298N'in IN2 Girişi
const int DCMotorB2 = 9; // L298N'in IN4 Girişiint 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 alabilirvoid setup() {
// Pinlerimizi belirleyelim
pinMode(DCMotorA1, OUTPUT);
pinMode(DCMotorA2, OUTPUT);
pinMode(DCMotorB1, OUTPUT);
pinMode(DCMotorB2, 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(DCMotorA1, vSpeed); analogWrite(DCMotorA2, 0);
analogWrite(DCMotorB1, vSpeed); analogWrite(DCMotorB2, 0);
}
/**********************İleri Sol************************/
//Gelen veri 'G' ise araba ileri sol(çapraz) gider.
else if (state == 'G') {
analogWrite(DCMotorA1,vSpeed ); analogWrite(DCMotorA2, 0);
analogWrite(DCMotorB1, 100); analogWrite(DCMotorB2, 0);
}
/**********************İleri Sağ************************/
//Gelen veri 'I' ise araba ileri sağ(çapraz) gider.
else if (state == 'I') {
analogWrite(DCMotorA1, 100); analogWrite(DCMotorA2, 0);
analogWrite(DCMotorB1, vSpeed); analogWrite(DCMotorB2, 0);
}
/***********************Geri****************************/
//Gelen veri 'B' ise araba geri gider.
else if (state == 'B') {
analogWrite(DCMotorA1, 0); analogWrite(DCMotorA2, vSpeed);
analogWrite(DCMotorB1, 0); analogWrite(DCMotorB2, vSpeed);
}
/**********************Geri Sol************************/
//Gelen veri 'H' ise araba geri sol(çapraz) gider
else if (state == 'H') {
analogWrite(DCMotorA1, 0); analogWrite(DCMotorA2, 100);
analogWrite(DCMotorB1, 0); analogWrite(DCMotorB2, vSpeed);
}
/**********************Geri Sağ************************/
//Gelen veri 'J' ise araba geri sağ(çapraz) gider
else if (state == 'J') {
analogWrite(DCMotorA1, 0); analogWrite(DCMotorA2, vSpeed);
analogWrite(DCMotorB1, 0); analogWrite(DCMotorB2, 100);
}
/***************************Sol*****************************/
//Gelen veri 'L' ise araba sola gider.
else if (state == 'L') {
analogWrite(DCMotorA1, vSpeed); analogWrite(DCMotorA2, 150);
analogWrite(DCMotorB1, 0); analogWrite(DCMotorB2, 0);
}
/***************************Sağ*****************************/
//Gelen veri 'R' ise araba sağa gider
else if (state == 'R') {
analogWrite(DCMotorA1, 0); analogWrite(DCMotorA2, 0);
analogWrite(DCMotorB1, vSpeed); analogWrite(DCMotorB2, 150);
}

/************************Stop*****************************/
//Gelen veri 'S' ise arabayı durdur.
else if (state == 'S'){
analogWrite(DCMotorA1, 0); analogWrite(DCMotorA2, 0);
analogWrite(DCMotorB1, 0); analogWrite(DCMotorB2, 0);
}
}

Minik bir not: Arkadaşlar siteden kodu kopyalayınca tırnak işaretini farklı alıyor ve kod tam anlamıyla çalışmıyor kodun sağlıklı çalışabilmesi için kodu indirmenizi tavsiye ederim.

Projede kullanılan yazılım kodlarını buradan indirebilirsiniz 🙂

Bir yazının daha sonuna geldik umarım faydalı olmuştur anlamadığınız veya kafanıza takılan yerler olursa yorumda veya kişisel sosyal medya hesaplarımdan ulaşabilirsiniz. Kolay Gelsin 🙂

İçeriği Oyla

Yazar Tolga Soytepe

Ara Sıra Yazılımcı :D

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir