arduino-seminer-raporu
TRANSCRIPT
-
8/2/2019 Arduino-seminer-raporu
1/8
1
AIK KAYNAKLI BR PLATFORM OLAN ARDUINOMKRODENETLEYC SSTEMLERNN NCELENMES
SEMNER RAPORU
Alper Kahriman,Mustafa Kemal niversitesi, Mhendislik Fakltesi,ElektrikElektronik Mhendislii Blm.
Telefon: (532) 3309750 e-posta:[email protected]
ZET
Arduino kolay kullanma sahip donanm ve yazlm kullanan, toplumun sadece bir kesimine deil hi bilgisi
olmayan yaratcl ve evreyle etkileimli projeler yapmay seven btn bireyleri iin retilmi ak kaynaklbir elektronik proje gelitirme platformudur.
1.GR
Arduino evresindeki sensrlerden gelen verileri ileyerek kendine bal motor, hz kontrolcs, lcd ekran veyaled gibi evre birimlerini ynetebilen bir mikrodenetleyici sistemidir. Bord zerindeki mikrodenetleyici Arduino
programlama dili ve Arduino gelitirme birimi ile programlanr. Arduino projeleri tek bana veya bilgisayarla
etkileim iinde olan projeler olarak yaplabilir. (1)
Arduino iin gerekli bordu satn alabileceiniz gibi kendiniz de yapabilirsiniz. Bir arduino sisteminin
yaplabilmesi iin gerekli btn izimler ak kaynak lisans altndadr. zgrce bu izimler indirilip birArduino
yaplabilir. Arduino ile programlama yapabilmek iin gerekli yazlm da zgrce elde edinilebilir.
2.MATERYAL VE YNTEM
Arduino sistemi bir donanm ve bir yazlmdan oluur. Arduino yazlm iletim sistemi olarak platformbamszdr. Java ile hazrlanm Arduino yazlm, Java sanal makinesinin bulunduu Windows, Linux ve Mac
OS iletim sistemlerinde rahata alabilir. Arduino yazlm srekli gelitirilmekte olan ak kaynak lisansa
sahiptir. Arduino yazlmhttp://arduino.cc/en/Main/Softwareinternet sitesinden cretsiz indirilebilir.
ekil 1 Arduino ide
mailto:[email protected]:[email protected]:[email protected]://arduino.cc/en/Main/Softwarehttp://arduino.cc/en/Main/Softwarehttp://arduino.cc/en/Main/Softwarehttp://arduino.cc/en/Main/Softwaremailto:[email protected] -
8/2/2019 Arduino-seminer-raporu
2/8
2
Arduino programlar ana balkta incelenir.
I. Structure (Yap)II. Valuesvariables, constants (Deerler Deiken ve Sabitler)
III. Functions (Fonksiyonlar)Structures Variables Functions
setup()loop()
Control Structuresifif...elseforswitch casewhiledo... whilebreakcontinuereturngoto
Further Syntax; (semicolon){} (curly braces)// (single line comment)/* */ (multi-line comment)#define#include
Arithmetic Operators= (assignment operator)+ (addition)- (subtraction)* (multiplication)/ (division)% (modulo)
Comparison Operators== (equal to)!= (not equal to)< (less than)> (greater than)= (greater than or equal to)
Boolean Operators&& (and)|| (or)! (not)
Pointer Access Operators* dereference operator& reference operator
Bitwise Operators& (bitwise and)| (bitwise or)^ (bitwise xor)~ (bitwise not)> (bitshift right)
Compound Operators++ (increment)-- (decrement)+= (compound addition)-= (compound subtraction)*= (compound multiplication)/= (compound division)
&= (compound bitwise and)|= (compound bitwise or)
ConstantsHIGH | LOWINPUT | OUTPUTtrue | falseinteger constantsfloating point constants
Data Typesvoidbooleancharunsigned charbyteintunsigned intwordlongunsigned longfloatdoublestring - char arrayString - objectarray
Conversionchar()byte()int()word()long()float()
Variable Scope & Qualifiersvariable scopestaticvolatileconst
Utilitiessizeof()
Digital I/OpinMode()digitalWrite()digitalRead()
Analog I/OanalogReference()analogRead()analogWrite() - PWM
Advanced I/Otone()noTone()shiftOut()shiftIn()pulseIn()
Timemillis()micros()delay()delayMicroseconds()
Mathmin()max()abs()constrain()map()pow()sqrt()
Trigonometrysin()cos()tan()
Random NumbersrandomSeed()random()
Bits and ByteslowByte()highByte()bitRead()bitWrite()bitSet()
bitClear()bit()
External InterruptsattachInterrupt()detachInterrupt()
Interruptsinterrupts()noInterrupts()
CommunicationSerial
ekil 2 - Referans Tablosu
-
8/2/2019 Arduino-seminer-raporu
3/8
3
Donanm iin 10 farkl platform bulunmaktadr.
a. Arduino Unob. Arduino Uno SMDc. Mega 2560d. Bluetoothe. Minif. Nanog. LilyPadh. Fioi. Pro
j. Pro MiniA. Arduino Uno: Arduino nun en temel donanm platformudur. Standart bir USB kablo ile bilgisayara
balanabilir. htiya duyulan btn temel zelliklere sahiptir. Birok deiik zellie sahip Daughter bord
olarak adlandrlan Bir ok genileme kart ile gelitirilebilir. zerinde USB den Seriye dnm
salayan bir entegre barndrr. Bu sayede USB zerinden ok rahat programlanabilir. Ayrca USB port
zerinden bilgisayar ile etkileime girerek eitli yazlmlar zerinden ynetilebilir uygulamalar yaplabilir.
ekil 3-Arduino Uno
B. Arduino Uno SMD: Arduino Unodan tek fark yzey monteli mikrodenetleyici kullanlmasdr.
ekil 4 - Arduino Uno SMD
C. Mega2560: Bu versiyon Arduino Uno ile birlikte kt. Giri ve k portlar daha fazla sayda olan MegaAtmega 2560 mikrodenetleyicisi zerine ina edildi.
-
8/2/2019 Arduino-seminer-raporu
4/8
4
ekil 5-Mega2560
D. Bluetooth:eriinde bir blutooth barndran Arduino BT, blutooth zerinden hem programlanabilir hem deiletiime geebilir.
ekil 6-Blutooth
E. Mini: Bu bord Arduino bordlarn en kdr. Bir bredboard zerinde veya alann kstl olduuprojelerde kullanm iin uygundur.
ekil 7-Mini
F. Nano: Breadboard zerinde kullanlmak iin tasarlanmtr. zerinde bir mini USB girii barndrr.
ekil 8-Nano
-
8/2/2019 Arduino-seminer-raporu
5/8
5
G. Lily Pad: Giyilebilir uygulamalar iin tasarlanmtr. Kuma ve kat zerinde rahatlkla kullanlabilir.
ekil 9-Lily Pad
H. Fio: Kablosuz haberleme kullanan uygulamalar iin tasarlanmtr. zerinde XBee sistemi ve Li-Po pil iingiriler bulunmaktadr.
ekil 10-Fio
I. Pro: Dk maliyetlidir. Daha gelimi kullanclar iin tasarlanmtr. Elektronik bilgisi iyi olankullanclar tarafndan kullanlabilir.
ekil 11-Pro
J. Pro mini:Yine dk maliyetli bir boarddur. Bu board da gelimi kullanclar iin tasarlanmtr.
-
8/2/2019 Arduino-seminer-raporu
6/8
6
ekil 12-Pro Mini
3. PERFORMANS ANALZ
Bir LEDin belirli bir sre yanp snmesini salayan bir proje zerinden Arduino anlatlabilir. Bu proje
yaplrken Arduino zerinde 13. Dijital portta bulunan deneme LEDi kullanlmtr.
ekil 13-Yanp snen LED uygulama kodu
-
8/2/2019 Arduino-seminer-raporu
7/8
7
Deneme LEDi yanyor
ekil 14-LED yanarken
Bir saniye sonra deneme LED i snyor.
ekil 15-LED sndnde
Arduino ile byle basit uygulamalar yaplabilecei gibi bilgisayarla haberleebilen daha karmak uygulamalar
da yaplabilir. Buna rnek olarak bir frasz motorun bilgisayar zerinden devir kontroln yapan bir uygulamaverilebilir.
ekil 16-Arayz
-
8/2/2019 Arduino-seminer-raporu
8/8
8
ekil 16 bu uygulama iin Java programlama dili ile yaplan arayz gstermektedir. Frasz motorlar zel
tasarlanan srcler ile kullanlrlar. Bu srcler PWM sinyalleri ile kumanda edilir. Bu uygulamada donanmplatformu olarak Arduino Mega kullanlmtr. Arduino Mega zerinde 12 adet PWM k bulunmaktadr.
Bunlardan 9 numaral pinden PWM sinyali ESC ye iletilmi ve devir kontrol bu k zerinden salanmtr.
Arduino Mega zerinde RS232 standardn USB ye eviren bir yap mevcuttur. Bylece bu donanm USB
zerinden kullanmak mmkndr. Burada yaplmas gereken Arduinoyu seri haberleme iin ayarlamak ve
arayzden seri haberlemeyi balatmaktr. Bunu salamak iin kk bir haberleme protokol gelitirmekgerekir.
ekil 17-Bir frasz motorun Arduino ile kontrol
ekil 17 de donanmn balant ekli gsterilmektedir. Bilgisayarda tarafnda alan program USB ile
mikodenetleyici tarafnda alan program ile haberleir ve PWM sinyalinin deiimini salar. ESC PWM
sinyali ile kontrol edilmektedir. Arduinodan gelen PWM sinyaline gre ESC tarafndan motorun dn hz
dijital olarak ayarlanm olur.
4.SONULAR VE NERLER
Arduino ile en basitinden en karmana kadar eitli uygulamalar yaplabilir. Bunu yapmak iin temel
programlama ve elektronik bilgisi yeterlidir. Kullanc en az abay gstererek en yksek performans
salayabilir. Kark mikrodenetleyici setlerine gre basit kullanm ve ak kaynakl oluuyla Arduino ile
almak gayet kolaydr. Ayrca Arduino ile uygulama gelitirilirken kaynak sknts yaanmamaktadr.
4.KAYNAKLAR
1. Arduino. ARDUINO. [evrimii] General Public License. [Alnt Tarihi: 10 05 2011.] www.arduino.cc.