You are on page 1of 8

AIK KAYNAKLI BR PLATFORM OLAN ARDUINO MKRODENETLEYC SSTEMLERNN NCELENMES SEMNER RAPORU

Alper Kahriman, Mustafa Kemal niversitesi, Mhendislik Fakltesi, Elektrik Elektronik Mhendislii Blm. Telefon: (532) 3309750 e-posta: alperkah@gmail.com

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 kaynakl bir elektronik proje gelitirme platformudur.

1.GR
Arduino evresindeki sensrlerden gelen verileri ileyerek kendine bal motor, hz kontrolcs, lcd ekran veya led 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 bir Arduino 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 platform bamszdr. 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 yazlm http://arduino.cc/en/Main/Software internet sitesinden cretsiz indirilebilir.

ekil 1 Arduino ide

Arduino programlar ana balkta incelenir. I. II. III. Structure (Yap) Values variables, constants (Deerler Deiken ve Sabitler) Functions (Fonksiyonlar)

Structures
setup() loop() Control Structures if if...else for switch case while do... while break continue return goto 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) <= (less than or equal to) >= (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 left) >> (bitshift right) Compound Operators ++ (increment) -- (decrement) += (compound addition) -= (compound subtraction) *= (compound multiplication) /= (compound division) &= (compound bitwise and) |= (compound bitwise or) Constants

Variables
HIGH | LOW INPUT | OUTPUT true | false integer constants floating point constants Data Types void boolean char unsigned char byte int unsigned int word long unsigned long float double string - char array String - object array Conversion char() byte() int() word() long() float() Variable Scope & Qualifiers variable scope static volatile const Utilities sizeof()

Functions
Digital I/O pinMode() digitalWrite() digitalRead() Analog I/O analogReference() analogRead() analogWrite() - PWM Advanced I/O tone() noTone() shiftOut() shiftIn() pulseIn() Time millis() micros() delay() delayMicroseconds() Math min() max() abs() constrain() map() pow() sqrt() Trigonometry sin() cos() tan() Random Numbers randomSeed() random() Bits and Bytes lowByte() highByte() bitRead() bitWrite() bitSet() bitClear() bit() External Interrupts attachInterrupt() detachInterrupt() Interrupts interrupts() noInterrupts() Communication Serial

ekil 2 - Referans Tablosu

Donanm iin 10 farkl platform bulunmaktadr. a. b. c. d. e. f. g. h. i. j. Arduino Uno Arduino Uno SMD Mega 2560 Bluetooth Mini Nano LilyPad Fio Pro Pro Mini

A. 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 Mega Atmega 2560 mikrodenetleyicisi zerine ina edildi.

ekil 5-Mega2560

D. Bluetooth: eriinde bir blutooth barndran Arduino BT, blutooth zerinden hem programlanabilir hem de iletiime geebilir.

ekil 6-Blutooth

E. Mini: Bu bord Arduino bordlarn en kdr. Bir bredboard zerinde veya alann kstl olduu projelerde kullanm iin uygundur.

ekil 7-Mini

F. Nano: Breadboard zerinde kullanlmak iin tasarlanmtr. zerinde bir mini USB girii barndrr.

ekil 8-Nano

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 iin giriler bulunmaktadr.

ekil 10-Fio

I.

Pro: Dk maliyetlidir. Daha gelimi kullanclar iin tasarlanmtr. Elektronik bilgisi iyi olan kullanclar tarafndan kullanlabilir.

ekil 11-Pro

J.

Pro mini: Yine dk maliyetli bir boarddur. Bu board da gelimi kullanclar iin tasarlanmtr.

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

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 uygulama verilebilir.

ekil 16-Arayz

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 donanm platformu 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 gelitirmek gerekir.

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.

You might also like