Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

UZAKTAN BLUETOOTH KONTROLLÜ

OYUNCAK ARABA

Abdulbaki Dalmış
Elektrik Elektronik Mühendisliği
Sakarya Üniversitesi
Sakarya, Türkiye
Abdulbaki.dalmis@ogr.sakarya.edu.tr

Özetçe —Hepimizin uzaktan kumandalı arabası olmuştur. A. Projemde Kullandığım Malzemeler


Aynı şekilde neredeyse hepimizin arabasının kumandası , aradan
zaman geçip tekrar oynamak isteyince kaybolmuştur.Bu projenin arduino uno , ledler , breadboard , hc-06 bluetooth modül
asıl hedefi tam da buna çözüm bulmakla ilgili.Tabi ki arabayı , (8*1.5)volt pil , 9 volt pil , L298N motor sürücüsü ,buzzer ,
ihtişamlı gösteren modifiyeleri istediğin gibi yönetebilmek de karaşimşek devresi(diğer oyuncaktan söktüm), kullanılamayan
cabası. Projem herhangi bir oyuncak arabayı arduino kullanarak oyuncak araba Burda bahsettiğim malzemelere robotistan
bluetooth yoluyla telefona bağlayıp aracı bu şekilde kontrol uygulamasından erişebilirsiniz
etmektir. Bu projemde arduino uno kullanmayı tercih ettim .
Şu anlık arduinoma aracın hareket komutları dışında sadece
korna,ön far,arka far ve karaşimşek devresini ekledim.Bu ek- B. Projemde Kulanndığım Uygulamalar
lentilerle beraber çocukların çok eğlenmesini umuyorum. Arduino İDE , bluetooth rc controller
I. G İR İ Ş C. Projemde Kullandığım Kodlama
Uzaktan kumandalı oyuncak arabalar özellikle erkek char dataIn = ’S’; // Durma fonksiyonu için karakter
çocukların vazgeçilmez oyuncakları arasındadır . Özette de int pinileri = 2; //**
bahsettiğim gibi bu oyuncak arabaların en büyük çilesi oyun- int pingeri = 3; //**
cakla bir müddet oynamayıp ortadan kaldırdıktan sonra ku-
int pinsol = 4; //**ARACIN İLERİ ,GERİ, SAĞ ,SOL
mandanın tekrardan genelde bulunamaması olmuştur . Nitekim
KOMUT ÇIKIŞ PİNLERİ**
projemde kullandığım aracın kumandası da bu kategoriye
int pinsag = 5; //**
dahildir.Piyasadaki araçlarda genelde özette saydığım korna, ö
int pinonla = 6;//ön lamba
far, arka far, karaşimşek devresi gibi göze hoş gelen fonksiy-
int pinarkala = 7;//arka lamba
onlar yok , olanlarda ise araba hareket halindeyken otamatik
int pinkorna = 8;//korna
olarak çalışıyor.Kumanda ile bütün fonksiyonların manuel kon-
int pindortlu = 9;//DÖRTLÜ
trol edildiği araca ise henüz rastlamadım. Yaptığım bu proje
char determinant; //Program döngüsü için karakter
ile bluetooth ağını kullanarak istenilen her türlü fonksiyonu
char det; //Program döngüsü için karakter
manuel olarak yapabileceğiz Teknoloji çağının yaşandığı şu za-
manda her ebeveynin elinde bir akıllı telefon var hatta çoğunun
çocuğunda bile , bu sebepten ötürü ister araba kumandası ister void setup()
televizyon kumandası olsun sürekli kaybolan ya da bozulan Serial.begin(9600); //HC-06 bluetooth modülü için btu 9600
kumanda yerine hepsinin tek bir alanda toplandığı telefonları pinMode(pinileri, OUTPUT); // Çıkış pinlerini belirliyoruz.
kullanma çağına geçmeliyiz.Benim de bu projede yapmak pinMode(pingeri, OUTPUT);
istediğim tam olarak budur. pinMode(pinsol, OUTPUT);
pinMode(pinsag, OUTPUT);
II. MATERYAL pinMode(pinonla, OUTPUT);
pinMode(pinarkala, OUTPUT);
Bu ödev ilk verildiğinde BTK Akademiden arduino dersleri pinMode(pindortlu, OUTPUT);
almaya başladım maalesef ki BTK Akademi derslerin devamını pinMode(pinkorna, OUTPUT);
yayınlamadı ve daha sonra da programı kaldırdı . O zamana
kadarki öğrenmiş olduğum bilgilerle de çok üst düzey kodlama
yapacak seviyede olmadığım için internette benzer projelerin
kodlarını alarak denemeler yaptım. Ne yazık ki bulduğum void loop()
kodların çoğu haddinden fazla hatalıydı ve bu beni bayaa
uğraştırdı.Projeme roboturka.com adresinden aldığım kodlarda det = check(); // determinantı kontrol et
birkaç oynama yaparak son halini verdim.Projeyi önce 9v pil while (det == ’F’) //İLERİ
kullanarak breadbooard üzerinde uyguladım.Ancak iş projenin
montajına geldiğinde evde bulmuş olduğum arabaya devremi digitalWrite(pinileri, HIGH);
sığdıramadım ve çevreden bulduğum, kullanılmayan başka bir det = check();
araçta projenin montajını tamamladım
while (det == ’B’) //GERİ digitalWrite(pinsag, LOW);
digitalWrite(pingeri, HIGH); digitalWrite(pinkorna, LOW);
det = check();

int check()
if (Serial.available() > 0) //Serial portun kontrollü
while (det == ’L’) //SOL dataIn = Serial.read(); //Telefondan gelen verilerin kontrollü
digitalWrite(pinsol, HIGH); if (dataIn == ’F’)
det = check(); determinant = ’F’;
while (det == ’R’) //SAĞ else if (dataIn == ’B’)
digitalWrite(pinsag, HIGH); determinant = ’B’;
det = check(); else if (dataIn == ’L’)
while (det == ’G’) //İLERİ SOL determinant = ’L’;
digitalWrite(pinileri, HIGH); else if (dataIn == ’R’)
digitalWrite(pinsol, HIGH); determinant = ’R’;
det = check(); else if (dataIn == ’G’)
while (det == ’I’) //İLERİ SAĞ determinant = ’G’;
else if (dataIn == ’I’)
digitalWrite(pinileri, HIGH); determinant = ’I’;
digitalWrite(pinsag, HIGH); else if (dataIn == ’H’)
det = check(); determinant = ’H’;
else if (dataIn == ’J’)
while (det == ’H’) //GERİ SOL determinant = ’J’;
digitalWrite(pingeri, HIGH); else if (dataIn == ’W’)
digitalWrite(pinsol, HIGH); determinant = ’W’;
det = check(); else if (dataIn == ’w’)
while (det == ’J’) //GERİ SAĞ determinant = ’w’;
digitalWrite(pingeri, HIGH); else if (dataIn == ’U’)
digitalWrite(pinsag, HIGH); determinant = ’U’;
det = check(); else if (dataIn == ’u’)
while (det == ’W’)// ÖN LAMBA YAKMA determinant = ’u’;
digitalWrite(pinonla, HIGH); else if (dataIn == ’V’)
det = check(); determinant = ’V’;
while (det == ’w’) // ÖN LAMBA SÖNDÜRME else if (dataIn == ’v’)
digitalWrite(pinonla, LOW); determinant = ’v’;
det = check(); else if (dataIn == ’X’)
while (det == ’U’) //ARKA IŞIK YAKMA determinant = ’X’;
digitalWrite(pinarkala, HIGH); else if (dataIn == ’x’)
det = check(); determinant = ’x’;
while (det == ’u’) //ARKA LAMBA SÖNDÜRME else if (dataIn == ’S’)
digitalWrite(pinarkala,LOW); determinant = ’S’;
det = check();
while (det == ’V’)// KORNA ÇALMA
digitalWrite(pinkorna, HIGH); return determinant;
delay(500);
digitalWrite(pinkorna, LOW);
delay(100);
det = check();
while (det == ’v’)//KORNA SUSTURMA D. Projemde kullandığım devre şeması
digitalWrite(pinkorna, LOW);
det = check();
while (det == ’X’)// DÖRTLÜ YAKMA
digitalWrite(pindortlu, HIGH); 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);
Şekil 1: devre şeması
digitalWrite(pingeri, LOW);
digitalWrite(pinsol, LOW);
III. SONUÇ
Her deneyim insana bir şeyler katar .Projeye ilk başlarken
açıkcası hiç zorlanacağımı düşünmemiştim ancak yanlış kay-
nak seçimlerim, montajın kaplayacağı alanı hesaplamamam vb.
durumlar beni bayağı uğraştırdı.Tabi ki de bu uğraşlar bana
lehim yapmamda , devrede kullanılan led ve dirençleri doğru
seçmemde tecrübelenmemi sağladı. Bu projeyle beraber kalem
pillerin her ne kadar hepsinin 1.5 volt gerilimi olsa da akım
büyüklüklerinin farklı olduğunu ve şu anki piyasada duracell
den şaşmamam gerektiğini öğrendim. Projede 8 adet 1.5 volt
duracell pile ek olarak arduinonun güç bağlantısı için 9 voltluk
duracell pil kullandım ve anahtarlarını ayrı ayrı bağladım

A. Hesaplamalar
Ürettikleri güçler 9voltluk için : w=v*i
9*(400 mAh)= 9*0.4 = 2.7w
12voltluk için: 12*0.9 = 10.8w

Pillerin devreleri çalıştırabilme süresi: [Akü kapasites(mAh)]


/ [Devreden çekilen akım(mA)] *0.707(enerji kaybı sabiti)
9 Volt için : 400 / 15*0.707 = 18.85 saat
12 Volt için : 900 / 60*0.707 =10.605 saat

B. Kullanım klavuzu
Son olarak projeye yabancı birinin oyuncağı nasıl kul-
lanacağını anlatacağım.Öncelikle aracımın alt kısmında iki
tane anahtar bulunmaktadır.Bunlardan biri arduinoyu besleyen
güç kaynağını , diğeri ise motor sürücüsünü aktif hale ge-
tirmektedir.Anahtarları açtıktan sonra aracın arka tarafında
bulunanan bluetooth sensörün aktif hale geldiğini göre-
ceksiniz. Şimdi ise telefonla bluetooth sensörü eşleştirmeliyiz.
Şifre=1234 olacaktır.Eşleşme tamamlandıktan sonra telefo-
nunuzdan bluetoooth rc contoller uygulamasını açmalıyız ve
uygulama içinden hc-06 senserünü seçip yeşil ışık yanana
kadar beklemeliyiz .Sonradasındaysa eğlenmenin keyfini çıkar-
malıyız.

B İLG İLEND İRME


projenin kodlarının orijinal haline ve projenin taslağına
https://github.com/muhammedalys/btcontrolarduinobey.git
adresinden ulaşabilirsiniz

K AYNAKÇA
[1] <div class="csl-entry"><i>Arduino ile Bluetooth Kontrollü Araba Yapımı
| roboturka.com |</i>. (n.d.). https://roboturka.com/arduino/arduino-ile-
bluetooth-kontrollu-araba-yapimi/</div>

You might also like