Ana Sayfa Arduino Arduino ile Bluetooth Kontrollü Araba Yapımı

Arduino ile Bluetooth Kontrollü Araba Yapımı

11 min read
1
0
3,171

Arkadaşlar merhaba,ben Arduino Bey kanalından Muhammed Ali Özen bu gün sizlere Arduino ile bluetooth kontrollü araba yapmayı öğreteceğim.Bluetooth kontrollü araba,Arduino ile yapılan en güzel ve en eğlenceli projelerden bir tanesidir.

Kullanılan Malzemeler

  • Oyuncak Araba veya Robot kiti
  • Arduino Uno (nano veya megada tercih edilebilir)
  • Bluetooth Modülü (hc-06, hc-05)
  • L298n Motor Sürücüsü
  • Araç Farları için İstenilen Kadar Led
  • Korna için Buzzer
  • Arduino’ya Enerji Vermek için 9v Pil
  • Araç Motorlarına Enerji Vermek için Pil(lipo veya lion tercihimdir.)
  • Jumper Kablolar

Evet arkadaşlar,tabiki malzemeler bunlarla sınırlı değildir.Araca ekstra bir şeyler eklemek size ve hayal gücünüze kalmış (mesela bir park sensörü ).Aracımıza başlamadan önce,l298n motor sürücüsüne ve bluetooth modülüne bir göz atmanızı tavsiye ederim.Bluetooth kontrollü araba sanılanın aksine oldukça basittir.Sizin hayal dünyanız ile şekillenince görsel olarak çok güzel bir tasarım ortaya çıkacaktır.Aracımızın önce tasarım kısmından başlayalım ben bir oyuncak araba ile yapacağım.Tavsiyem,sizde oyuncak araba seçin.Çünkü ön motorun redüktörleri güzel bir manevra ve dönüş sağlıyor.

Aracımızın bağlantılarını aşağıdaki gördüğümüz şemaya göre yapıyoruz.

İlk önce aracımızın motorlarının kutuplarını motor sürücümüzün motor kısımlarına bağlıyoruz.Daha sonra ın1,ın2,ın3 ve ın4 uçlarını arduinomuzda sırasıyla 2,3,4ve 5. pinlere bağlıyoruz.Daha sonra aracımızın ön far olarak kullanacağımız ledlerin (+) ve (-) uçlarını birlerine bağlayıp arduinodan gnd ve 6.pine bağlıyoruz.Arka far ve dörtlü lambalarımız içinde aynı uygulamayı yaparak arka farı 7. Pine  4’lü lambaları 9.pine bağlıyoruz.Buzzeri ise 8.pine bağlıyoruz. Bluetooth modülünün vcc ve gnd uçlarını Arduino’muzun 5v ve gnd hattına bağlıyoruz. Tx bacağını Arduino’muzun Rx pinine Rx bacağını Arduino’muzdaki Tx pinine bağlıyoruz. Kodumuzu Arduino’ya yüklemeden önce aracımız için kullanacağımız pilin + ve – ucunu motor sürücümüze bağlıyoruz ve Arduino ile motor sürücüsünün gnd hatlarını ortak yapıyoruz.

KODLAR


// ***** MUHAMMED ALİ ÖZEN *****
 
char dataIn = 'S'; // Durma fonksiyonu için karakter
int pinileri = 2; //**
int pingeri = 3; //**
int pinsol = 4; //**ARACIN İLERİ ,GERİ, SAĞ ,SOL KOMUT ÇIKIŞ PİNLERİ**
int pinsag = 5; //**
int pinonla = 6;//ön lamba 
int pinarkala = 7;//arka lamba 
int pinkorna = 8;//korna 
int pindortlu = 9;//DÖRTLÜ 
char determinant; //Program döngüsü için karakter
char det; //Program döngüsü için karakter
 
void setup()
{
Serial.begin(9600); //HC-06 bluetooth modülü için btu 9600
pinMode(pinileri, OUTPUT); // Çıkış pinlerini belirliyoruz.
pinMode(pingeri, OUTPUT);
pinMode(pinsol, OUTPUT);
pinMode(pinsag, OUTPUT);
pinMode(pinonla, OUTPUT);
pinMode(pinarkala, OUTPUT);
pinMode(pindortlu, OUTPUT);
pinMode(pinkorna, OUTPUT);
}
 
void loop()
{
det = check(); // determinantı kontrol et
while (det == 'F') //İLERİ
{
digitalWrite(pinileri, HIGH);
det = check();
}
while (det == 'B') //GERİ
{
digitalWrite(pingeri, HIGH);
det = check();
}
 
while (det == 'L') //SOL
{
digitalWrite(pinsol, HIGH);
det = check();
}
while (det == 'R') //SAĞ
{
digitalWrite(pinsag, HIGH);
det = check();
}
while (det == 'G') //İLERİ SOL
{
digitalWrite(pinileri, HIGH);
digitalWrite(pinsol, HIGH);
det = check();
}
while (det == 'I') //İLERİ SAĞ
{
digitalWrite(pinileri, HIGH);
digitalWrite(pinsag, HIGH);
det = check();
}
while (det == 'H') //GERİ SOL
{
digitalWrite(pingeri, HIGH);
digitalWrite(pinsol, HIGH);
det = check();
}
while (det == 'J') //GERİ SAĞ
{
digitalWrite(pingeri, HIGH);
digitalWrite(pinsag, HIGH);
det = check();
}
while (det == 'W')// ÖN LAMBA YAKMA 
{
digitalWrite(pinonla, HIGH);
det = check();
}
while (det == 'w') // ÖN LAMBA SÖNDÜRME 
{
digitalWrite(pinonla, LOW);
det = check();
}
while (det == 'U') //ARKA IŞIK YAKMA 
{
digitalWrite(pinarkala, HIGH);
det = check();
}
while (det == 'u') //ARKA LAMBA SÖNDÜRME 
{
digitalWrite(pinarkala,LOW);
det = check();
}
while (det == 'V')// KORNA ÇALMA 
{
digitalWrite(pinkorna, HIGH);
delay(100);
digitalWrite(pinkorna, LOW);
delay(100);
det = check();
}
while (det == 'v')//KORNA SUSTURMA 
{
digitalWrite(pinkorna, LOW);
det = check();
}
while (det == 'X')// DÖRTLÜ YAKMA 
{
digitalWrite(pindortlu, HIGH);
delay(250);
digitalWrite(pindortlu, LOW);
delay(250);
det = check();
}
while (det == 'x')//DÖRTLÜ SÖNDÜRME 
{
digitalWrite(pindortlu, LOW);
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);
digitalWrite(pinkorna, 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 == 'W')
{
determinant = 'W';
}
else if (dataIn == 'w')
{
determinant = 'w';
}
else if (dataIn == 'U')
{
determinant = 'U';
}
else if (dataIn == 'u')
{
determinant = 'u';
}
else if (dataIn == 'V')
{
determinant = 'V';
}
else if (dataIn == 'v')
{
determinant = 'v';
}
else if (dataIn == 'X')
{
determinant = 'X';
}
else if (dataIn == 'x')
{
determinant = 'x';
}
else if (dataIn == 'S')
{
determinant = 'S';
}
 
}
return determinant;
}

Kodu Arduino’muza yüklemeden önce bluetooth modülümüzün güç kablosunu çıkarıp kodu yüklüyoruz.Sonra,tekrardan kablomuzu takıyoruz.(Aksi takdirde kod yükleniyor kısmında kalacaktır…)

Bluetooth modülü ile telefonumuzu eşleştirdikten sonra Android cihazımıza playstoredan indireceğimiz “Bluetooth Rc Car” uygulamasını açıyoruz.Ayarlar kısmından,hc06 (ben hc06 kullandım)’yı seçiyoruz ve bağlantımız sağlandıktan sonra keyfini çıkarıyoruz.

Videolu Anlatımlar

Herhangi bir sorunuz için https://www.facebook.com/muhammed.a.ozen.9 bana ulaşabilirsiniz.

İyi çalışmalar

Buna Benzer Yazılar Göster !
Daha Fazlasını Yükle - Konuk Yazar
Daha Fazla Göster -  Arduino

1 Yorum

  1. Erhan Kut.

    22 Temmuz 2017 at 15:17

    hata mesajım bu şekilde .. yardımcı olabilirmisiniz

    Arduino:1.8.0 (Windows 7), Kart:”Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)”

    C:\Users\EZN\AppData\Roaming\com.makeblock.Scratch3.4.9\Local Store\scratchTemp\project_Untitled6_6\project_Untitled6_6.ino: In function ‘int check()’:

    project_Untitled6_6:136: error: ‘amp’ was not declared in this scope

    if (Serial.available() > 0) //Serial portun kontrollü

    ^

    project_Untitled6_6:136: error: expected ‘)’ before ‘;’ token

    if (Serial.available() > 0) //Serial portun kontrollü

    ^

    project_Untitled6_6:136: error: ‘amp’ was not declared in this scope

    if (Serial.available() > 0) //Serial portun kontrollü

    ^

    project_Untitled6_6:136: error: ‘gt’ was not declared in this scope

    if (Serial.available() > 0) //Serial portun kontrollü

    ^

    project_Untitled6_6:136: error: expected ‘;’ before ‘)’ token

    if (Serial.available() > 0) //Serial portun kontrollü

    ^

    project_Untitled6_6:210: error: expected ‘}’ at end of input

    }

    ^

    exit status 1
    ‘amp’ was not declared in this scope

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

    Reply

Bir Cevap Yazın

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

Bak Bakalım ?

PLC Ve DCS Arasındaki Farklar Nelerdir?

PLC ile DCS arasındaki farkları daha rahat kavrayabilmemiz için ilk önce bu iki kavramı iy…