Professional Documents
Culture Documents
2016 Cihat Şinar - Android Bluetooth Üzerinden Arduino Ile Araba Kontrolü
2016 Cihat Şinar - Android Bluetooth Üzerinden Arduino Ile Araba Kontrolü
SEYH
BILEC
IK
EDEBALI NIVERS
ITES
I
IK
FAKLTESI
MHENDISL
I BLM
ISAYAR
IG
BILG
MHENDISL
ARDUINO
ILE
TELEFON KONTROLL ARABA
Cihat S INAR
PROJE II ALISMASI
PROJE DANISMANI
BILEC
IK
16 Ocak 2017
T.C.
SEYH
BILEC
IK
EDEBALI NIVERS
ITES
I
IK
FAKLTESI
MHENDISL
I BLM
ISAYAR
IG
BILG
MHENDISL
ARDUINO
ILE
TELEFON KONTROLL ARABA
Cihat S INAR
PROJE II ALISMASI
PROJE DANISMANI
BILEC
IK
16 Ocak 2017
ZET
Projenin Amac
Arduino Uno ile Motor Src ve HC-06 bluetooth sensrnn kodlanarak telefon ile
bluetooth zerinden haberlesip arabann hareket ettirilmesi amalanmstr.
Projenin Kapsam
Iki blmden olusacak projenin ilk blmnde motor src devresine DC motorlar ve
bluetooth sensrnn baglanmas , ikinci blmnde ise kullanlan sensr ve motorlarn
kodlanarak kontorol edilmesi yer almaktadr.
Sonular
ii
ABSTRACT
Project Objective
With Arduino Uno, engine driver and HC-06 bluetooth sensor are coded to communicate
with the phone via Bluetooth to move the car.
Scope of Project
In the first part of the project, which will be composed of two parts, the connection of the
DC motor and the bluetooth sensor to the motor drive circuit and the second part is the
coding and control of the sensors and motors used.
Results
iii
TESEKKR
CIHAT S INAR
16 Ocak 2017
iv
INDEK
I
ILER
ZET
ii
ABSTRACT
iii
TESEKKR
iv
LISTES
SEK
IL
I
vi
IS
1 GIR
ILER
2 GENEL BILG
2.1
2.1.1
2.1.2
Arduino IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.3
G . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.4
Bellek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.5
Giris-ks . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.6
Haberlesme . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.7
Programlama . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2
DC MOTORLAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3
2.4
3 PROGRAM KODLARI
3.1
3.2
Bluetooth Baglants . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
4 SONULAR VE NERILER
4.1
12
Sonular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
KAYNAKLAR
13
ZGEMIS
14
LISTES
SEK
IL
I
1
Arduino IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DC motor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
10
10
10
11
11
vi
IS
GIR
Projenin konusu, mobil cihazdan kablosuz olarak bluetooth ile ara kontrol yapmaktr.DC motorlarn hareketi mobil cihaz ile saglanacaktr. Bu ynlendirme islemi iin ise
mobil cihazmzda bir uygulama tasarlanacak ve dizayn edilen uygulamadan gerekli bilgileralnarak mekanik aksam zerinde ki degisimler gzlenecektir.Teknolojinin ilerlemesiyle birlikte insanlarn yasamlarn kolaylastran cihazlara ynelmesi ve bu cihazlarn tek
elden kontrol edilmesi istendigi gzlemlenmektedir.Bu kontrolsrasnda gereksiz kablo ve
kullanm zor olan aletlerden kanlmaktadr. Bu nedenle gnmzde yavas yavas btn
cihazlarn kablosuz cihazlar zerinden kontrolne geis yaplmaktadr. Mobil cihazlardan, gereken islerin karslanmas ve gndelik yasam kolaylastran yeni buluslarn insan
yasam ierisine girmesi olduka nemlidir. Tm bu nedenlerden dolay projeyi degerlendirdigimizde aslnda projenin ne kadar nemli olduguve gz nnde bulundugu ortadadr.
2
2.1
ILER
GENEL BILG
Arduinonun Genel zellikleri
Sekil
2.1.1
Arduino programlamada kullanlan dil C ile ayn szdizimine sahiptir. Gelistirme ortam
olarak Processing Programlama ortamna dayanmaktadr. Processing, resim, animasyon
ve etkilesim yntemleri gelistirilebilecek ak kaynak bir programlama dili ve ortamdr.
oklu ortam malzemeleriyle (resim, video ve ses gibi) sorunsuz alsabilir ve isleyebilir.
Kendi yaptklar profesyonel islerinde prototip uygulama, sergi gesi veya islerinin niteliklerini artracak nitelikte kullanmaktadr. Arduino iin arka planda Atmega mikrodenetleyicileri iin kullanlan GNU GCC derleyici ve derlenen programlarn mikrodenetleyiciye yklenmesinde kullanlan AVRDude yazlm bulunmaktadr. Program Processing
tabanl Arduino Yazlm Gelistirme Ortam (IDE) yardm ile karta yklenir. Gelistirme
ortam kodlar derleyip kolaylkla mikrodenetleyiciye yklemeyi saglar. Arduino ktphaneleri birok islemi donanm seviyesine inmeden yani kaydediciler zerinde islem yapmaya gerek kalmadan yapmay saglar.[3]
2.1.2
Arduino IDE
Gelistirme ortam ile programmz yazp derleyip kartmza ykleyebiliyoruz. Bunun iin
Arduino gelistirme ortamnda ksa yollar bulunmaktadr. Derlenilen kodlar upload butonu
ile arduino kartna yklenir. Arduino gelistiricilerinin yazdg bir ok programa gelistirme editr zerinden ulaslabilmektedir. Bunun iin File Examples yolu takip edilir.Bu
kodlarn Arduinoya aktarm, zerinde bulunan usb girisi ile bilgisayara baglantsyla
saglanmaktadr.
3
Sekil
2: Arduino IDE
Arduno IDE de yazlan kodlar genel yaps ile C diline benzemektedir. C ve C++ dillerinin szdizimini kullanmaktadr.setup() arduino taslag baslatlrken agrlan hazrlama
fonksiyonudur. Degiskenleri ilklendirmek ve pinleri ayarlamak iin kullanlr. loop() setup() agrs sonlandktan mikroislemci srekli (kapatlana veya resetlenene kadar) bu
fonksiyonu agrr.
2.1.3
Arduino Uno USB baglants veya harici g kaynag ile g alabilir. G kaynag otomatik olarak seilir. Harici (non - USB) g bir AC - DC adaptr veya pil ile gelebilir.
2.1.4
Bellek
Bu kart ATMega328 ve nceden ykl olarak bootloader ile tam montajl ve test edilmis
olarak gelmektedir. ATMega328, bootloader kullandg 0.5KB dahil olmak zere 32KB
bellege sahiptir. 2KB SRAM ve 1KB EEPROMa sahiptir.
4
2.1.5
Giris-ks
Uno zerindeki 14 dijital pinden her biri pinmode(), digitalWrite() ve dijitalRead() fonksiyonlar kullanlarak giris yada ks olarak kullanlabilmektedir. Bu pinler 5V ile alstrlabilmektedir. Her bir pin max 40 mA alr ve 20 - 50 kOhms olan i direncine sahiptir.
Ek olarak baz pinler zellestirilmis fonksiyonlara sahiptir.
2.1.6
Haberlesme
Arduino Uno bir bilgisayarla, diger bir Arduino ile ya da diger mikrodenetleyiciler ile
haberlesmek iin bir takm zelliklere sahiptir. ATMega328, pin 0 ( RX ) ve pin 1 ( TX )
dijital pinleri zerinde kullanlabilir olan UART TTL ( 5V ) seri haberlesme saglar. Board
zerindeki bir ATmega16U2 USB zerinden seri haberlesme saglar ve bilgisayarda sanal
bir com port gibi gzkmektedir.
2.1.7
Programlama
Arduino programlama dilinde 2 temel fonksiyon bulunur. 1-) setup () : Bu fonksiyon Arduino alsmaya basladktan sonra ya da reset butonuna basldktan sonra 1 kere alstrlr. Bu fonksiyonda tek seferlik fonksiyonlar alstrlr. rnegin pin ayarlamas, seri
haberlesme baslatlmas gibi. 2-) loop() : Bu fonksiyon sonsuz dng fonksiyonlardr.
setup() fonksiyonunun hemen ardndan alstrlr ve arduino alstg srece devam eder.
Birok programlama dilinde oldugu gibi arduino programlama dili de case-sensitive( byk kk harf duyarl) bir dildir. Arduino da yazdgmz programlar Verify butonu ile
derleriz. Yannda ki buton ise upload butonudur. Bu buton ile yazdgmz program Arduinoya ykleriz.
5
2.2
DC MOTORLAR
Dogru akm elektrik enerjisini, mekanik enerjiye eviren elektrik makinesine DC motor
denir. Dogru akm motorlarna DA veya DC motor denilmektedir. Dogru akm zamanla
yn ve siddeti degismeyen akma denir. Ingilizce Direct Current kelimelerinin ksaltlmas DC ile gsterilir.
Sekil
3: DC motor
Manyetik alan iinde kalms bir iletken tel zerinden akm geerse iletken tel zerinde
bir hareket gzlenir. DC motorlarn elde ettigi hareket enerjisi bu temel prensibe bagldr.
Ierisinden akm geen iletken, manyetik alana sokulursa iletkene bir kuvvet etkir.
2.3
Sekil
Grdgmz bu motor shield 4 DC Motor, 2 Servo Motor, 2 Step Motor girisine sahiptir.Bunu direk mikrodenetleyicinin stne takarak kullanyoruz. [2]
2.4
Sekil
HC-05 ve HC-06 Bluetooth modlleri zellik olarak hemen hemen birbirinin aynsdr.
Tek fark, HC-05 hem kendisine gelen baglant isteklerine cevap verirken hem de baska
Bluetooth cihazlarna baglant istegi yollayabilmesidir. HC-06 Bluetooth modl ise yalnzca kendisine gelen baglant isteklerini cevaplayabilir, baska bir Bluetooth modlne
baglant istegi yollayamaz. Ksacas HC-05 hem master (ynetici) hem de slave (kle)
modunda alsabilirken, HC-06 sadece slave (kle) modunda alsabilmektedir.[4] HC06 Bluetooth modllerinin ortak zellikleri asagda verilmistir:
Sekil
PROGRAM KODLARI
setup()
loop()
loop() ksm fonksiyonlarn yazldg yerdir. setup() ksm ise fonksiyonlarn agrldg
yerdir.
3.1
Motorlarn alsmas iin include <AFMotor.h> ktphanesi gerekmektedir. Motorlar hareket ettiren kodlar asagdaki gibidir.
Sekil
Sekil
Sekil
Sekil
3.2
Bluetooth Baglants
Sekil
11
4
4.1
SONULAR VE NERILER
Sonular
Projede amalanan bluetooth modl ile android cihaz haberlestirip sinyali Arduinoya
ynlendirmektir.Android telefon zerinden bluetooth modl sayesinde robot kontrol edildi.
Robotu ynetecek uygulamaya sahip bir mobil cihaz ile arduino uno baglants kuruldu.
Mobil cihazda kullanc arayz olusturuldu. Projede kullanlan robotun kontrolnn kolay olabilmesi iin 2 adet DC Motor kullanlmstr.Android cihaz zerindeki uygulamadan
bluetooth modl sayesinde arduinoya sinyal gnderilmistir ve bu sinyal sayesinde DC
motorlarn dnme yn ve hz ayarlanarak robota istenilen ynde hareket edebilme kabiliyeti kazandrlmstr. Projenin yapm asamalarndan bu yana arastrma yaplarak mobil
cihazlarn insan yasam ierisine ne kadar girdigi grld. Yaplan proje iin java programlama dili arastrld.Yazlan kodlarla yaplan projenin uyumlulugu sagland. Tasarmn
insan yasantsnda de gibi kolaylklar saglayacag tartsld.Yasanan zorluklar arasnda ise
kullanlan modllerin voltaj degisikliklerinde verdikleri sonularda sapma gzlemlendi.
Ve ayr ayr alsan modllerin birlikte kullanldgnda voltaj degisimlerinden etkilenmeleri sonucu istenmeyen hareketlilikler gzlemlendi.
12
KAYNAKLAR
[1] .http://mekatronizm.com/arduino-ve-\
bluetooth-haberlesme-ile-arac-kontrolu/
[2] .http://www.robimek.com/adafruit-motor-shield\
discretionary{-}{}{}pin-yapisi-ve-yazilim-fonksiyonlari/
[3] .https://gelecegiyazanlar.turkcell.com.tr/konu/arduino/
egitim/arduino-103/
[4] .http://maker.robotistan.com/arduino-dersleri-17\
-hc-05-bluetooth-modulu-kullanimi/
[5] .https://learn.adafruit.com/category/learn-arduino
[6] .http://maker.robotistan.com/arduino-dersleri\
-14-dc-motor-hiz-ve-yon-kontrolu/
13