Arduino Nedir ? 51052
“Açık kaynaklı bir fiziksel hesaplama platformu”
Arduino masaüstü bilgisayarlarımıza göre daha yüksek çevresel farkındalığı olan ve çevresini kontrol edebilen bilgisayarlar yaratmak için kullanılan bir araçtır. Basit bir mikrodenetleyici kart tabanlı açık kaynaklı bir fiziksel hesaplama platformu ve karta yazılım geliştirme ortamıdır.
Arduino interaktif projeler geliştirmek için kullanılabilir. Değişik anahtarlar ve sensörlerden girdiler almak ve ışıkları, motorları ve diğer fiziksel çıkışları kontrol etmek genel kullanım amacıdır.
Arduino projeleri tek olabilir ya da bilgisayarınızdaki bir yazılımla haberleşebilirler. Kartlar elle monte edilebilir ya da monte edilmiş halde satın alınabilir. Açık kaynaklı geliştirme platformu ücretsiz olarak indirilebilir.
Arduino elektroniğin çok disiplinli alanlarda kullanımını sağlamak için geliştirilmiş tek kart mikrodenetleyicidir. Donanımı 8-bit Atmel AVR ya da 32-bit Atmel ARM tabanlı açık kaynaklı donanım kartından oluşur. Yazılımı standart programlama dili derleyicisi ve kart üzerinde mikrodenetleyiciyi programlamak için kullanılan programlayıcıdan (bootloader) oluşur.
Arduino kartları demonte olarak kendin yap projeleri olarak alınabilir. Elle montaj yapmak isteyenler için donanım tasarım bilgisi herkese açıktır.
Neden Arduino?
Fiziksel hesaplama için kullanılan bir çok mikrodenetleyici ve mikrodenetleyici platformu bulunmaktadır. Örneğin
- Parallax Basic Stamp
- Netmedia BX-24
- Phidgets
- MIT Handyboard
Bütün bu araçlar mikrodenetleyici programlamanın karmakarışık yanlarını alıp kolay kullanılabilir bir paket haline getiren sistemlerdir. Arduino da bunu yapmaktadır. Ancak Arduino’nun öğretmenlere, öğrencilere ve ilgili amatörlere sunduğu başka avantajları vardır. Bunlar;
Ucuz - Arduino kartları diğer mikrodenetleyici sistemlerine kıyasla daha ucuzdur. Arduinonun en ucuz versiyonu elle monte edilebilir. Buna rağmen monte edilmiş Arduino modülleri 50$ altında temin edilebilir.
Çok Platformlu - Arduino yazılımı Windows, Mac OSX ve Linux işletim sistemlerinde çalışabilir. Çoğu mikrodenetleyici sistem sadece Windows’ta çalışır.
Basit, Temiz Programlama Ortamı - Arduino programlama ortamı hem yeni başlayanlar için yeterince basit hem de ileri seviye kullanıcılar için yeterince esnektir. Süreç programlama ortamı tabanlı olduğu için bu ortamda eğitim görmüş öğrenciler kolayca öğrenebilirler.
Açık Kaynaklı ve Geliştirilebilir Yazılım - Arduino yazılımı açık kaynaklı bir araç olarak sunulmuştur ve ileri seviye kullanıcıların geliştirme yapmaları mümkündür. Dil C++ kütüphaneleri ile genişletilebilir ve teknik detayları anlamak isteyen kullanıcılıar Arduino programlama dilinden, asıl temelini aldığı AVR C programlama diline geçiş yapabilirler. Benzer olarak AVR C kodunuzu direk olarak Arduino programlarınızın içine ekleyebilirsiniz.
Açık Kaynaklı ve Geliştirilebilir Donanım - Arduino Atmel’in ATMega8 ve ATMega32 mikrodenetleyicileri temellidir. Modüllerin planları Creative Commons lisansı ile tüm ilgililere açılmıştır. Yani ileri seviye devre tasarımcıları modülleri kendilerine göre tasarlayıp, büyütebilir ve geliştirebilirler. Nispeten yeni başlayan kullanıcılar bile isterlerse breadboard versiyonunu oluşturup, hem nasıl çalıştığını anlayabilir hem de maliyeti düşürebilirler.
Arduino Fikri…
Arduino 2005 yılında İtalya’da Ivrea Tasarım Enstitüsü’nde bir öğrenci projesi olarak başladı. O zamanlar öğrenciler 100$ değerinde Basic Stamp’ler kullanmak zorundalardı ve eğitmenlerden biri olan Casey Rea’ya göre bu maliyet öğrenciler için çok yüksekti.
Kolombiyalı bir öğrenci olan Hernando Barragan tarafından yapılan bir donanım teziyle ilk Arduino prototipi ortaya çıkmış oldu. Daha sonra eğitmenler kartı daha ucuz, daha hafif ve açık kaynaklı olarak yayınlanabilir bir hale getirmek için uğraştı. Sonunda okul kapandı ve araştırmacılardan biri olan David Cuartielles projeyi bir üst seviyeye taşımaya karar verdi.
Donanım
Bir Arduino kartı bir adet Atmel 8-bit AVR mikrodenetleyicisi ve programlama ve başka devrelerle uyumlu çalışmasını sağlamak için gereken tamamlayıcı elemanlardan oluşur. Arduino’nun çok önemli bir özelliği konektör çıkış yapılarındaki standartlaşmadır. Bu sayede CPU kartı shield olarak bilinen çok değişik tiplerde eklentilerle uyum içinde çalışabilir. Bazı shieldlar Arduino ile özel olarak atanmış bazı pinlerle haberleşse de temel iletişim şekli kart ile I2C üzerinden haberleşmeleridir. Bu sayede yığınlanma denilen, bir çok Arduino shieldının beraber kullanılabilmesi gibi çok kullanışlı bir özellik de kazanılmıştır.
Yazılım
Arduino tümleşik geliştirme ortamı (integrated development environment – IDE) Java ile yazılmış, platformlar arası ve süreç programlama dilinden (process programming language) türemiş bir uygulamadır. Tasarlanma amacı yazılım geliştirmeye uzak sanatçılara ve yeni başlayanlara programlamayı tanıştırmaktır. Arduino yazılımı derleme ve karta kod yükleme yapabilme yeteneği olan bir kod editöründen ibarettir. Arduino için yazılan bir program ya da koda “sketch” (eskiz) denir.
Arduino programları C ya da C++ ile yazılır. Arduino IDE “wiring” denilen ve sık kullanılan bir çok giriş çıkış operasyonunu kolaylaştıran bir yazılım kütüphanesi ile gelir. Kullanıcıların sürekli çalışan bir program yazmaları için sadece iki fonksiyon tanımlamaları yeterlidir.
- setup(): program başladığınca çalışan ve özellikleri ayarlayan fonksiyon
- loop(): kart beslendiği sürece sürekli çağırılan döngü fonksiyonu
Basit bir ilk program:
Mikrodenetleyicinin basitçe bir LEDi açıp kapamasını sağlayan tipik bir program altta gösterildiği gibi yazılabilir:
#define LED_PIN 13
void setup () {
pinMode (LED_PIN, OUTPUT); // Pin 13ü dijital çıkış olarak ayarlar
}
void loop () {
digitalWrite (LED_PIN, HIGH); // LED'i yak
delay (1000); // Bir saniye bekle (1000 milisaniye)
digitalWrite (LED_PIN, LOW); // LED'i söndür
delay (1000); // Bir saniye bekle
}
Arduino Kartı Nedir?
Bu MicroNugget bölümünde CBT Nugget eğitmeni Eli “The Computer Guy” robot ve otomatik araçlar yaratmanızı sağlayan ucuz ve küçük bilgisayar kartını tanıtıyor.
Kaynak
http://arduino.cc/en/Guide/Windows

