arduino-seminer-raporu

Upload: vildan-oezgen

Post on 06-Apr-2018

221 views

Category:

Documents


0 download

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.