• Sonuç bulunamadı

Mikrodenetleyici kartlarını Deneme Kartı ve Geliştirme Kartı olarak ikiye ayırmak mümkündür.

N/A
N/A
Protected

Academic year: 2022

Share "Mikrodenetleyici kartlarını Deneme Kartı ve Geliştirme Kartı olarak ikiye ayırmak mümkündür."

Copied!
13
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

3. Mikrodenetleyici Kartları ve Arduino 3.1 Deneme Kartları ve Arduino

Mikrodenetleyici kartlarını Deneme Kartı ve Geliştirme Kartı olarak ikiye ayırmak mümkündür.

Deneme kartları genellikle eski usul olup genellikle üzerinde bulunan elemanlardan başkasını kullanmamıza geniş izin vermemektedir. Genellikle üzerlerinde LED, buton, LCD gibi modüller bulunan bu kartlar öğrencilerin bu modülleri kullanıp öğrenmesini sağlasa da kendi devrelerini kurmasına ve projelerini yapmasına imkân sağlayamamaktadır. Her ne kadar bazılarında mikrodenetleyicilerin giriş/çıkış ayakları nispeten üzerlerinde yer alsa da üzerindeki parçalar yüzünden gereksiz yere kart büyük olmaktadır.

Geliştirme kartları ise yeni olup üzerlerinde mikrodenetleyici, güç ünitesi ve programlayıcıyı beraber bulundurur. Bazıları ise sadece mikrodenetleyiciye güç verir ve harici programlama bağlantısı gerektirir. Bunun için ayrıca bir programlama kartı lazım olabilir. Kullanıcının ihtiyacı ve bilgisine göre kendisine uygun olan kartı seçmesi gerekir.

Not: Geliştirme kartlarını tek kart bilgisayar ve mikrodenetleyici kartları olarak ikiye ayırabiliriz. Tek kart bilgisayarlar genellikle Linux işletim sistemine sahip olup aynı bir kişisel bilgisayar (PC) gibi kullanılabilir. Mikrodenetleyici kartları ise herhangi bir işletim sistemine sahip olmayıp üzerine yüklenen kodu çalıştıran kartlardır.

3.2. Yaygın Olarak Kullanılan Mikrodenetleyici Kartları

Piyasada birçok mikrodenetleyici geliştirme kartını bulabiliriz. Bunların en popüleri ve yaygını Arduino’dur. Örneğin kaynak ve kütüphanesinin çok olması, ucuz ve kolay bulunur olması, kendisi için çok modül ve shield üretilmesi, programlama kolaylığı denilebilir. Hemen her mikrodenetleyici için yapılmış bir geliştirme kartı vardır diyebilsek de bunların büyük bir kısmı bizi fazla da

ilgilendirmeyecektir. Çünkü birbirine oldukça benzeyen ve aynı mikrodenetleyicileri kullanan oldukça fazla kart vardır.

3.2.1. ARM Geliştirme Kartları

Yüksek işlem kapasitesi ve gelişmiş özellikleriyle gelişmiş uygulamalar yapabileceğimiz bu kartların üzerinde ARM Cortex mimarisi ile yapılmış mikrodenetleyiciler bulunmaktadır. Genellikle

profesyonellere hitap eden bu kartlar çeşitli geliştirme ortamlarıyla programlanabilmektedir.

Genellikle minimum sistem ihtiyaçları karşılanan ve programlanması kullanıcıya bırakılan bu kartlar yeni başlayanlar için uygun olmasa da ileri düzey kullanıcılar için kullanışlı olmaktadır.

3.2.2. Digispark Geliştirme Kartları

Bir Kickstarter projesi olan Digispark kısa sürede yaygınlaşmış ve popüler geliştirme kartlarından biri olmuştur. Ufak ve kolay olması avantajlarından olsa da bazı projeler için yeterli olmayan özellikleri kullanım alanlarını kısıtlamaktadır.

(2)

3.2.3. ST Geliştirme Kartı

Üzerinde STM32 mikrodenetleyicisi bulunan bu geliştirme kartları genel ARM geliştirme kartlarına göre daha fazla yaygındır ve kaynak açısından daha zengindir. Genellikle orta-üst seviye

kullanıcılara hitap eden bu kartların özellikleri birçok proje için oldukça yeterlidir.

3.3. Amaca Özel Üretilmiş Kartlar

Bazı kartlar sadece mikrodenetleyicinin sahip olduğu özellikleri bulundurmayıp üzerine takılan modüllerle ekstradan elde edebileceğimiz özellikleri de kendi üzerinde bulundurmaktadır.

3.3.1. NETDUINO

Üzerlerine .Net MicroFramework yüklenen bu kartlarda C# veya VB.NET dilleri ile uygulamalar yapabilirsiniz. .NET tabanlı bu kartlarda yüksek işlem gücüne sahip STM32 mikrodenetleyiciler kullanılmaktadır. Yapı bakımından Arduinoya benzerlik göstermesi de Arduino için üretilmiş genişleme kartlarını (Shield) kullanabileceğiniz anlamına gelir.

3.3.2. NODEMCU

Çin menşeili olan bu kart ESP adıyla üretilen birçok wi-fi modülünden biri üzerine kurulmuş bir geliştirme kartıdır. İnternet tabanlı uygulamalarda ucuz biz çözüm arayanların tercih edeceği bu kart üzerinde ESP8266 wi-fi modülü bulunmaktadır.

(3)

3.3.3. IOIO-OGT

Android cihazlar için giriş/çıkış genişlemesi imkânı sunan bu cihaz ile Android tabanlı uygulamalar geliştirebilirsiniz. Gelişmiş cihazlar için düşük seviye iletişim protokolleri ve giriş çıkış imkânı sunan bu kart Android tabanlı uygulama geliştirenlere hitap etmektedir.

Not: Bir geliştirme kartı seçilmeden önce o kart hakkında yeterli bilgi sahibi olmak gerekir. Her ne kadar Arduino’yu hiç bilmeyen birisi de rahatça öğrenip kullanabilse de diğer kartlar için bu fazla geçerli değildir. O yüzden biz yeni başlayanlara her zaman Arduino’yu tavsiye ediyoruz.

İpucu: Farklı platformlarda çalışmak yerine öncelikle tek platform üzerinde uzmanlaşmak daha iyidir.

3.4. Arduino

Açık kaynaklı bir geliştirme platformu olan Arduino üzerinde modeline göre çeşitli Atmel

mikrodenetleyicileri bulundurmaktadır. Elektroniğe yeni başlayanlara ve öğrencilere hitap ettiği gibi elektronikle hobi olarak ilgilenenlere de hitap eder. Hatta az bir öğrenim ile elektronikle hiç

alakadar olmayanlar bile projelerini yapabilir. Açık kaynak olması dolayısıyla isterseniz şemalarını inceleyip kendi Arduino’nuzu yapabilirsiniz. 2005 yılında İtalyan menşeili olarak başlayan bu proje zamanla gelişmiş yeni yeni Arduino modelleri çıkmış ve kendine çok geniş bir kullanıcı topluluğu edinmiştir. İnternette yüzlerce Arduino ile yapılmış proje, örnek kod ve kütüphane bulabilirsiniz. Bu kolaylık sayesinde birçok kişi elektroniğe merak sarmış ve hayallerindeki buluşları gerçekleştirme yoluna koyulmuştur.

Artık günümüzde Arduino kartlar çok kolay temin edilebilmekte ve mikrodenetleyici programlama eğlenceli bir hal almaktadır.

Arduino denildiğinde kulağa sadece geliştirme kartları gelse de aslında Arduino donanım ve yazılım olarak bir bütündür. Arduino’nun sahip olduğu geliştirme ortamının kullanımı ve anlaşılması kolaydır.

Özetlemek gerekirse; Arduino platformu sadece mikrodenetleyici kartlarından meydana gelmeyip geliştiriciyi neredeyse hiçbir zaman yarı yolda bırakmayacak geniş kütüphane içeriği ve örnek projelerle, kullanımı kolay geliştirme ortamı ve öğrenimi kolay diliyle, geniş dağıtım ağı ve erişebilirlik ile geliştirme ortamları arasında birinci sırasını korumaktadır.

3.5. Arduino’da Kullanılan Mikrodenetleyiciler

Arduino’da Atmel firmasının ürettiği mikrodenetleyiciler kullanılmaktadır. Uzun zamandan beri kullanılan ve kendi başına da oldukça yaygın ve tanınmış olan bu mikrodenetleyicilerin kullanılması Arduino’ya geçen Atmel kullanıcılarının yabancılık çekmemesini sağlayacaktır. Arduino için seçilmiş olan mikrodenetleyiciler en alt modellerde bile pek çok 8-bit mikrodenetleyicide göremeyeceğimiz özellikleri sunmaktadır. Yüksek Program Hafızası, dahili EEPROM, SPI ve I2C desteği, yüksek işlem hızı gibi özelliklerle Arduino çoğu projelerinizi gerçekleştirmek için yeterlidir.

Not: Bir mikrodenetleyiciyi tek başına programlamak pek kolay değildir. Programlayıcı, geliştirme ortamı, devre kartı gibi hazırlanması ve bulunması gereken pek çok unsur vardır. Her ne kadar mikrodenetleyiciler biraz daha fazla serbestlik sağlıyor gibi görünse de yeni başlayanlar için büyük zorlukları da beraberinde getirir.

(4)

3.6. Arduino Kartlar ve Özellikleri

Günümüze kadar Arduino kartlar gelişerek piyasaya çıkmaya devam etmiştir. İlk modellerinde üzerinde Seri İletişim Portu bulunurken artık bütün modelleri USB destekli hale gelmiştir. Hemen hemen her iş ve proje için bir Arduino kart vardır diyebiliriz. Örneğin g el i şmi ş sen sö r u ygu l amal arı

i çi n Ard ui no Me g a , mini projeler için Arduino Mini, yü ksek i şl e m g ü cü g e re kt i ren u yg u l amal ar i çi n

Arduino Due kullanabiliriz. En üst modeller en pahalısı olduğu için projede maliyetin düşük tutulması için uygun kart seçimi önemlidir.

ICSP: Devre üzerinden programlamadır. Bu bize mikrokontrolörü programlarken, kod atmak için

mikrokontrolörü her seferinde yerinden söküp takmak yerine sadece kablo yardımıyla devre üstünden program atmamıza yarar.

3.6.1. Arduino UNO

Yeni başlayanlar için Arduino UNO serisinin en iyi kartıdır diyebiliriz. Elektroniği öğrenmek isteyenler veya elektroniği bilip de mikrodenetleyicilere başlamak isteyenler için uygundur.

Mikrodenetleyicilere ait temel hususları bu kart ile öğrenmek mümkündür.

Her ne kadar üst seviye bir mikrodenetleyiciye sahip olmasa da yeni başlayanlar için yetip artacak özelliklere sahiptir. Üzerinde 14 adet dijital giriş-çıkış bacağı, 6 adet analog giriş, adaptör girişi, USB programlama ara yüzü, ICSP programlama soketi, Kısa devre koruması, Durum gösterge ledleri, 6 adet PW ayağı (Dijital Giriş Çıkış üzerinde), gerekli güç ayakları (5V, 3.3V ve GND) ve Atmega328P mikrodenetleyici bulunmaktadır. UNO’yu çalıştırmak için bilgisayarın USB girişine takmak yeterlidir. Hem gerekli gücü hem de programlama imkanını böylece elde ederiz. Kartın üzerinde bulunan RESET butonu kartı yeniden başlatmaya yaramaktadır.

Not: Arduino’yu adaptörden ancak belli bir gerilimdeki doğru akımla besleyebiliriz. Piyasada oldukça çeşitli adaptörler bulunsa da adaptör seçerken Jack yuvasına, verdiği gerilime ve verdiği akıma dikkat etmek gerekir. 9V 500ma veya 12V 500ma doğru akım adaptörleri yeterli olacaktır. Akım tüketimi Arduino’nun kullanımına bağlıdır. Kullanırken 200mA geçmemek gerekir.

Temel Özellikler

Mikrodenetleyici Atmel Atmega 328p Çalışma Gerilimi 5V

Giriş Gerilimi 7-12V (Tavsiye Edilen) / 6-20V MAX Dijital Giriş Çıkış Ayakları 14 (6 adeti PWM olarak da kullanılabilir. ) Analog Giriş Çıkış Ayakları 6

Giriş Çıkış Ayaklarının Verdiği Akım 20mA

Program Hafızası 32KB (0.5KB bootloader -ön yükleyici- tarafından kullanılır

SRAM 2KB EEPROM 1KB İşlem Hızı 16Mhz

Not: Bootlader, Arduino geliştirme ortamında yazdığımız programı Atmega mikrodenetleyiciye atmayı sağlayan küçük bir programdır. Ham mikrodenetleyici Arduino ortamı ile uyumlu hale gelir.

(5)

1: USB jakı 2: Power jakı (7-12 V DC) 3: Mikrodenetleyici ATmega328

4: Haberleşme çipi 5: 16 MHz kristal 6: Reset butonu

7: Power ledi 8: TX/NX ledleri 9: Led

10: Power pinleri 11: Analog girişler 12: TX/RX pinleri 13: Dijital giriş / çıkış pinleri (yanında ~ işareti olan pinler PWM çıkışı olarak kullanılabilir.)

14: Ground ve AREF pinleri 15: ATmega328 için ICSP 16: USB ara yüzü için ICSP

Şematik Devre Görünümü

Baskı Devre Görünümü

(6)

Güç

Arduino Uno bir USB kablosu ile bilgisayar bağlanarak çalıştırılabilir ya da harici bir güç kaynağından beslenebilir. Harici güç kaynağı bir AC-DC adaptör ya da bir pil/batarya olabilir.

Adaptörün 2.1 mm jaklı ucunun merkezi pozitif olmalıdır ve Arduino Uno'nun power girişine takılmalıdır. Pil veya bataryanın uçları ise power konnektörünün GND ve Vin pinlerine bağlanmalıdır.

VIN: Arduino Uno kartına harici bir güç kaynağı bağlandığında kullanılan voltaj girişidir.

5V: Bu pin Arduino kartındaki regülatörden 5V çıkış sağlar. Kart DC power jakından (2 numaralı kısım) 7-12 V adaptör ile, USB jakından (1 numaralı kısım) 5 V ile ya da VIN pininden 7-12 V ile beslenebilir. 5V ve 3.3V pininden voltaj beslemesi regülatörü bertaraf eder ve karta zarar verir.

mA dir.

3.3V: Arduino kart üzerindeki regülatörden sağlanan 3,3V çıkışıdır. Maksimum 50

GND: Toprak pinidir.

IOREF: Arduino kartlar üzerindeki bu pin, mikrodenetleyicinin çalıştığı voltaj referansını sağlar. Uygun yapılandırılmış bir shield IOREF pin voltajını okuyabilir ve uygun güç kaynaklarını seçebilir ya da 3.3 V ve 5 V ile çalışmak için çıkışlarında gerilim

dönüştürücülerini etkinleştirebilir.

Giriş ve Çıkışlar

Arduino Uno 'da bulunan 14 tane dijital giriş / çıkış pininin tamamı, pinMode(), digitalWrite() ve digitalRead() fonksiyonları ile giriş ya da çıkış olarak kullanılabilir. Bu pinler 5V ile çalışır. Her pin maksimum 40 mA çekebilir ya da sağlayabilir ve 20-50 KOhm dahili pull-up dirençleri vardır. Ayrıca bazı pinlerin özel fonksiyonları vardır.

Serial 0(RX) ve 1(TX): Bu pinler TTL seri data almak (receive- RX) ve yaymak (transmit- TX) içindir.

Harici Kesmeler (2 ve 3): Bu pinler bir kesmeyi tetiklemek için kullanılabilir.

PWM 3,5,6,9,10,11: Bu pinler analogWrite() fonksiyonu ile 8-bit PWM sinyali sağlar.

SPI 10(SS), 11(MOSI), 12(MISO), 13(SCK): Bu pinler SPI kütüphanesi ile SPI haberleşmeyi sağlar.

LED 13: Dijital pin 13’e bağlı bir leddir. Pinin değeri High olduğunda yanar, Low olduğunda söner.

Arduino Uno'nun A0 dan A5 e kadar etiketlenmiş 6 adet analog girişi bulunur. Her biri 10 bitlik çözünürlük destekler. Varsayılan ayarlarda topraktan 5V’a kadar ölçerler. Ancak, AREF pini ve analogReference() fonksiyonu kullanılarak üst limit ayarlanabilir.

TWI: A4 ya da SDA pini ve A5 ya da SCL pini Wire kütüphanesini kullanarak TWI haberleşmesini destekler.

AREF: Analog girişler için referans voltajıdır. analogReference() fonksiyonu ile kullanılır.

RESET: Mikrodenetleyiciyi resetlemek içindir. Genellikle shield üzerine reset butonu eklemek için kullanılır.

Haberleşme

Arduino Uno bir bilgisayar ile, başka bir Arduino ile ya da diğer mikrodenetleyiciler ile haberleşme için çeşitli imkanlar sunar. ATmega328 mikrodenetleyici, RX ve TX pinlerinden erişilebilen UART TTL (5V) seri haberleşmeyi destekler. Kart üzerindeki bir ATmega16U2 seri haberleşmeyi USB

üzerinden kanalize eder ve bilgisayardaki yazılıma sanal bir com portu olarak görünür. 16U2

(7)

standart USB com sürücülerini kullanır ve harici sürücü gerektirmez. Ancak, Windows 'ta bir .inf dosyası gereklidir. Kart üzerindeki RX ve TX ledleri USB den seri çipe ve USB den bilgisayara veri giderken yanıp söner.

SoftwareSerial kütüphanesi Arduino Uno'nun digital pinlerinden herhangi biri üzerinden seri haberleşmeye imkân sağlar.

Ayrıca ATmega328 I2C (TWI) ve SPI haberleşmelerini de destekler.

Arduino Uno'yu programlamak için Arduino programını indirmeniz gerekmektedir.

(http://arduino.cc/en/Main/Software) Programı indirip açtıktan sonra Tools > Board menüsünden Arduino Uno 'yu seçiniz. Arduino Uno üzerindeki ATmega328 e önceden bir bootloader yüklenmiştir.

Bu bootloader sayesinde Arduino'yu programlamanız için harici bir programlayıcı donanımına ihtiyacınız olmaz. Orjinal STK500 programını kullanarak haberleşir.

3.6.2. Arduino Nano

Özellik olarak üzerinde bulundurduğu Atmega328p mikrodenetleyicisiyle Arduino UNO’dan pek de farklı olmasa da özellikle küçük projeler için, baskı devre üzerine kurulmuş elektronik devreler için Breadboard ve Arduino UNO’dan daha kullanışlıdır.

Arduino UNO üzerinde genellikle yazıcıların kullandığı USB Type B soketini bulundurmaktadır.

Arduino NANO’da ise USB Micro B soketi bulunmaktadır. Bu kartı daha kibar ve küçük ortamlara uyumlu hale getirmektedir. Adaptör yuvası kaldırılsa da üzerinde voltaj ayarlayıcısı (regülatör) bulunduğu için VIN kısmına makul miktardaki gerilimle besleme sağlanabilir.

Temel Özellikler

Mikrodenetleyici Atmel Atmega 328p Çalışma Gerilimi 5V

Giriş Gerilimi 7-12V(Tavsiye Edilen) / 6-20V MAX Dijital Giriş Çıkış Ayakları 14 ( 6 adeti PWM olarak da kullanılabilir. ) Analog Giriş Çıkış Ayakları 6

Giriş Çıkış Ayaklarının Verdiği Akım 20mA

Program Hafızası 32KB (0.5KB bootloader -ön yükleyici- tarafından kullanılır

SRAM 2KB EEPROM 1KB İşlem Hızı 16Mhz

3.6.3. Arduino Pro Mini

Arduino ailesinin en küçük ferdi olan bu kart diğerlerinden oldukça farklı bir görünüme sahiptir.

Üzerinde ne USB ne de ICSP programlama girişi bulunan bu kart ancak USB-TTL çevirici modül ile programlanabilir. Bu çeviriciler farklı iletişim protokollerini birbirine uyumlu hale getirmekte ve birbiri ile anlaşılır kılmaktadır. Bu sayede kartın üzerindeki mikrodenetleyiciyi programlama imkânı bulabiliriz.

Kartın üzerinde herhangi bir header bağlantısı bulunmayışı ve giriş çıkış bacaklarının sadece deliklerden meydana gelmesi projemizde oldukça esneklik sağlayabilir. Header bağlantılarını

(8)

kendimiz yapabilsek de bunların yerine kullandığımız ayaklara kabloları lehimleyebilir veya tasarlayacağımız baskı devre kartını buna uygun hale getirebiliriz.

Not: Header Pin diye adlandırılan bu bağlantılar Breadboard’a uyumludur. Header kablosu alarak kolayca devre bağlantılarını kurabiliriz. Piyasada dişi-dişi, dişi-erkek, erkek-erkek olarak bulunan bu kablolar ucuzdur ve kullanımı kolaydır.

Kartın sağ tarafında USB-TTL dönüştürücünün çıkış ayaklarını bağlayacak bağlantı noktaları yer almaktadır. Fazladan iki adet analog girişi ve mikrodenetleyiciyi çalıştırmaya yetecek asgari düzeyde eleman yer almaktadır.

Temel Özellikler

Mikrodenetleyici Atmel Atmega 328p

Çalışma Gerilimi 3.3V veya 5V (Modele Göre Değişir.) Giriş Gerilimi 3.35-12V (3.3V modelinde) 5-

12V (5V modelinde)

Dijital Giriş Çıkış Ayakları 14 ( 6 adeti PWM olarak da kullanılabilir. ) Analog Giriş Çıkış Ayakları 6

Giriş Çıkış Ayaklarının Verdiği Akım 40mA

Program Hafızası 32KB (0.5KB bootloader -ön yükleyici- tarafından kullanılır

SRAM 2KB EEPROM 1KB

İşlem Hızı 8Mhz (3.3V modelinde) 16Mhz (5V modelinde)

3.6.4. Arduino Mega

Önceden bahsettiğimiz UNO, NANO ve Pro Micro modelleri aynı mikrodenetleyiciyi kullanmaktaydı.

Ancak bize her zaman 32KB program hafızası veya 14 adet giriş çıkış bacağı yetmeyebilir. Onlarca sensör veya modül takacağımız bir proje için daha fazlasına ihtiyaç duyarız. Giriş çıkış ayaklarının fazla olması, program hafızasının ve RAM miktarının yüksek olması geliştiriciyi daha çok rahat ettirir.

Örneğin bir robot uygulamasında hem motor sürücüyü kontrol etmek hem kablosuz iletişimi sağlamak hem de çeşitli sensörleri okumak gerekebilir. Eğer yapacağınız basit bir robot ise ve birkaç motor ve sensörden oluşuyorsa pek fazla sıkıntı yok fakat taktığımız sensör ve modül sayısı arttıkça hem programın uzunluğu artacak hem de fazladan giriş çıkış ayağına ihtiyaç duyacaksınız.

Böyle durumlarda Arduino MEGA size yardımcı olacaktır.

Arduino MEGA’nın üzerinde Atmega2560 mikrodenetleyici bulunur. İşlem hızı bakımından UNO ile aynı olsa da program hafızası, SRAM, EEPROM olarak kat kat fazladır. Kartın yapısı Arduino UNO ile oldukça benzer olduğu için UNO için üretilmiş çoğu genişleme kartları(shield) MEGA için de

uyumludur.

Arduino MEGA ile yazılmış bazı programlar Arduino UNO veya NANO ile uyumluluk göstermeyebilir.

Bunlardan birincisi SPI, I2C gibi protokollerin farklı ayaklara atanmasıdır. Bunlar bağlantıda

(9)

düzenleme yapılarak düzeltilebilir. İkincisi ise Arduino UNO veya NANO’da olmayan özelliklerin kullanılmasıdır ki bunlar için programın değiştirilmesi gerekebilir.

Temel Özellikler

Mikrodenetleyici Atmel Atmega 2560 Çalışma Gerilimi 5V

Giriş Gerilimi 7-12V (Tavsiye Edilen) 6-20V MAX

Dijital Giriş Çıkış Ayakları 54 (16 adeti PWM olarak da kullanılabilir.) Analog Giriş Çıkış Ayakları 16

Giriş Çıkış Ayaklarının Verdiği Akım 20mA Program Hafızası 256 KB

SRAM 8KB EEPROM 4KB İşlem Hızı 16Mhz

3.6.5. Arduino Leonardo

Aslında Arduino UNO ile donanım bakımından pek farklılık göstermese de Leonardo’yu farklı kılan sahip olduğu Atmega32u4 mikrodenetleyicisidir. Arduino UNO’yu programlamak için USB’ye dönüştürücü vasıtasıyla bağlamak gerekirken Atmega32u4 kendi içerisinde USB arayüz desteğini barındırmaktadır. Böylece bilgisayara doğrudan mikroişlemci bağlanıp program atılabilir. USB özelliği ile kartı USB uyumlu donanımlar takılabilir veya bilgisayara doğrudan bağlayıp kartı USB aygıt olarak kullanabiliriz. Bu aracının olmaması Leonardo’ya aynı bir bilgisayar gibi USB’den Mouse veya klavye takılmasına olanak sağlamaktadır. Yapı olarak fazla değişmese de analog girişler dijital giriş çıkış ayaklarının üzerine bindirilmiştir. Her Arduino modelinde analog girişleri dijital giriş çıkış olarak kullanabilsek de dijital giriş çıkış analog olarak kullanılmaz. Toplamda 6 adet analog giriş bazen yetersiz kalabilmektedir. Bir de ICSP ayakları dijital giriş çıkış olarak kullanabiliriz. Böylelikle dijital giriş çıkış ayağı 14’den 20’ye çıkmaktadır.

Temel Özellikler

Mikrodenetleyici Atmel Atmega 32u4 Çalışma Gerilimi 5V

Giriş Gerilimi 7-12V(Tavsiye Edilen) 6-20V MAX Dijital Giriş Çıkış Ayakları 20

PWM 7 Analog Giriş Çıkış Ayakları 12 Giriş Çıkış Ayaklarının Verdiği Akım 40mA

Program Hafızası 32 KB SRAM 2.5KB EEPROM 1KB İşlem Hızı 16Mhz

(10)

3.6.6. Arduino Pro Micro

Yapı bakımından Arduino Pro Mini’ye benzerlik gösterse de Arduino Leonardo’nun ufak versiyonu diyebiliriz. Pro Mini’nin programlanması için USB-TTL dönüştürücü modülün kullanılması gerektiğini söylemiştik. Pro Micro’da bulunan Atmega32u4 USB destekli olduğu için böyle bir programlama zahmetinden bizi kurtarmaktadır. Üzerinde cep telefonlarında da kullandığımız USB Micro B soketi yer almaktadır. Böylece karta gerekli olan gücünü ve programlama işlemini USB portunu kullanarak yapabiliriz. Leonardo’nun USB özellikleriyle kuvvetli bir kart olduğunu belirtmiştik. Leonardo’da bulunan özellik Pro Micro’da da vardır.

Temel Özellikler Mikrodenetleyici Atmega32u4 Çalışma Gerilimi 5V

Dijital Giriş Çıkış Ayakları 16 Analog Giriş Ayakları 6

Program Hafızası 32 KB SRAM 2.5 KB EEPROM 1 KB İşlem Hızı 16 Mhz

3.6.7. Arduino Due

Bu ailenin en gelişmiş kartı Arduino DUE’dir. Bunun sebebi elbette üzerinde barındırdığı ARM tabanlı Atmel SAM3X8E, ARM Cortex-M3 mikrodenetleyicidir. Bu mikrodenetleyici oldukça farklıdır. Yüksek işlem hızına ve program hafızasına sahip olan bu mikrodenetleyicide diğerlerinde olmayan DAC (Dijitalden Analoga Çevirici), yüksek çözünürlüklü ADC gibi özellikler de bulunmaktadır. Özellikle TFT LCD uygulamalarında yavaş kalan 16Mhz işlem hızı DUE’de bulunan 84Mhz’de çalışan

mikrodenetleyici ile telafi edilmiştir. Böylelikle projelerinizde kullanacağınız TFT Ekranlar takılmadan ve yavaşlığını hissettirmeden çalışmaktadır.

UNO, Mega, NANO gibi modellerde 8-bit mikrodenetleyici kullanılırken bunda 32-bit

mikrodenetleyici vardır böylece o kartlara göre daha iyi performans alırız. Dahil analog referans seçeneklerinin çok olması ve analog ölçüm çözünürlüğünün 12 bit olması analog sensör okuma işlemlerinde çok daha hassas değerler elde etmemizi sağlar.

Temel Özellikler

Mikrodenetleyici AT91SAM3X8E Çalışma Gerilimi 3.3V

Giriş Gerilimi 7-12V(Tavsiye Edilen) 6-20V MAX Dijital Giriş Çıkış Ayakları 54 (12’si PWM destekli)

Analog Giriş / Çıkış Ayakları 12 / 2 Bütün Ayaklardan Alınabilecek Azami Akım 130mA

5V Ayağından Alınabilecek Azami Akım 800 mA Program Hafızası 512 KB

SRAM 96KB İşlem Hızı 84Mhz

(11)

3.6.8. Diğer Arduino Modelleri

Pek çok modelde Arduino üretilmiş olsa da bunların bir kısmı piyasadan kalkmıştır. Bir kısmı ise yeterli yaygınlığa sahip değildir. Bunları ülkemizde bulmak pek kolay olmamaktadır. Projelerimizde de yukarıda bahsettiğimiz modelleri kullanacağız ve pek çok uygulamayı Arduino UNO üzerinden gerçekleştireceğiz. Diğer Arduino kartlar hakkında bilgi sahibi olmak isteyenler resmi internet sitesini ziyaret edebilir.

3.7. Amaca Uygun Olan Arduino’yu Seçmek

Pek çok modele sahip olan Arduino kartlar, yeni kullanıcıları hangi kartı seçecekleri hususunda kararsız bırakabilir. Bu başlık altında Arduino kartlarını bazı özelliklerine göre karşılaştıracağız ve hangi kartın hangi durumda seçilmesi gerektiğini söyleyeceğiz.

3.7.1. Program Hafızası

Günümüzde üretilen Arduino kartlar asgari 32KB program hafızasına sahip olmaktadır. Her ne kadar küçük bir kısmı bootloader tarafından işgal edilse de çoğu proje için yeterli bir hafızaya sahiptirler. Eğer sayfalarca kod içeren program yazacaksanız veya birçok kütüphaneyi programa dahil edecekseniz Arduino UNO ve NANO gibi 32KB program hafızasına sahip olan kartlar

zorlanabilir. Çoğu proje için çok uzun kod yazmaya gerek olmasa da uzun ve tafsilatlı bir proje için Arduino MEGA veya DUE seçilmelidir.

3.7.2. SRAM

Arduino çalışırken değişkenlerin değerleri RAM bellekte tutulur. Bu aynı bilgisayarın RAM belleği gibi sistem kapatılınca silinir. Eğer RAM belleğin kapasitesi zorlanırsa sistem kararsız çalışabilir. Yine yazacağımız kod uzunluğu ve tanımlayacağımız değişken ile irtibatlı olan bu özelliği üst seviye Arduino kartlarıyla artırabiliriz. Eğer programımızda çok fazla dizi ve değişken veya global değişken varsa bunlar RAM bellekte fazlaca yer tutacaktır. Kullanıcının değişken tanımlarken ustaca

davranması RAM kullanımını azaltabilir. Arduino UNO modelinde yer alan 2KB RAM çoğu proje için yeterli olacaktır. Eğer aşırı RAM kullanımı varsa derleyici program uyarı verecektir.

3.7.3. EEPROM

Üzerine kalıcı verilerin kaydedildiği EEPROM sistemin gücünün kesilmesiyle yok olmaz. Böylece cihazı bir sonraki açışımızda karşımıza veriler gelir. EEPROM’da genellikle ayar verileri ve önemli kayıt verileri tutulur. Arduino UNO’da bulunan 1KB EEPROM 1024 byte boyutunca bize alan sağlasa da büyük sayı verileri daha fazlaca yer kaplamaktadır. Eğer uzun veri kaydı (data logging) verileri tutulmak istenirse EEPROM yeterli olmayacaktır.

Bu durumda harici EEPROM veya SD Kart gibi veri kayıt öğeleri kullanabiliriz. O yüzden EEPROM’un düşük olması veya olmaması pek fazla sorun teşkil etmez. Nitekim DUE modelinde EEPROM

bulunmamaktadır.

3.7.4. Dijital Giriş Çıkış Ayakları

Bir LED yakmak istesek de bir buton kullanmak istesek de bir LCD ekranı sürmek istesek de dijital giriş çıkış ayaklarına muhtacız. Dijital giriş çıkış ayaklarının çok olması elbette daha iyidir fakat aynı zamanda multiplexer entegrelerle bu ayaklar çoğaltılabilir. Üstelik SPI ve I2C protokollerine uyumlu

(12)

bazı entegreler bize ek giriş çıkış ayağı sağlamaktadır. Bunlarla uğraşmak devreyi oldukça karmaşık hale getirebilir o yüzden hâlihazırda bulunan fazlaca giriş çıkış ayakları projeyi daha pratik ve kolay hale getirmektedir.

Arduino UNO’da bulunan 14 adet giriş çıkış ayağı ile bir LCD ekran ve birkaç buton kullanırsak elimizde pek de fazla giriş çıkış ayağı kalmayacaktır. Onlarca LED, gösterge, ekran ve sensör kullanmamız gerektiği durumlar Arduino MEGA bize yeterli olan giriş çıkış ayağı imkanını sağlayacaktır.

3.7.5. Analog Giriş Ayakları

Analog verileri Dijital veriye çevirmek için öncelikle herhangi bir ADC ayağına analog elektrik sinyali uygulanması lazımdır. Burada bizim için iki önemli faktör vardır. Bunlar: ayak sayısı ve çözünürlük.

Ayak sayısı az ise okuyabileceğimiz analog sinyal kaynağı azalmaktadır. Eğer çözünürlük düşük ise hassasiyet düşmektedir. Arduino’nun Analog çeviricisi yeterli olmadığında I2C uyumlu ADC

modülleri kullanabiliriz. Bunlar negatif gerilimi de okuyabilen ve Arduino kartlardan daha yüksek çözünürlüğe sahip modüllerdir. Çok hassas uygulamalar yapılmayacaksa bunlara gerek yoktur.

Unutmamız gereken Arduino DUE’nin 12-Bit ADC’ye sahip olmasıdır. Böylelikle neredeyse bir milivolt hassasiyete varan değerler elde edebiliriz. 12-Bit ADC’ye sahip olan kartta analog sinyalin dijital çevirimi 0-4096 arasında olmakta iken 10-Bit ADC’ye sahip olan kartlarda 0-1023

arasındadır.

3.7.6. İşlem Hızı

Mikrodenetleyiciler de aynı bilgisayarlar gibi belirli bir frekansta çalışır. Bu frekans

mikrodenetleyicinin işlemleri ne kadar hızlı yaptığını gösterir. Yüksek hız yüksek performans demektir. Arduino kartların çoğu 16Mhz’de çalışmaktadır. Bu hemen hemen bütün uygulamalar için yeterli bir hız olmaktadır. Fakat özellikle TFT ekranların yüksek hızda çalışan mikrodenetleyicilere ihtiyacı olmaktadır. Yavaş hızda bunların sürülmesi ekranın oldukça yavaş akmasına ve kullanıcı tarafından takibinin zor olmasına yol açar. Bu sorunu Arduino DUE kullanarak çözebiliriz.

3.7.7. Fiyat

Arduino kartların fiyatı da özelliklerine göre doğru orantı ile artmaktadır. UNO ve NANO gibi kartlar en ucuz kartlar iken MEGA ve DUE en pahalı kartlardandır. Basit bir proje için pahalı bir kart kullanmak gereksiz maliyete yol açacaktır.

3.7.8. Hangi Kartı Seçmeliyim?

Yeni başlayanlara herkes gibi Arduino UNO kartını tavsiye ediyoruz. Elbette Breadboard uyumlu NANO kartı da seçilebilir. Böylece Breadboard üzerine daha kullanışlı devreler kurabiliriz.

Arduino UNO ile bir Arduino kullanıcısı Arduino hakkında hemen hemen bütün bilgileri öğrenebilir.

Arduino öğrenmenin anahtarı pratik ve uygulama olduğu için UNO ile devreler kolayca

hazırlanabilir. Bir birikime sahip kullanıcılar MEGA veya DUE modellerini seçebilir. Yeni başlayanların MEGA ve DUE’yi seçmesi sadece maliyet açısından dezavantajlı olacaktır.

Arduino Mini modelleri ise proje yapacak deneyimli kullanıcılar içindir.

3.8. Klon Arduino Modelleri ve Önemli Hususlar

Klon model dediğimizde halk arasında “çakma” olarak nitelendirilen ürünler aklınıza gelmesin.

Çünkü Arduino açık kaynak bir platform olduğu için ürettikleri kartların şemalarını zaten sitelerinde paylaşıyorlar.

Aç ık Kay nak : Aç ık k ay nak y azılım, k ay nak ko d u isteyen her kese açık o lan y azılımlar d ır . Arduino marka adını kullanmamak şartıyla kartı üretebilir ve satabilirsiniz. O yüzden birçok üretici kendilerinin modifiye de ettiği Arduino uyumlu kartları piyasaya sürüyor. Kalite ve donanım olarak değişkenlik gösterene kartlar üzerlerinde aynı mikrodenetleyici bulundurduğu için performans ve kullanım açısından bir farklılık göstermiyor.

(13)

Günümüzde Çin sitelerinden 2 dolara kadar varan ucuz fiyatla alabileceğimiz bu kartlar oldukça ekonomik bir seçim olabilir. Bazı kartlar kalite açısından maliyetin düşük tutulması sebebiyle zayıflar. Örneğin kartın üzeri temiz halde değil veya kullanılan parçalar piyasada bulunan en ucuz parçalardandır. Buna rağmen bazı klon kartlar kalite açısından oldukça iyidir. Klon veya Orijinal kullanmak kullanıcının tercihine bağlıdır.

3.8.1. Klon Kartlar ve Driver Sorunu

Bazı klon kartlar Arduino platformuna tamamen değil de kısmen uyumludur. Bunun sebebi

üzerlerinde bulundurdukları CH340 çipleridir. USB-TTL dönüşümü yapan bu çipin sürücüsü Arduino derleyicisini yüklemenizle yüklenmez. Bunun için ayrıca sürücüyü indirip yüklemeniz gerekecektir.

Sürücü yüklendikten sonra çalışma bakımından diğer Arduino kartlar ile arasında bir fark kalmayacaktır.

Referanslar

Benzer Belgeler

Teknik Özellikleri Çıkış: 2.4W Rating Güçü:1.8W Boyutlar:50W x 50L x 35H(mm) Hoparlör:36mm mikro hoparlör, 4 Ohm Frekans Cevabı: 100Hz-20kHz Sinyal/

Proje ağacındaki “PLC tags  Default tag table” seçilip “Details view” alanında sembol/tag tag tablosu açıldıktan sonra oradaki herhangi tag tutulup sürüklenerek

Bir fonksiyon çağırıldığı zaman programın akışı fonksiyonu icra etmek üzere bellekte fonksiyonun kodunun bulunduğu bölgeye atlar, fonksiyonun icra edilme işlemi bittikten

Analog giriş modülüne 4 adet analog sinyal girişi (voltaj veya akım) bağlanabilir ve MPU gelen bu analog sinyalleri 14 bit dijital sinyallere dönüştürür.. DVP04AD-S serisi

Mikrodenetleyici: Sualtı aracının içinde Analog ve dijital giriş-çıkış pinleri bütün devre elemanlarına yetecek kadar çok olduğundan Arduino Mega 2560 R3

17- FPGA kartında en az bir adet FPGA programlama için USB-JTAG portu olmalı.. 10.Cyclone FPGA Kartı

• PDA, tablet bilgisayar ve akıllı telefonlar gibi mobil cihazlar için özel olarak tasarlanmış

Üzerinde 14 adet dijital giriş / çıkış pini(6 adet PWM çıkışı), 8 adet analog giriş, 16 MHz kristal, USB soketi, ICSP konnektörü ve reset butonu bulunmaktadır.. Arduino