Arduino – 1
Elektronikte popularite kazanan Arduino mimarisi hakkında pratik bilgiler |
Yaklaşık iki yıl kadar önce optik fare sensörleri hakkında araştırma yaparken karşıma çıktı Arduino (*1). Yaptığı işe baktığımda bu tip bir cihazın karmaşık ve zor programlanabilir olduğunu düşünüp peşinen pes etmeye meyilli idim. Makaleyi okumaya devam ettim ve örnek programın ne kadar basit olduğunu gördüğümde en kısa zamanda bir Arduino satın almam gerektiğini hissettim (*2).
Geçen zaman içinde faydalı-faydasız bilgi kırıntılarından oluşan bir birikime ulaştım ve TA2CIP’in mutad çağrılarına bir gazete yazısı ile cevap vermek istedim.
Bu yazı ile son yıllarda hobi elektroniğinde popularite kazanan Arduino mimarisi hakkında pratik bilgiler vermeye çalışacağım. Okurların olumlu geri dönüşleri ile bir yazı dizisine de dönüşebileceği düşüncesiyle, bu ilk yazının başlığı Arduino-1 olarak attım. Umarım hoşunuza giden bir gazete yazısı olur.
Arduino nedir ?
Arduino, açık kaynak kodlu yazılım ve donanıma sahip bir mikrodenetleyici platformudur. Açık kelimesi ile gerçek anlamda açık tasarımı ifade edilmektedir. Baskılı devresi, şematik tasarımı, pc üzerinde çalışan derleyicisi, kütüphaneleri ve tüm detayları ile internet ortamında paylaşılmaktadır.
Arduino aynı zamanda mikrodenetleyici cihazın adı olarak da kullanılmaktadır. Baş tasarımcılarının (Massimo Banzi ve David Cuartielles) İtalyan olmaları nedeniyle cihazın adı da doğal olarak İtalyancadan seçilmiş… Kelime “sıkı dost” anlamına gelen bir erkek ismi. Wikipedia kaynağına göre Arduino’ya ilham veren Wiring platformu, Ivrea Tasarım Enstitüsü’nde Hernando Barragan tarafından yaratılmış. Ivrea’lı Arduin ise bu enstitünün bulunduğu kasabaya ait tarihi bir karakter. (*3)
Arduino Donanım Tasarımı
Arduino temel tasarımı Atmel firmasına ait AVR mikrodenetleyici çipi üzerine kurulmuştur. Güncel Arduino kartlarında çoğunlukla Atmega 328 çipi kullanılmaktadır. Arduino’nun tasarımındaki güzellik kısmen bu çipin genleri ile alakalıdır. Öyle ki Arduino’yu sadece bu çip ve birkaç komponent ile ekmek tahtası (breadboard) üzerinde dahi kurabilirsiniz (*4).
Model numarasındaki ilk iki hane kilobayt cinsinden flash belleğin boyu. Yani Atmega 328’de 32 kilobayt flash bellek var. İlk bakışta bu boyut gözünüze küçük gelebilir. Ama endişelenmeyin; çoğu hobi projesi için derlenmiş program ferah ferah sığacaktır.
Arduino’nun donanım parçalarını sıralamak gerekirse… (arduino uno modeli):
1. USB arabirim (bilgisayara buradan bağlanır)
2. reset butonu (malum buton)
3. USB-RS232 çevirici entegre (çoğu yeni nesil bilgisayarda seri port olmadığı için yeni Arduino devreleri artık USB ile çalışıyor)
4. 2.54 mm aralıklı dişi header konnektörler (bağlantıları buralara yapabilir, bu konnektörlere denk gelecek şekilde shield kartlar takabilirsiniz)
5. pin13 LED ve TX/RX LED’leri (pin 13 LED ile ilgili açıklama aşağıda; TX/RX LED’leri, Arduino bilgisayar ile haberleşirken bidi-bidi yapan şirin parçalar)
6. Power LED’i (enerjiyi aldığında yeşil ışık saçar)
7. Atmega çip (amiyane tabirle devrenin beyni)
8. kristal (devrenin kalbi, saniyede 16 milyon kere titreşiyor)
9. DC besleme (kartınıza birkaçyüz miliamperden fazla yük çekecek parçalar bağlar iseniz buradan beslemeniz gerekiyor. Öğrenme aşamasında sadece LED’lerle veya pasif sensorlar ile çalışırsanız USB’den beslemeniz yeterli olacaktır.)
10. 5V regülator entegresi (olmazsa olmaz 7805)
Arduino’nun basitliğine yakışır bir ilk yazı olabilmesi için satın alma aşamasından ilk programınızı çalıştırma aşamasına gelinceye kadar kısaca özetleyelim:
1. Arduino UNO satın alınır VEYA YAPILIR (pek yakında…). Yine de ilk Arduino’nuzu satın almanızı tavsiye ederim. Çünkü:
• Parça fiyatlarını topladığınızda fiyat avantajı yaratmıyor. (birkaç bin tane almazsanız)
• Üretilebilir tek yüzlü pcb’ler seri port kullanıyor. Bu da fiyata usb-seri çevirici veya FTDI çipi eklemenizi gerektirir. Ayrıca FTDI çipleri sadece SMD olarak mevcut. Daha önce SMD montajı ile uğraşmadı iseniz girişmeyin derim.
• Düşük akım çeken devreleri USB’den besleyebilirsiniz. Seri port’lularda ayrıca besleme gerekir.
• İlk Arduino’nuz bir soğuk lehim yüzünden çalışmaz ise hevesiniz kaçabilir. Bu yüzden bence satın alın. Türkiye mümessili www.robitshop.com (fiyatları yurtdışı fiyatlarına yakın. Hızlı kargo ediyorlar.)
2. Arduino programı internetten indirilir (http://arduino.cc/en/Main/Software)
3. Windows için kurduğunuzu varsayalım. Sıkıştırılmış dosya diskinizin içinde müsait bir yere açılır ve masaüstüne Arduino.exe dosyanın kısayolu atılır. (İkonu mavi bir sonsuz sembolü)
4. Arduino, bilgisayara A/B tipi bir USB kablo ile irtibatlandırılır.
5. Arduino/drivers klasöründe bulunan *.inf dosyası kullanılarak usb-seri çevirici sürücüsü yüklenir. Bazı Windows sürümleri Arduino seri kapısını otomatik tanıyabilir. Kontrol etmek için aygıt yöneticisindeki COM portlarına bakınız.
6. Arduino programı kısayola çift tıklanarak çalıştırılır. Karşımıza şöyle bir ekran çıkar (Yazıyı Macinshot’da yazdığım için snapshot’lar azıcık farklı; idare edin):
7. Yukarı doğru ok sembolü (open: aç) 1. Basics altında Blink örnek programını seçelim
8. Sağa doğru ok tuşu ile programı Arduino’ya upload edelim (yükleyelim).
9. Kod yüklenirken TX/RX ledleri bidi bidi yapacak. Yükleme bittikten sonra ilk programınız çalışmaya başlayacak. Program tahmin edildiği üzere pin 13’e bağlı SMD LED’i yaklaşık bir saniyelik periyotlarla açıp kapatacaktır.
10. LED yanıp sönerken kahve yudumlanır ve gururla seyredilir.
11. Afiyet olsun.
Bir sonraki sayımızda kendi Arduino devresini yapmak isteyenlere hitap etmeye çalışacağım.
Derin hörmetlerimle,
TB2CLX
(*)
(1) http://www.bidouille.org/hack/mousecam
(2) http://www.robitshop.com/
(3) http://en.wikipedia.org/wiki/Arduino#History
(4) http://itp.nyu.edu/physcomp/Tutorials/ArduinoBreadboard