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ı)