Mikrodenetleyici(Microcontroller-MCU) Nedir ?
Mikrodenetleyici , çevresel arabirimlerden veye
sensörlerden alınan harici işaretleri girdi olarak alıp, işleyen ve sistem
kararlarını kullanıcının anladığı bir ortamda sunan bir elektronik devre
elemanıdır. Başka bir tanıma göre ise mikrodenetleyici , özel
bir elektronik sistem veya bir cihazın fonksiyon ve davranışlarını kontrol
etmede beyin işlevi gören bir entegre devredir.
Arduino Nedir?
Açık kaynak kodlu yazılım ve donanıma sahip bir
mikrodenetleyici platformudur. Baskılı devresi sayesi, şematik tasarımı,
bilgisayar üzerinde çalışan derleyicisi, kütüphaneleri ve tüm detayları ile
İnternet ortamında paylaşılmaktadır. Tamamen açık donanımlı olmasından dolayı
farklı firmalarda Arduino ismini kullanmamaları koşulu ile aynı ürün klonlarını
yapabilirler. Arduino donanımsal olarak Wiring, yazılımsal (IDE)
olarak ise Processing dili tabanlıdır.
Arduino - Orjinal
Arduino - Klon
Wiring : Tek bir MCU bordu , bir IDE ve bir
programlama dilinin birleşiminden oluşan açık kaynak kodlu elektronik prototip
geliÅŸtirme platformudur.
Processing : Özellikle, sanatçılara yönelik olarak
grafiksel uygulamalar için kolay programlama ortamını hedefleyen bir dildir.
Arduino İle Neler Yapılır ?
Arduino, sensör/duyarga
girişlerinden aldığı veriyi okur, işler ve çıktı olarak bir eyleme dönüştürür.
Arduino
Platformunu OluÅŸturan Temel BileÅŸenler
Besleme Devresi ve Güç (Power) Birimi : Arduino, hem USB
aracılığıyla hem de dahili güç girişi bağlantısıyla enerjilendirilebilir.
Harici enerji girişinden hem AC'den DC'ye dönüşüm yapan adaptörler ile hem de
batarya ile karta enerji verilebilir.
Güç pinleri, Arduino kartları üzerinde sayısı değişmekle
birlikte 3.3V, 5V, GND, Vin ve Reset isimleri ile yer
almaktadır.
- Vin Pini : Arduino kartına harici bir güç
kaynağı bağlandığı zaman kullanılan bir gerilim girişidir.
- 5V Pini : Bu pin ile Arduino kartındaki
dahili doğrultucu devresinden 5V çıkış gerilimi elde edilir. Kart harici
bir adaptör ile Vin pininden ya da USB'den beslendiğinde
bu pinden 5V çıkışı alınabilmektedir.
- 3.3V Pini : Kart üzerinde
bulunan doğrultucu devre sayesinde kartı herhangi bir güç girişinden
beslediğinizde 3.3V pininden 3.3V ve 50 mA çıkış
alabilirsiniz. Bu pin sadece çıkış içindir ve bu pinden 3.3V vererek kartı
besleyemezsiniz.
- GND(Şase) Pini : 0V referans voltajı yani
bildiÄŸiniz toprak/ÅŸase (Ground/GND) pinidir.
Arduino Uno Donanımsal Özellikleri
Atmega328 mikrodenetleyicisi ailesini temel alan bir
mikrodenetleyici kartıdır. Toplamda 14 tane dijital giriş çıkış portuna
sahiptir ve bunlardan 6 tanesi PWM çıkış olarak kullanılmaktadır. Arduino Uno;
Atmega328 mikrodenetleyicisine, 14 adet dijital giriş/çıkış pinine, 6 adet
analog girişe,16 MHz kristal'e, 32 KB program hafızasına, 1KB EEPROM
hafızasına, 2KB SRAM'e, 1 adet USB girişine, birer adet besleme ve reset
devresine sahiptir.
Arduino Uno, çevresel arabirimlerle haberleşmek için UART,SPI gibi seri
haberleşme protokollerini kullanır. Atmega328 UART TTL (5V) seri iletişimini RX
ve TX (0 ve 1 no'lu bacaklar) ile sağlar. Haberleşmenin gerçekleştiğini Arduino
board üzerinde bulunan RX, TX LED'lerinin yanıp sönmesinden anlayabilirsiniz.
Hafıza Birimi : Arduino Uno üzerinde bulunan Atmega328
mikrodenetleyicisi 32 KB lık hafızaya sahiptir. Aynı zamanda bu
mikrodenetleyici 2 KB SRAM ve EEPROM kütüphanesinden hem yazılabilen hem de
okunabilen 1 KB EEPROM'a sahiptir.
Giriş ve Çıkış (I/O) Pinleri : Arduino Uno
üzerindeki 14 dijital pinden her biri giriş hem de çıkış olarak kullanılabilir.
Her biri 5V ile çalışır ve 40 mA akım çekerler.
Seri HaberleÅŸme(RX/TX) Pinleri : TTL seri veri
haberleşmesi için kullanılır. 0. pin (RX) alıcı, 1. pin (TX) ise verici
olarak kullanılır. Böylece, istenen veriler alınır ve iletilir.
PWM (3,5,6,9,10,11) Pinleri
: 8 bit PWM (Darbe genişlik modulasyonu) çıkış sağlayan pinlerdir. PWM
özelliği daha çok sayısal analog dönüşüm işlemlerinde kullanılır. Motor hız
kontrolü, bir LED'in yanma şiddetini ayarlamak gibi işlemler buna örnek olarak
verilebilir.
SPI (10,11,12,13) Pinleri : SPI kütüphanesini kullanarak
SPI haberleÅŸmesini saÄŸlayan pinlerdir.
Analog (A0-A5) Pinleri : Arduino Uno, A0'dan A5'e kadar 6
adet analog pin girişine sahiptir. Her biri 10 bitlik çözünürlüğe sahiptir.
Yani 1024 farklı değer elde edilebilir.
12C/TWI Pinleri : Arduino Uno, 12C seri veri
haberleşmesinde A5 pini SCL(saat), A4 pini ise SDA(veri) hattı olarak
kullanılır.
Kaynak : Derinlemesine Arduino / Bülent Çobanoğlu (Abaküs Yayınları)