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

Arduino ile Bluetooth Kontrollü Araba Yapımı

11 min read
3
7
76,205

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

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ü ). Proje ürünlerini uygun fiyata buradan(WIN SOURCE) tedarik edebilirsiniz. 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

3 Yorumlar

  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

  2. Mutlu

    13 Kasım 2017 at 19:46

    Sadece tek 9v pil yeterli olurmu yoksa arduno ve motorlar için 2 adet 9v mu gerekir

    Reply

  3. taci akar

    12 Mayıs 2020 at 22:30

    KODDA det check komutlarında hata veriyor yardımcı olurmusun kardeşim

    Reply

Mutlu için bir cevap yazın Cevabı iptal et

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

Bak Bakalım ?

Lazer İşleme Makinesi Yapımı

Merhaba arkadaşlar,bu projemizde sizlerle birlikte lazer işleme makinesi yapımını göreceği…