July | 2015 | Burak Şişman, PhD
July 19, 2015 Arduinoburaksisman
Bu yazımda Arduino’nun fiziksel incelemesini yapacağız. Arduino ile ilgili giriş yazımı okumadıysanız, yazıya buradan ulaşabilirsiniz.
Bu küçük dev, iki kibrit kutusu büyüklüğünde bir kutunun içinden çıkmaktadır.
Şekil 1: Arduino Uno Kutusu
Arduino Uno kartımızda Şekil 2’de görüldüğü gibi Dijital Giriş/Çıkış Pinleri, Analog Giriş Pinleri, Toprak Pinleri, Mikro Denetleyici, USB Soketi, Güç Girişi, çeşitli LED’ler ve yeniden başlatma düğmesi bulunmaktadır.
Şekil 2: Arduino Uno Kartı Fiziksel İncelemesi
Dijital ve Analog pinler ile Arduino’ya bir çok sensör, motor, LED gibi birimler bağlayarak, kontrol edebilirsiniz.
Dijital Giriş/Çıkış Pinleri: Dijital sinyaller göndermek ve almak için kullanılmaktadır. Dijital sinyaller sadece iki değer alırlar 0 veya 1, yani kapalı veya açık şeklinde. Arduino’da dijital değerler vermek için LOW veya HIGH ifadeleri kullanılır. Örneğin; bir LED’i yakmak istiyorsak; LED’in bağlı olduğu pine HIGH ile güç verip, söndürmek için ise LOW ile gücü kesebiliriz.
Şekil 3: Dijital Sinyal
Analog Giriş Pinleri: Analog sinyaller almak için kullanılmaktadır. 0 ile 5V arasında bir çok değer alabilmektedir. A0, A1, A2, A3, A4 ve A5 etiketli pinlerdir. Bu pinlere bağlayacağımız sensörler ile bu sensörlerden gelen verileri alabilmekteyiz. Örneğin; ortamın sıcaklığını ölçmek için bu pinlerden birine bir ısı sensörü bağlayıp, ortamın sıcaklık değerini alabiliriz. Benzer şekilde ortamın karanlık ya da aydınlık mı olduğunu anlamak için bu girişlere bir foto direnç (photoresistor) bağlayabiliriz.
Şekil 4: Analog Sinyal
Analog Çıkış Pinleri: Şekil 2’de de göreceğiniz üzere Arduino’da bir Analog çıkış pini görememekteyiz. Oysaki; bir servo motoru %35 güç ile çalıştırmak istediğimizde ya da bir LED’in parlaklığını ayarlamak istediğimizde analog sinyaller ile çıkış sağlamalıyız. Arduino ile bunları yapabileceğimizi söylemiştik. Dolayısı ile Arduino üzerinde, analog çıkış pinleri var, fakat “~” sembollü ve PWM(Pulse Width Modulation) etiketli dijital pinlerin arkasında gizlenmiş bir şekilde. Arduino ile analog çıkışları, üzerinde PWM(Pulse Width Modulation) etiketi bulunan 3, 5,6, 9 ve 10 numaralı dijital pinler ile yapabilmekteyiz. PWM, dijital bir cihazın, analog biz cihaz gibi davranmasını sağlayan bir tekniktir. Detayına daha sonra değineceğim.
Güç Pinleri: Girişler ve çıkışlar için gücün gerekli olduğu yerlerde kullanmak üzere bu pinleri kullanmaktayız. 5V ve 3.3 V etiketli pinleri devremize veya bileşenlere sırasıyla 5 ve 3.3 volt güç sağlamak için kullanmaktayız.
Toprak Pinleri: GND etiketli pinler toprak pinleridir. Devreyi tamamlamak için oldukça önemli pinlerdir. Arduino Uno kartında toplam 3 adet toprak pini bulunmaktadır.
USB Soketi: Arduino kartımızdaki mikro-denetleyiciye ne yapması gerektiğini söylemek için ona yazdığımız kodları iletmeliyiz. Uno modelinde, yazdığımız kodları USB bağlantısı ile mikro-denetleyiciye gönderebiliyoruz. Bu sokete yazıcılarda ve tarayıcalarda kullandığımız USB A/B modeli bir kablo takabiliriz. Bu kabloyu evimizde veya ofisimizde kolaylıkla bulmamız mümkün.
Güç Girişi: Her elektronik cihazı çalıştırmak için bir güç gerekmektedir. Bu gücü ya bir adaptör aracılığıyla ya da piller ile sağlayabilmekteyiz. Arduino’yu da çalıştırmak için de bir güce ihtiyacımız var. AC-DC adaptör, pil ve hatta güneş enerji paneli bile kullanarak Arduino’ya gerekli gücü sağlayabiliriz. Uno kartı için önerilen voltaj 7-12V arasındadır. Eğer daha az bir voltaj sağlarsanız, kartınız doğru çalışmayabilir ya da daha fazla voltaj sağlarsanız kartınızın çok ısınmasına ve zarar görmesine sebep olabilirsiniz.
Vin Pini: Bu pin ile başka bir kaynaktan Arduino’muza 12 V’a kadar güç verilebilmektedir.
Güç LED’i: Arduino’nun çalışıp çalışmadığını gösterir. Yeşil yanıyorsa Arduino’muz çalışıyor demektir.
TX/RX LED’leri: Bu LED’ler bilgisayarımız ile Arduino’muz arasında veri alış verişi olduğu zaman yanıp sönerler. Bu da bize kartın veri alıp/verme durumunu gösterir. Bu LED’leri ayrıca kodlarımızın doğru çalışıp çalışmadığını denetlemek için de kullanabilmekteyiz.
L LED’i: 13. pine bağlı özel bir LED’dir. Bu LED’i kodunuzun herhangi bir anında yakıp, söndürerek kodlarınızın durumunu görebilirsiniz.
Yeniden Başlatma Düğmesi(Reset): Bu düğme ile Arduino’yu yeniden başlatabiliriz. Düğmeye bir süre basılı tutarsanız Arduino’yu kapatacaktır.
Mikro Denetleyici: Arduino Uno modelinde ATmega328 modeli bir çip bulunmaktadır. Aslında bu mikro-denetleyici çip, bir nevi Arduino’muzun beynidir. Yazdığımız kodlar derlenerek bu çipte saklanır ve çalıştırılır. Uno modelinde 32 KB bellek ve 16 MHz hızında bir çipe sahibiz. Gözümüze ne kadar az gözükse de yapacağımız çoğu proje için oldukça yeterli miktarlar.
Arduino üzerindeki fiziksel incelememiz bu kadar. Şimdi Arduino ile birlikte kullanabileceğimiz bazı bileşenlerden bahsedelim.
Breadboard: Breadboard’ları devreleri inşaa etmek için kullanmaktayız. Breadborad’lar ile lehimleme işlemi yapmadan parçaları bir araya getirebilmekteyiz. Bileşenleri, birleştirmeyi ve sökmeyi oldukça kolaylaştırarak, prototipleme süresini oldukça kısaltan breadboard’ların çeşitli büyüklükte modelleri bulunmaktadır. Ben büyük olan modeli kullanmayı tercih ediyorum fakat bazı durumlarda küçük olan modeli kullanmak da gerekmekte. Örneğin, tekerlekli bir robot yaptık, bunun üzerinde sadece bir LED ve mesafe ölçen bir sensör yerleştireceksek, küçük bir breadboard işimizi görecektir.
Şekil 5: Breadboard (Kaynak: Wikipedia)
Jumper Kablolar: Bu kablolar, bileşenleri breadboard üzerinde birbirine veya Arduino kartımıza bağlamamızı sağlamaktadır. Erkek-dişi, erkek-erkek ve dişi-dişi türleri bulunmaktadır.
Şekil 6: Jumper Kanblo(Kaynak: www.arduino.cc)
Direnç: Elektrik enerjisine direnç göstererek, akımın veya voltajın değerini değiştirmek için kullanılmaktadır. Dirençlerin birimi Ohm’dur, ve Ω ile gösterilmektedir. 0 Ohm ile 1 Milyon Ohm arasında çeşitli büyüklükte dirençler bulunmaktadır. İhtiyacımız olan dirence uygun olanı seçerek uygulamalarımızda kullanmaktayız. Küçük bir örnek verelim; bir LED’i yakmak için sadece 20 mA akım gerekmektedir, ayrıca bir LED, Arduino’dan gelen 5V gerilimden, 2V düşürecektir. Bu durumda geri kalan 3V gerilimi boşaltmak durumundayız. Bu noktada dirençler yardımımızı koşmaktadır. Ne kadarlık bir dirence ihtiyacımız olduğunu hesaplamak için de Ohm Kanunu’ndan yararlanmaktayız. Buna göre;
formülü ile ihtiyacımız olan direnç miktarını hesaplayabiliriz. Burada;
R: direnci göstermektedir.
Örneğimize göre, ihtiyacımız olan direnç;
R = 5V-2V / 20mA = 150 ohm’dur.
Bu miktarda bir direnç bulamıyorsak yakın miktarlarda bir direnç seçebiliriz. Bu örnekte en yakın olan 220 ohm’luk bir dirençtir.
Şekil 7: Direnç (Kaynak:sparkfun.com)
Diyot: Sadece tek bir yöne doğru akım geçiren bir devre elemanıdır. Bir yöndeki dirençleri oldukça küçüktür, diğer yöndeki dirençleri ise oldukça büyüktür. Böyle akımın ters yönde geçmesini engeller.
Şekil 8: Diyot (Kaynak: www.arduino.cc)
LED (Light Emitting Diode – Işık Yayan Diyot): Akım üzerinden geçerken aydınlatan bir tür diyottur. Tüm diyotlarda olduğu gibi akım tek yönlüdür. Etrafımızdaki bir çok elektronik cihazda LED’lere rastlamaktayız. Biz de projelerimizde oldukça kullanacağız.
Şekil 9: LED (Kaynak: www.arduino.cc)
Button (Düğme): Etrafımızdaki bir çok elektronik cihazda düğmelere rastlamaktayız. Bir nevi kullanıcı arayüzü olarak kullanılmaktadır. Düğmelere basıldığında ne yapması gerektiğini Arduino’ya kodlarız. Küçük bir örnek olarak; Arduino’muzu bağlı bir LED ve bir düğme bağlarız, düğmeye basıldığında, LED’e bir enerji göndererek LED’i yakabiliriz, tekrar basıldığında LED’e giden enerjiyi keserek, LED’i söndürebiliriz.
Şekil 10: Button-Düğme (Kaynak: www.arduino.cc)
Çalışma Ortamınızı Hazırlayın
Elektronik ile uğraşmak dikkat isteyen bir iştir. O yüzden iyi bir çalışma ortamına sahip olmak önemlidir, özellikle de yeni başlıyorsanız. Yapacağınız projelerde bir çok minik, çok hassas ve narin parçalar ile çalışacaksınız. Bu yüzden, parçaları kaybetmemek ve bozmamak için çok dikkatli olmanız gerekmektedir. Bana göre ideal bir çalışma ortamında;
İyi bir çalışma lambası
Elektronik parçalarınızı düzenli bir şekilde saklayabileceğiniz çekmeceli saklama kutuları
Bu yazımda Arduino Uno modelinin fiziksel incelemesini yaptık ve bazı önemli bileşenleri tanıttım. Bir sonraki yazımda Arduino IDE’sini indirme ve kurulum basamaklarından bahsedeceğim. Bundan sonraki yazılarımı çekeceğim videolar ile de destekleyeceğim.