Arduino Uno Nedir?

Arduino uno nedir: Arduino uno Arduino ekosisteminde en yaygın kullanılan geliştirme kartıdır. Bir önceki Arduino Nedir makalemizde arduino platformu hakkında ayrıntılı bilgi paylaşımında bulunduk. Burada Arduino Uno nedir kısaca özetleyecek olursak Arduino yazılım ve donanım tabanlı proje geliştirme platformudur.

Arduino kartları kullanılarak çok az elektronik ve yazılım bilgisi ile aklımıza gelebilecek bir çok projeyi yapabiliriz. Arduino platformu bu özelliği sayesinde herkese hitap etmektedir. Öğrenciler, mühendisler, hiç programlama eğitimi almamış olanlar, teknisyenler ve herkes Arduino programlayabilir.

İlk araştırmaya başladığımızda Arduino Uno R3 nedir sorusunu sorabilirsiniz. İlk üretilen Arduino Uno kartı sonrasında Arduino Uno R2 kartı üretildi. Burada R harfi ingilizce revision kelimesinin baş harfi. Yani versiyon 2 oluyor. Ardından da Arduino Uno R3 kullanıma sunuldu. Bu kartlar arasında aman aman farklar yoktur. Hepsi fazlasıyla işimizi görür. Daha sonraki makalelerden birisinde bu kartlar arasındaki farklara ayrıntılı değinmeyi planlıyorum.

Arduino Uno ilk alarak 2010 yılında kullanıma sunulmuştur. O zamandan bu güne popülerliği her geçen gün daha da artıyor. Gerçekte Arduino Uno’ nun yaptığı işi hatta daha fazlasını yapan Arduino modelleri de vardır. Uno Arduino modelini bu kadar popüler yapan şey öncelikle fiyat olduğunu düşünüyorum.

Bir diğer neden ise bana göre popüler olması popülerliğini giderek artırıyor. Şu şekilde düşünüyorum. Lise veya ortaokul da bir kardeşimiz var ve Arduino kartlarını bir yerden duydu diyelim. Sonra internete bakıyor neymiş bu Arduino. Bakıyor güzel bir şey ama çoğu proje Arduino Uno kartı ile yapılmış. Haliyle bu kardeşimiz gidip Arduino Uno Satın Alıyor.

Arduino Uno Nedir DIP ve SMD Kılıf Tipli Arduino — Arduino Kart Farklılıkları

Goole da Arduino Uno aratması yapıp görsellere tıkladığımızda arduino üzerindeki komponenler arasında ufak tefek farklılıklar olduğunu gözlemleriz. Bu farklılık çok enemsenecek bir farklılık değildir. Farklı üreticiler kendi ürettikleri kart devrelerine orjinali bozmayacak seviyede ekleme ve çıkarmalar yapabilmektedir.

Örnek vermek gerekirse orjinal Arduino üzerinde dijital çıkış pinlerine bağlı 1 led bulunur. Bazı arduino üreticileri dijital pinlere bağlı led sayısını artırmaktadır. Orjinalinde 13. dijital pine bağlı 1 led bulunurken bir üretici 13-12-11-10 dijital pinlerine led bağlayabilir.

Bir diğer durumda Arduino üzerindeki Mikrodenetleyici kılıf tipleri farklılık gösterebilir. Arduino kartları üzerindeki mikrodenetleyiciler SMD ve DIP kılıf yapısına sahiptirler. SMD mikrodenetleyici kullanılan Arduino Uno modelinde mikrodenetleyiciyi yerinden sökemeyiz. Karta lehimlenmiş durumdadır.

DIP kılıf tipine sahip Arduino Uno kartında ise mikrodenetleyici daha büyüktür ve yerinden çıkartılabilir. Eğer bir şekilde mikrodenetleyiciye zarar verirsek yenisini alıp kolayca değiştirebiliriz. Değiştirme işlemini SMD olan modelde de yapabiliriz ancak biraz daha zor olur.

Bir diğer örnek de kart üzerindeki komponentlerin yerleri diğişebilir. Bu değişim kartın çalışmasında hiç bir farklılığa yol açmaz. Reset düğmesini yeri farklı olabilir mesela.

Sonuç olarak görüntüde görünen farklılıklar arduinolar arasında çok büyük farklılıklar yartmamaktadır. Benim tavsiyem DIP kılıflı Arduino Uno almanız yönünde. Bir sonraki görselde DIP ve SMD kılıflı Arduino Uno modellerini inceleyebiliriz.

Arduino Uno Özellikleri

Arduino Uno USP girişi ile programlanabilir. 6 tane analog girişi 14 tane dijital giriş ve çıkışı vardır. Arduino kartı üzerindeki regülatör harici beslemeden gelen voltajı kart için uygun voltaj seviyesine dönüştürür. Arduino Uno bilgisayara bağlı veya harici güç beslemesi ile kullanılabilir.

1=ATMEGA 328 MİKRODENETLEYİCİ:

 

Bu çip Arduino’ nun beynidir. Arduino IDE de oluşturduğumuz tüm programlar bu mikrodenetleyici flash hafızasına kayıt edilir. ATmega 328 mikrodenetleyici bizim atmış olduğumuz programı çalıştırır ve görevlerini yerine getirir.

2=USP Portu:

Arduino bu port üzerinden bilgisayarımız ile haberleşerek kolayca programlanır. Arduino programlamanın tek yolu bu port değildir. Arduino üzerinde boş bırakılan haberleşme pinleri kullanılarak Arduino mikrodenetleyicisine kod yazılabilir. Bunu yapmak biraz daha zordur. Ek donanım ve yazılım gerektirir. 

Bu port üzerinden Arduino güç beslemesi de yapılabilmektedir. Eğer istersek USP portunu güç beslemesi amacı ile de kullanabiliriz. Arduino bilgisayarımıza takılı iken projeler geliştirmemiz mümkün. Hem bilgisayar ile Arduino haberleşirken hem de Arduino uno gücü sağlanmış olur.

Bilgisayar USP portlarımız 5v sağlamaktadır. 5 volt Arduino için ideal voltaj aralığındadır.

3=GÜÇ JAKI:

Güç jakı adından da anlaşılacağı üzere sadece Arduino Uno kartını besleme amacı ile kullanılır. Bir projeyi bilgisayardan ayrı bir nesne olarak geliştirdiğimizde bu jak ile arduinoyu besleyebiliriz. Jaka elektrik bağlantısı yapaeken + ve – kutuplara dikkat edilmelidir.

Bu jak üzerinden 5-12 volt arası voltajlarla besleme yapılabilir. 20 volta kadar besleme yapılması mümkündür ancak bu Arduino ömrünü düşürebilir. Eğer mecbur kalmazsanız standartlarda olan 5 volt, 9 volt, 12 volt gibi voltajlar ile Arduino Uno beslemesi yapmakta fayda var.

Arduino üzerinden 600 mA’ den fazla akım geçirilirse Arduino zarar görebilir. Yüksek akım gerektiren projelerde harici besleme yapmayı öğrenmemiz gerekiyor. Sonraki makalelerde bu duruma da değiniyor olacağız.

Eğer 9 volt pil ile beslemek isterseniz aşağıdaki görselde ki gibi kolay kullanım kabloları bulunmaktadır. Bu kablolar 9 volt pil kullanım kolaylığı sağlar. Arduino güç jakı ile direk uyumlu 5-9-12 voltluk adaptörleri de kolaylıkla bulabilirsiniz. Eğer bu makaleyi okurken henüz Arduino Uno kartı almadınız ise kartı satın alırken 12 volt 2 veya 3 amperlik bir adaptör de alırsanız kesin işinize yarar.

4=ANALOG GİRİŞ PİNLERİ:

Bu pinler dijital giriş ve çıkış pinleri olarak da kullanılabilir. Bu pinler analog veri okuma amacı ile kullanılır. Örneğin potansiyometre analog değer okuma işlemini bu pinler üzerinden yapabiliriz. Analog pinler için mikrodenetleyici RAM üzerinde 10 bitlik alan ayrılmıştır. Bu da analog veri okurken 0-1023 arasında veri okunabileceği anlamına gelir.

5=DİJİTAL GİRİŞ ve ÇIKIŞ PİNLERİ:

Dijital giriş ve çıkış pinleri 0-5 volt arası çıkış veren pinlerdir. Bu pinlerden hem okuma hem de yazma işlemi yapılabilir. 0-13 arası olan pinler toplamda 14 tane hepsi dijital pin olarak kullanılabilir. Kısaca yap veya yapma işlemini bu pinler ile yaparız.

Örneğin bir led yakacağız bu pinlerle yakıp söndürebiliriz. Veya bir butona basıldığında led yakacağız. Bu kez dijital pini input olarak kullanmamız gerekir. Daha önce analog pinlerinde dijital pin olarak kullanılabileceğine değinmiştik. A0-A1-A2-A3-A4-A5 pinleri de toplam da 6 tane. 14 dijital pin ve 6 tane analog pin toplamda 20. Yani biz 20 tane pini dijital giriş ve çıkış amaçlı kullanabiliriz.

Ayrıca 0-13 arası dijital pinlerin yanlarında (~) işareti olan pinler toplamda 6 tane PWM olarak kullanılabilecek pinlerdir. PWM pinleri ile örneğin motor hız kontrolü yapılabilir. PWM başka bir makale konusu. Burada sadece değinilmiştir.

6=TX ve RX PİNLERİ:

Arduino Uno kartı üzerinde sıfır ve birinci pinlerdir. Bu pinler aynı zamanda dijital giriş ve çıkış pinleri olarak da kullanılabilir. Bu iki pinin kullanım amacı diğer cihazlarla haberleşmektir. Örneğin bluetooth haberleşmesi yapılırken bu iki pin bluetooth modülüne bağlanır.

Arduino kütüphaneleri içerisinde SoftwareSerial kütüphanesi vardır. Bu kütüphane kullanılarak da yazılımsal olarak diğer pinler RX ve TX pinleri gibi kullanılabilir. Bluetooth modülü ile bir uygulama geliştirirseniz eğer bu kısmı çok iyi öğreneceğinizden emin olabilirsiniz. Şimdilik yüzeysel geçelim.

7=GÜÇ PİNLERİ:

2 adet GND, 1 adet 3,3 volt ve 1 adet 5 volt pininden oluşur. GND pinleri – kutbu temsil eder malum. 3,3 ve 5 volt pinleri ile de güç vermek istediğimiz kompenet veya bileşenlere enerji sağlayabiliriz. Bu pinler maximum 50 mA’ e kadar akım verir. Bu sebeple daha yüksek akıma ihtiyaç duyan elektronik komponentler kullanamayız. Harici güç beslemesi yapmamız gerekebilir.

8=16MHz KRISTAL:

Her mikrodenetleyicinin çalışması için bir saat sinyaline ihtiyaç vardır. Bu kristal işlemcimizin çalışması için gerekli saat sinyalini üretir. Kısaca işlemcinin kalbi diyebiliriz. Saat sinyali olmazsa hiç bir mikrodenetleyici çalışmaz. Mikrodenetleyici programlamada il adım her zaman kristal ile saat sinyali vermekten geçer. Yani il önce kalp çalıştırılır.

9=HABERLEŞME ÇİPİ:

Bu çip kısaca özetlenecek olursa bilgisayar ile ATmega 328 mikrodenetleyici arasında haberleşmeyi sağlayan çiptir. Bu çipte aslında bir mikrodenetleyicidir ancak içerisindeki yazılım hazır gelir. Biz bu yazılımla hiç oynamayız. Bilgisayarda programlama yaptığımızda mikrodenetleyici ile bilgisayar arasında haberleşmeyi kanalize eder.

Ayrıca Arduino USP portuna bağlanıp program atılırken kart üzerindeki RX ve TX ledleri yanıp söner. Program atarken programın yazılıp yazılmadığından emin olmak için bu ledleri kontrol edebilirsiniz.

10=POWER LEDİ:

Power ledi Arduino kartına güç gelip gelmediğini belli eder. Projeleri çalıştırırken bu ledin yanıp yanmadığından emin olmamızda fayda var. Eğer projemiz çalışmazsa güç gelip gelmediğine bakarak sorunun çözümünü aramaya başlayabiliriz.

11=TX ve RX LEDLERİ:

Bu ledler arduino program yazılırken veya TX ve RX pinleri üzerinden diğer cihazlar ile haberleşirken yanıp sönerler. Haberleşme yapıldığının göstergesidir.

12=LED:

Arduino üzerinde özgürce kullanılabilecek bir leddir. Projemiz de herhangi bir durumda 1 led yakmamız gerektiğini düşünün. Hiç bir bağlantı yapmadan direk bu ledi yakıp söndürebiliriz. Bu led 13. dijital pine bağlıdır. Arduino programında digitalWrite(13,HIGH); yazdığımızda bu ledin yandığını gözlemleriz.

Hemen hemen her geliştirme kartında bu şekilde en az bir tane user led bulunur. Bu bir standart halini almıştır.

13=USP ARAYÜZÜ İÇİN ICSP:

Haberleşme çipi ICSP’ sidir.

14=ATmega328 İÇİN ICSP:

Bu pinleri kullanarak direk arduino üzerindeki mikrodenetleyici çipimizi programlayabiliriz. Arduino mikrodenetleyicisine kod yazmanın bir başka yöntemidir. Pek fazla kullanılmasa da kullanma ihtiyacı duyulabilir.

Örnek vermek gerekirse biz Arduino Uno kartı aldığımızda mikrodenetleyici içinde bootleader denilen bir yazılım kayıtlı gelir. Bu yazılım mikrodenetleyici üzerine program yazılmasına yardımcı olur. Bazı durumlarda bu bootleader programı mikrodenetleyici üzerinden silinebilir. İşte bu durumde ICSP pinleri ile program yazabiliriz.

15=RESET BUTONU:

Reset butonu Arduino mikrodenetleyicisindeki yazılımı resetler ve en baştan başlatır. Tek işlevi budur.

VIN PİNİ: Arduino Uno kartı beslemenin bir başka yöntemi VIN pini. Arduino Uno beslemenin toplamda 3 yöntemi olduğunu gördük. Bir önceki voltaj aralıkları bu pin içinde geçerli. Yüksek voltaj uygulamak Arduino kartını yakabilir.

RESET PİNİ: Reset pini reset butonu ile aynı işi yapar. Bu pine 5v uygulandığında Arduino mikrodenetleyicisinde çalışan kod resetlenir ve en baştan çalışmaya başlar. Peki reset butonu varken bu pin neden var diye soracak olursanız biz Arduinoya bazı durumlarda işimizi kolaylaştırmak için sheild(kalkan) dediğimiz devreler takabiliriz.

Bu devre kartlarını Arduino üzerine taktığımızda Arduino üzerinde olan buton sheild dediğimiz kartın altında kalır ve bu butonu kullanamayız. Arduino üzerine takılan sheild bu pine bağlanarak üzerindeki yeni bir butonla bize reset imkanı sonar. Özet olarak işlevi tamamen reset butonu ile aynı.

Arduino Programlama

Arduino IDE programı kullanarak Arduino kartı kolayca programlanabilir. Öncelikle bilgisayarımızın işletim sistemine göre (Windows, Mac OS, Linux) Arduino IDE derleyicisini indirip kurmanız gerekir buraya tıklayarak Arduino resmi sitesinden Arduino IDE indirebiliriz. 

Program kurulumu çok basit. İleri ileri diyerek kolayca kuruluyor. Ayrıca Arduino IDE derleyicisinin nasıl kurulacağını anlatan çok sayıda kaynak da var. Bu kaynaklara bakarak kurulum yapılabilir. Programlamaya nerden başlayacağız gibi soruları başka makalelerde cevaplıyacağız.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir