ARDUINO Micro (Soketli)
Arduino Micro, bir ATmega32u4 tabanlı mikrodenetleyici kartdır.
Arduino Micro, 20 dijital I/O pinine ( 7 tanesi PWM çıkışı, 12 tanesi Analog sinyal girişi olarak kullanılabilir ) sahiptir.
Ayrıca 16 MHz osilatörü, 1 micro USB portu, 1 ICSP bağlantı ‘header’ı ve bir RESET butonu vardır.
USB kablosuyla veya RS232-TTL dönüştürücüsü ile programlanabilir. Ayrıca breadboard üzerine kolayca yerleştililebilir.
Arduino Micro, Leonardo’da olduğu gibi Atmega32u4 mikrodenetleyicisi tarafından sağlanan USB haberleşmesi sayesinde ikincil bir USB işlemcisine ihityaç duymaz.
Arduino Micro kartı da tıpkı Arduino Mini gibi, Ardunio mikrodenetleyici kart ailesinin küçük üyelerinden birisidir. (48mmX18mm) Micro kartının gücü de aslında küçük olmasından gelir; az yer kaplaması planlanan projelerin donanımları Arduino Microile kolayca tasarlanıp kontrol edilebilir. Özellikle yer problemi (boyut) olan uygulamalarda sıklıkla tecih edilir.
Bu ürün, I/O pinleri için ‘header’ları (soket) lehimlenmiş olarak elinize ulaşacaktır!!!
Arduino Microkartının pin dağılımı ve komponentlerin kart üzerinde yerleşimi konusunda genel bir fikir sahibi olmak için aşağıdaki resimi inceleyebilirsiniz:
Giriş-Çıkış Pinleri (I/O) ve Güç Gereksinimi
Arduino Micro kartı üzerindeki 20 dijital I/O pini pinMode(), digitalWrite() veya digitalRead() fonksiyonları kullanılarak giriş veya çıkış olarak kullanılabilir. Logic HIGH 5 volta karşılık gelir. Her pin 20-50 Kohm’luk bir pull-up direncine sahiptir. Ayrıca her pin için sink ve source akımı aynı olup 40 mA’dir. Bunun yanında bazı pinler belirli fonksiyonları yerine getirirler:
Seri haberleşme: pin 0(RX), pin1 (TX) TTL seri veriyi gönderip almak için kullanılan pinlerdir. Arduino Micro için Serial sınıfı USB haberleşme için kullanılır; 0 ve 1. pinler üzerinden TTL seri haberleşme için Serial1 sınıfını kullanabilirsiniz.
PWM çıkışları:pin 3, 5, 6, 9, 10 ve 11. ve 13. pinler. Belirtilen pinler analogWrite() foksiyonu yardımıyla PWM’li sinyal çıkışı sağlarlar.
Harici Kesme (Interrupt) : 0,1,2 ve 3. pinler. Logic level low, düşen kenar veya yükselen kenar bir kesme tetikleyicisi olarak kullanılabilir.attachInterrupt() interrupt handling için kullanılan önemli bir fonksiyondur.
SPI haberleşme: ICSP header’ı üzerinden sağlanır.
LED 13: Çok gerekli olmamakla beraber 13 nolu pine bir LED bağlamak kartın çalışıp çalışmadığınız görmeniz açısından faydalıdır. 13 nolu pinde dahili olarak 1k’lık bir direnç bağlantısı vardır. Bu sebeple 13 nolu pine doğrudan LED bağlanabilirken, diğer pinler için harici olarak direnç bağlantısı da gereklidir.
Analog Girişler: ( A0-A5, A6-A11 arası pinler) 12 analog giriş pinine sahiptir . Bu pinlerin her biri 10 bit çözünürlüğe sahiptir. Default olarak giriş sinyalinin tepe-tepe değeri, ground değerinden 5 volt değerine kadardır. Fakat AREF pinini ve analogReference() fonksiyonunu kullanılarak sinyal üst sınırını değiştirmek mümkündür. Analog girişlerin bir kısmı dijital IO pinleri ile ortaklaşa kullanılmaktadır. (Aynı anda sadece bir fonksiyon)
RX_LED/SS: USB haberleşme sırasında veri alışı olduğunu göstermede ve SPI haberleşmede kartın slave olarak seçilip seçilmediğini göstermede kullanılır.
AREF: Analog girişler için referans voltaj değeridir.
I2C: Analog pinlerden kart üzerinde lehimlemesi yapılmamış iki tanesi I2C haberleşme için ayrılmıştır. Wire kütüphanesi I2C haberleşme için kullanılabilir.
RESET: mikrodenetleyiciyi resetlemek için kullanılan pindir. Aktif LOW olarak çalışır. İstenmeyen resetlenmelerin önüne geçmek için bu pini bir pushbutona veya +5 VDC kaynağına bağlayabilirsiniz.
Arduino Micro , harici bir güç kaynağı veya bir bilgisayara bağlı mikro USB konnnektör tarafından beslenebilir. Güç kaynağı kart tarafından otomatik olarak seçilir. USB kablo kullanılmadığında güç, ya adaptör ya da pil ile sağlanır. Pil bağlanması durumunda, pil uçları güç konnektörünün Vin ve GND uçlarına bağlanır. Kart 6-20 volt aralığında çalışabilir. Fakat 7 volt altında kartın kararsızlaşması ve 12 volt üstünde de voltaj regülatörünün aşırı ısınma problemi olabileceğinden, çalışma gerilimi 7-12 volt olarak tavsiye edilmektedir.
ARDUINO Micro Haberleşme
Arduino Micro, bir bilgisayar veya farkılı bir Arduino kartı veyahut da diğer bir mikrodenetleyici kartı ile haberleşmek için gerekli donanıma sahiptir. Dijital pinler RX ve TX aracılığıyla UART TTL (5v) haberleşme sağlanabilmektedir. Atmega32U4 mikrodenetleyicisi, USB üzerinden seri haberleşmeye olanak sağlar ve bilgisayarınızdaki Arduino yazılımına bir sanal (virtual) COM port olarak görünür. Atmega32U4, standart USB COM sürücülerini kullanarak, kartın USB 2.0 bir cihaz gibi davranabilmesini sağlar.
Arduino Micro kullanmayı planladığınızda işletim sisteminiz Windows ise bir .inf dosyası gerekmektedir. Arduino yazılımı, text verileri karta göndermenize ve karttan gelen text verileri alıp görüntülemenize imkan sağlayan ‘serial monitor’ adı verilen bir bir görünütleme aracına (pencere) sahiptir. Bu ve benzeri haberleşmelerde RX ve TX LEDleri yanıp sönecektir.
SoftwareSerial adlı kütüphane Arduino Leonardo’nun herhangi iki dijital pininin (biri RX diğeri TX işlevi görecek şekilde), seri haberleşme kurmasına imkan sağlar. Ayrıca ATmega32u4 mikrodenetleyicisi TWI (I2C)ve SPI haberleşmeyi desteklemektedir. SPI kütüphane ve mevcut diğer belgeleri daha kolay bir haberleşme sağlamak için inceleyebilirsiniz. Arduino Micro’nun jenerik birer keyboard ve mouse olarak görünebildiğini ve Keyboard ve Mouse sınıfları kullanılarak bu tarz cihazlar gibi programlanabileceğini unutmayın!!!
ARDUINO Micro Programlama
Arduino Micro, Arduino yazılımları kullanılarak programlanabilir. Gerekli programları kurduktan sonra ‘Arduino Leonardo’ seçeneğini Tools>Boardsmenüsünden seçin. ATmega32u4 mikrodenetleyicisi üzerinde br bootloader ile beraber geldiğinden harici bir programlayıcı kullanmanıza gerek kalmadan yeni kodlarınızı yüklemenize olanak sağlar. Arduino IDE’de ‘upload’ butonuna bastığınızda programınız (sketch) otomatik olarak karta yüklenecek (bu sırada kartınız resetlenecek ve bootloader başlatılacaktır) ve sketch çalışmaya başlayacaktır.
Fakat Arduino Micro kartı bilgisayara takıldığında, seri port bilgisayarınızda sanal olarak oluşturulduğundan resetleme esnasında bilgisayar tarafından bir COM port olarak görünmez. Bu durumda Arduino yazılımı Leonardo kartında, Arduino UNO kartına göre farklı şekilde çalışır. Yükleme snasında doğal olarak oluşan bu oto-resetten sonra Arduino yazılımı yeni bir sanal COM port bilgisayar tarafında görülene kadar bekler. Mikrodenetleyiciye bu şekilde sketch yüklenebildiği Arduino Leonardo kartında fiziksel reset butonunu kullanarak yükleme yapmaya kalktığınızda, ilk olarak butonu basılı tutmanız, sonra ‘upload’ butonuna tıklmanız ve ‘uploading’ ifadesini görene kadar reset butonunda elinizi basılı tutmanız gerekmektedir.
Karşılaştırma: Arduino UNO – Arduino Micro
Arduino firması kartlarını oluştururken Arduino UNO kartını diğer kartlar için referans almakta ve yeni tasarladığı kartların pin yerleşimlerini UNO kartını baz alarak yapmaktadır. Arduino firması çıkarmış olduğu Micro kartında, UNO kartına göre bazı değişiklikler yapmıştır. Bu değişiklikler aşağıda belirtilmiştir:
1. Arduino programları (sketch) ve USB haberleşme için tek mikrodenetleyici : Arduino Micro kartı, ‘sketch’leri çalıştırmak ve USB haberleşme sağlamak için tek bir mikrodenetleyici kullanmaktadır. Halbuki, Arduino UNO ve önceki kartlarda 16U2/8U2 adında entegreler kullanılarak USB bağlantısı, kartın mikrodenetleyicisinden bağımsız hale getirilmiştir. Arduino Micro kartında mikrodenetleyici resetlemek demek bağlatıyı resetlemek anlamına gelmektedir.
2. RESET işlemlerinde seri bağlantının yenilenmesi: Arduino Micro kartı seri haberleşmeyi sağlamak için ayrı bir çipe sahip olmadığından, seri port işletim sisteminde sanal olarak (bir yazılım rutini olarak) oluşur. Arduino Micro kendi ‘bootloader’ını her çalıştırdığında bir ‘seri instance’ oluşturur. Her resetleme işleminde USB seri haberleşme kopartılır ve tekrar kurulur. Arduino Micro ile açık durumda bir seri bağlantı kurmuş olan herhangi bir program bu durumda bağlantısını kaybedecektir. Bu durum Arduino UNO için söz konusu değildir. Çünkü UNO kartında ana işlemci (ATmega328) resetlense bile Atmega16U2 bağlantıyı tutmaya devam eder. Bu durum kurulumu, sketch yüklemeyi ve haberleşmeyi etkiler.
3. Seri port açıldığında resetleme yapılmaz: Arduino UNO kartından farklı olarak Micro kartı için bilgisayarda bir seri port açıldığında, kart üzerindeki ‘sketch’i çalıştırmayacaktır. Bu da daha önce karttan bilgisayara gönderilen setup() fonksiyonundaki gibi bilgileri göremeyeceğiniz anlamına gelir.
4. Keyboard ve Mouse emülasyonu: Seri haberleşme ve sketch’ler için tek bir mikrodenetleyici kullanmak bilgisayarla haberleşmede bazı esneklikler sunmuştur. Arduino Micro işletim sistemine sanal bir seri port (SDC) olarak görünmekle beraber bir (HID) klavye veya fare olarak da davranabilir ( kart Plug & Play özelliği kazanmıştır). Fakat bu işlevlerle ilgili kütüphaneleri kullanılırken kütüphanelerin devamlı mikrodenetleyiciyi meşgul ederek programın verimini etkilememesine ve üretilen çıktıların Serial.print() fonksiyonu ile test edilmesi iyi bir programcılık uygulaması olacaktır.
5. Pin yerleşiminde farklılık: Arduino Micro kartı bazı pinlerin ( özellikle SPI ve TWI pinlerinde ) yerleşiminde ve yeteneklerinde UNO kartına göre farklılık arz eder.
Arduino Micro kartı Teknik özellikleri
Microcontroller: ATmega32u4
Çalışma Gerilimi: 5V
Giriş Gerilimi (Önerilen): 7-12V
Giriş Gerilimi (limit): 6-20V
Dijital I/O Pin Sayısı: 20
PWM Dijital I/O Pin Sayısı: 7
Analog Giriş Pin Sayısı: 12
I/O Pin Başına DC Akım: 40 mA
3.3V Başına DC Akım: 50 mA
Flash Hafıza: 32 KB
Flash Hafıza (Bootloader İçin): 4 KB
SRAM: 2.5 KB
EEPROM: 1 KB
Clock Hızı: 16 MHz
Uzunluk: 48 mm
Genişlik: 18 mm