Arduino Nedir ? #Seri 1

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