Arduino Hakkında Herşey; Tanıtım, Kurulum, Yazılım

ARDUINO

1.Arduino bir G/Ç kartı ve Processing/Wiring dilinin bir uygulamasını içeren geliştirme ortamından oluşan bir fiziksel programlama platformudur.

2.Arduino kartlarının donanımında bir adet Atmel AVR mikrodenetleyici (ATmega328,ATmega2560, ATmega32u4 gibi) ve programlama ve diğer devrelere bağlantı için gerekli yan elemanlar bulunur. Her Arduino kartında en azından bir 5 voltluk regüle entegresi ve bir 16MHz kristal osilator (bazılarında seramik rezonatör)vardır. Arduino kartlarında programlama için harici bir programcıya ihtiyaç duyulmaz, çünkü karttaki mikrodenetleyiciye önceden bir bootloader programı yazılıdır.

3. Genuino, Arduino ‘nun kardeş markasıdır. Arduino ‘nun eş kurucuları olan Massimo Banzi, David Cuartielles,Tom Igoe, ve David Mellis tarafından kurulmuştur. Birleşik Devletler dışında satılan Arduino ürünleri için kullanılan bir markadır. Genuino Uno, Genuino101, Genuino Mega 2560, Genuino Zero ve Genuino Micro kartları bulunmaktadır.Bu kartlar ile Arduino versiyonları arasındaki tek fark marka ismindeki farklılıktır. Kartların bileşenleri ve özellikleri her birinin Arduino versiyonu ile aynıdır.

4.Arduino Bileşenleri;

a. Arduino ‘nun temel bileşenleri : Arduino geliştirme ortamı (IDE), Arduinobootloader (Optiboot), Arduino kütüphaneleri, AVRDude(Arduino üzerindeki mikrodenetleyici programlayan yazılım) ve derleyiciden(AVR-GCC) oluşur.

b.Arduino yazılımı bir geliştirme ortamı (IDE) ve kütüphanelerden oluşur. IDE,Java dilinde yazılmıştır ve Processing adlı dilin ortamına dayanmaktadır.Kütüphaneler ise C ve C++ dillerinde yazılmıştır ve AVR-GCC ve AVR Libc. ile derlenmiştir. Ardiuno kaynak kodları aşağıda görüldüğü gibidir.

c. Optiboot bileşeni Arduino ‘nunbootloader bileşenidir. Bu bileşen, Arduino kartlarının üzerindeki mikrodenetleyicinin programlanmasını sağlayan bileşendir.

d.Arduino ‘nun bu kadar çok tercih edilmesini sağlayan en önemli bileşen ise mikrodenetleyici konusunda detaylı bilgi sahibi olmayı gerektirmeden herkesin programlama yapabilmesini sağlayan Arduino kütüphaneleridir. Arduino kütüphaneleri, geliştirme ortamı ile birlikte gelmekte ve “libraries”klasörünün altında bulunmaktadır. Kodları inceleyerek mikrodenetleyicilerin nasıl programlandığını ve kütüphanelerin yapısını görmeniz mümkündür. Arduino  kütüphaneleri aşağıda görüldüğü gibidir.

e. Son olarak AVRDude bileşeni ise derlenen kodları programlamak için kullanılır.

5.Arduino İle Neler Yapılabilir ?

 a.Arduino kütüphaneleri ile kolaylıkla programlama yapabilirsiniz. Analog ve dijital sinyalleri alarak işleyebilirsiniz. Sensörlerden gelen sinyalleri kullanarak, çevresiyle etkileşim içerisinde olan robotlar ve sistemler tasarlayabilirsiniz. Tasarladığınız projeye özgü olarak dış dünyaya hareket,ses, ışık gibi tepkiler oluşturabilirsiniz.

b.Arduino ‘nun farklı ihtiyaçlara çözüm üretebilmek için tasarlanmış çeşitli kartları ve modülleri mevcuttur. Bu kart ve modülleri kullanarak projelerinizi geliştirebilirsiniz.

6. Arduino Nasıl Kullanılır ?

a.Arduino tüm bu avantajlı özelliklerine rağmen, tüm projelerinizi sıfır elektronik ve yazılım bilgisi ile çabucak yapabileceğiniz bir araç değildir.Hazır kütüphaneleri ve örnekleri kullanarak belli bir yerden sonra tıkanmamak için Arduino ile birlikte elektronik ve yazılım da öğrenmeniz gerekir.

b.Arduino kartlarının getirdiği kolaylıkların bir götürüsü olarak Arduino kartlarda Atmega mikrodenetleyicilerin performansını %100 kullanamazsınız.

c.Arduino ile çalışmaya başlamadan önce Arduino hakkında temel bilgileri edinmeniz faydalı olacaktır. Sonrasında sizin için uygun olan Arduino kartını(Arduino Uno, Arduino Mega 250, Arduino Leonardo… vs) seçip bir adet edinmelisiniz. Tüm Arduino kartları aynı şekilde programlanabilir, ancak farklı kartların farklı özellik ve fonksiyonları olur. Örneğin sıklıkla tercih edilen2 Arduino kartı, Arduino Uno ve Arduino Mega;

7.Arduino Uno Özellikleri

a.Arduino ‘nun temel kartıdır.

b.ATMega328 mikrodenetleyicisi bulunur.

c.14 Dijital G/Ç Pini, 6 PWM Çıkışı, 6 ADC Girişi vardır.

d.32 KB Flash hafızaya sahiptir.

8.Ardiuno Mega Özellikleri

a.Arduino Mega 2560 ‘da ATMega2560 mikrodenetleyici bulunur.

b.Giriş / Çıkış Sayısı Arduino Uno ‘dan daha fazladır. (54 Dijital G/Ç Pini, 14PWM Çıkışı, 16 ADC Girişi)

c.Hafızası da Arduino Uno ‘ya göre daha yüksektir. (256 KB Flash hafıza)

FIRTZING PROGRAMI

1.Arduino projeleriniz için hazırlayacağınız devreleri çizmek için Firtzing programını kullanabilirsiniz.

2.Fritzing programı projelerinizin çizimlerini yapabilmeniz içindir. Henüz simülasyon özelliği bulunmamaktadır.

ARDUINO ÇEŞİTLERİ

1.Arduino Uno

a. ATMega328 tabanlı Arduino kartıdır.

b. USB-seri iletişim dönüştürücü olarak FTDI entegre kullanılmıyor ama dönüştürme işini ATmega8U2 yapıyor. Bu durum, daha hızlı aktarım olanak sağlıyor. Yani aslında dönüştürücü entegresi kullanıldığında herhangi bir USB bağlantılı cihaz olarak algılanırken, bu dönüştürücünün işinin yazılımla halledilmiş olması,takılan bilgisayar tarafından, yekpare bir USB tak kullan aygıtı olarak algılanmasını sağlıyor. Linux ve Max için driver yüklemek gerekmezken Windowsiçin inf dosyası gerekiyor. FTDI chipi kullanılmamış olmasının verdiği başka bir özellik de Arduino Uno”yu sisteme klavye, mouse, joystick vs. olarak tanıtabilme ve sistemde bu şekilde kullanabilme kolaylığı.

c. Çok popüler olmasından dolayı Arduino Uno ile yapılmış proje örnekleri çokça bulunabiliyor.

d. Üzerinde hem 3.3V hem de 5V çıkışı mevcut.

e. Haberleşme ve güç için hem USB portu hem de DC adaptör girişi bulunuyor.

f. Kolay bağlantı için tüm çıkışlar dişi pin header şeklinde.

2.Arduino Mega2560

a.Arduino Mega”nın son versiyonu olan Arduino Mega2560, Atmega2560″ın geliştirilmiş chipsetlisi kullanılarak yükseltilmiş diyebiliriz. Bu yükseltme, orijinal Mega”nın 2 katı flash memory kazandırdı(256k) Aynı zamanda Uno”da olduğu gibi FTDI USB-Seri dönüştürme chipi de bu versiyonda kullanılmadı.

b.Bu Arduino çeşidi de Arduino Uno”ya benziyor. Gerçi tüm Arduino”lar birbirine üç aşağı beş yukarı benziyor ama Arduino Uno, Arduino çeşitleri arasında bel kemiği diyebileceğimiz bir tür olduğu için diğer geri kalanlarını Uno”yla karşılaştırıyoruz. Mega2560 Uno”dan bellek olarak da daha yüksek.

c.ATmega2560 “ya yükseltilmesi sayesinde 256k flash memory”ye sahip.

d.USB-seri iletişim dönüştürücü olarak ATmega8U2 kullanıyor. Bu daha hızlı aktarıma olanak sağlıyor. Linux ve Max için driver yüklemek gerekmezken Windows için inf dosyası gerekiyor. FTDI chipi kullanılmış olmasının verdiği başka bir özellik de Arduino Uno”yu sisteme klavye, mouse, joystick vs. olarak tanıtabilme kolaylığı.

e.Daha fazla dijital çıkışı var.

f.14 PWM çıkışı mevcut.

g.Haberleşme ve güç için hem USB portu hem de DC adaptör girişi bulunuyor.

h.Üzerinde hem 3.3V hem de 5V çıkışı mevcut.

i.Kolay bağlantı için tüm çıkışlar dişi pin header şeklinde.

3.Arduino Duemilanove

a. ATMega328 tabanlı bir Arduino çeşididir. Arduno Duemilanove, Arduino Uno çıkana kadar Arduino piyasasını domine ediyordu ancak Uno çıktıktan sonra biraz geri planda kaldı. Donanım özellikleri olarak Arduino Uno”nun neredeyse aynısı. Uno”dan farkı FTDI entegresinin olması. Uno”da bu dönüştürücü entegre yok,bunun yerine ATmega8U2 dönüştürme işlemi için programlandı. Yani ArduinoUno”nun gelişmemiş bir versiyonu diyebiliriz. Elinizde varsa atmayın ama yeni Arduino alacaksanız da bunun yerine Uno alın.

b. USB-seri dönüşüm için FTDI entegresi kullanıyor.

c. Üzerinde hem 3.3V hem de 5V çıkışı mevcut.

d. Haberleşme ve güç için hem USB portu hem de DC adaptör girişi bulunuyor.

e. Auemilanove”da yeni bir özellik olarak otomatik güç algılama sistemi bulunuyor.  Bu sistem gücü USB”den veya adaptör girişinden kendisi seçiyor.

f. Kolay bağlantı için tüm çıkışlar dişi pin header şeklinde.

4.Arduino Pro

a. SparkFun “ın ürettiği bir Arduino çeşididir. Arduino Duemillanove”nin neredeyse aynısıdır ama en temel farkı üzerindeki komponentlerin SMD(Surface MountDevice) olmasıdır. Bu da boardun incelmesini sağlamıştır. Normalde kartın üzerindeki komponent yerleşimi Duemilanoveninkiyle aynıdır. Bu da Duemilanove için üretilmiş Arduino eklentilerinin(shieldların) Arduino Pro için de kullanılabilmesini sağlar. Peki performans olarak farkları var mıdır? Hayır.Sadece kartın kalınlığı değişmiştir.

b. İncedir.

c. Tüm çıkış yerleri Duemilanoveninkiyle aynıdır. Dolayısıyla onun için tasarlanmış eklentileri kullanabilirsiniz.

d.Güç anahtarı kartın üstünde

e. Kartın üzerinde JST konnektörü vardır. (Fotoğrafta eğri erkek pinlerinin yanında gördüğünüz krem rengi konnektör)

f. Seri bağlantı maliyeti azaltmak için çıkarılmıştır.

5.LilyPad Arduino

a. En enteresan Arduino çeşitlerinden bir tanesidir.  LilyPad Arduino, Leah Buechley tarafından giyilebilir elektronik sistemler için tasarlanmıştır.  Herhangi bir kumaşa rahatlıkla dikilebilen LilyPad Arduino aynı zamanda yıkanabilir.

b. Kendine has aksesuar sınıfı vardır. Yani sadece LilyPad için tasarlanmış Arduino eklentileri, switchleri, kabloları vardır.

6.Arduino Bluetooth

a. Diğer tüm Arduino çeşitlerinin özelliklerini taşıyan Arduino Bluetooth, tüm işlemleri bluetooth üzerinden yapmanızı gerektiriyor. Debug da yapacak olsanız,programlama da yapacak olsanız sadece bluetooth kullanabiliyorsunuz. Zaten USBportu da yok.

b. Kablosuz

c. DC-DC dönüştürücülü bu kart, minimum of 1.2 V, maximum of 5.5 V ile beslenebiliyor.

d. Bluegiga WT11 modülü kullanıyor. Bu modül en kaliteli bluetooth modüllerinden bir tanesi.  Bluegiga üzerinden ses aktarımını dahi rahatlıkla yapabiliyorsunuz.

e. 5V and 9V çıkışları var.

7.Arduino Pro, Pro Mini ve LilyPad “le ilgili notlar;

a. Arduino çeşitleri olabildiğince küçük tasarlanmaya çalışılmış kartlar. Dolayısıyla fiyat olarak da biraz daha ucuzlar. Tabi küçük olmalarının getirdiği bir dezavantaj da var;  USB portu ve FTDI entegreleri yok. Bu kartları programlamak için seri iletişim kullanmanız gerekiyor.

b. Seri iletişim için de FTDI Basic adlı kartı kullanabilirsiniz.

c. Arduino Pro ile Duemilanove arasındaki en büyük fark çalışma voltajları. Pro,hem 3.3V”la hem de 5V”la çalışırken Duemilanove sadece 5V”la çalışıyor. Örneğin arduino projelerinizde sensör kullanacaksanız, Pro almanızı tavsiye ederiz çünkü sensörlerin bir çoğu 3.3V beslemeli oluyor.

d. Bir daha ki makalemizde arduino ile bir robot yapımını aşama aşama anlatacağız.