Arduino Nedir – Arduino Kodlama Nasıl Yapılır

Arduino nedir?
Arduino, elektronikle ilgilenen herkesin kolaylıkla kullanabileceği şekilde tasarlanmış açık kaynaklı bir mikrodenetleyici platformudur. Arduino ile çeşitli sensörlerden ve flaşörlerden gelen sinyalleri okuyabilir ve motoru çalıştırabilirsiniz; Kısacası: akla gelebilecek her türlü elektronik projeyi yapabilirsiniz. Elektronik ve programlamaya ilgisi olan herkesin kolaylıkla erişebileceği şekilde tasarlanmış bir mikrodenetleyici serisi olduğu söylenebilir. Arduino bir markadır ancak açık kaynak kodlu bir ürün olduğundan piyasada klon dediğimiz birçok Arduino kartı bulunmaktadır. Bu kartların birçok çeşidi bulunmaktadır. Onlara baktığımızda;

Arduino Uno en sık kullanılan kartlardan biridir, bu yüzden genellikle Uno kartını kullanırız. Tabii gerekirse başka kartları da kullanmayı planlıyorum. Farklı işlevlere sahip birçok kart türü vardır. İnternete bağlanabilen kartların, GSM modüllü kartlar gibi iletişim modülüne sahip kartların yanı sıra giyilebilir teknolojinin gelişim ihtiyaçlarını karşılayacak giyilebilir kartlar da bulunmaktadır. Kartların çoğu farklı üreticiler tarafından üretilip satılmaktadır. İsterseniz kendi Arduino kartınızı bile yapabilirsiniz. Arduino kodlaması için gerekli olan boardlardır.

Peki Arduino ile neler yapabiliriz?
Artık Arduino’nun ne olduğunu bildiğimize göre neler yapabileceğimize bakalım. Akıllı ev sistemleri, robotik sistemler, giyilebilir uygulamalar ve güvenlik cihazları gibi birçok alanda dilediğiniz projeyi hayata geçirebilirsiniz. Aslında, Arduino Mega ile 3D baskı ve Arduino Uno ile CNC kullanılarak oluşturulan projeleri internette ve forumlarda sıklıkla görebilirsiniz.

Arduino

Neden Arduino?
Artık Arduino’nun ne olduğunu ve onunla neler yapabileceğimizi bildiğimize göre, Arduino’nun neden var olduğuna bakalım. Bir proje geliştirirken çok şey öğrenirsiniz. Arduino ekosistemi de çok değişti ve birçok geliştiricinin ve kullanıcının yararına gelişmeye devam ediyor. Hızlı bir aramayla onlarca farklı dilde binlerce kaynak, forum ve video bulabilirsiniz. Üstelik Arduino, uygun fiyatı, kullanım kolaylığı ve her cihazda programlanabilme özelliği nedeniyle biz geliştiriciler için ideal bir seçimdir. Arduino’nun iyi bir programlama aracı olduğunu düşünmüyor musunuz?

Shield Nedir

Sizi sıkmadan Arduino ile kullandığımız diğer bileşenlerden bahsetmek istiyorum. Shields, sensörleri veya ihtiyacımız olan diğer malzemeleri Uno Mega gibi büyük kartlar için tasarlanmış kartlara monte ederek test etmemiz için bize taşınabilir bir test yatağı sağlıyor. Ayrıca başka bir devre görevi gören kalkanlar da vardır. Belki de bu tür kalkanlara en iyi örnek motor sürücü kalkanıdır.

Shield
Shield

Fark ettiğiniz gibi kalkanımızın ve Uno kartımızın boyutu ve şekli aynı. Shield’ımızı Uno board’a takarak devreyi breadboard üzerine kurma endişesi duymadan istediğimiz tasarımı oluşturabiliyoruz. Bu kart sayesinde 4 adet DC motor, 2 adet servo motor ve 2 adet step motoru kontrol edebilmekteyiz.

Hangi ana bileşenleri kullanacağız?
Hem Arduino projelerinde hem de ilk projemizde kullanacağımız elektronik projelerinde yaygın olarak kullanılan ana bileşenlerden kısaca bahsetmek istiyorum.

Arduino Ana Bileşenler

düzen
Elektronik malzemelerin hızlı prototiplenmesinin temelini oluşturur. İngilizce’de “breadboard” anlamına gelen bu malzeme, resimde gördüğünüz gibi breadboard’a benzemesinden dolayı adını almıştır. Hazırladığımız devrede bakır plakalarla veya PCB’lerle uğraşmaya gerek kalmadan, lehimlemeye ihtiyaç duymadan devrenin düzgün çalışıp çalışmadığını kontrol etmek için plug-in mantığını kullanabiliriz.

İç yapısında sıra ve sütunlardan oluşan iletken zımbalar bulunur. Resimde gördüğünüz gibi 5 deliğin her bir sütunu bir kısa devreyi temsil etmektedir ve bu sütunlar birbirinden bağımsızdır. Yukarıdaki ve alttaki mavi ve kırmızı çizgiler gerilim hatlarıdır. Yeşil sütunlar gibi çalışırlar, tek fark bu çizgilerin uzunluklarıdır. Tipik olarak mavi çizgiyi toprak hattı olarak, kırmızı çizgiyi ise güç hattı olarak kullanırız. Burada dikkat edilmesi gereken bir şey var. Gerilim hatları altta ve üstte bağımsızdır ve daha büyük düzenlerde bu gerilim hatları ortadan bölünmüştür. Kurduğunuz devrede gerilim hattından enerji alamıyorsanız bağlantıyı kontrol ediniz (örn. kısa devre).

VEL
Işık yayan diyot diyebiliriz. Diyot hakkında ne söyleyebilirsiniz? Kısaca şunu söyleyeyim.

Diyot, akımın yalnızca bir yönde akmasına izin veren iki ayaklı bir yarı iletkendir.

Diyot tanımının da gösterdiği gibi LED bipolardır, yani. bacaklı devre elemanı. Ve güç doğru yönden uygulandığında ışık yayar. Bu iki kutup tüm elektroniklerde aynıdır;

Anot: Pozitif (+) yüklü akımın uygulandığı kutup.

Katot: Negatif (-) yüklü akımın çıktığı kutup.

LED’lerin pek çok alanda kullanıldığı günümüzde elbette LED’lerin de pek çok çeşidi bulunmaktadır. Bunların hepsini incelememize gerek kalmayacak ama resimlerle kısa bir bilgi vermek istiyoruz.

DIP LED’i

Farklı renklerde DIP LED’ler (yani pin LED’ler). DIP arka aydınlatmasını destekleyen ancak kare mantar gibi farklı şekillerde sunulan birçok LED vardır.

RGB LED olarak adlandırılan bu LED’lerin 4 ayağı bulunmaktadır. Bir bacağı toprak, diğerleri kırmızı, yeşil ve mavidir. Bu LED’ler ile ayaklarına farklı voltajlar uygulayarak milyonlarca renk elde edebiliyoruz.

Burada düz bir yüzey üzerinde PCB’ye lehimlenebilen SMD (Yüzeye Montaj Cihazı) LED’lerini görüyorsunuz. Bu arada, çok sayıda SMD bileşeni var. Aşağıdaki kodlar durum kodlarıdır, yani. SAAT. ürünün kullandığı boyutları belirtirler.

Rezistans
Tanımı bir iletkenden geçen elektrik akımının karşılaştığı zorluktur. Ohm sembolü Ω ile gösterilir ve denklemlerde R olarak temsil edilir.Ayrıca DIP ve SMD gibi çeşitli seçenek ve malzemelerde de mevcuttur.

Bileşenlerini anlatırken GND’den bahsettim ama ne olduğunu açıklamadım, şimdi tam zamanı. Yerleşim planını anlatırken enerji hatları veya direklerden bahsettiğimde bahsettiğim negatif (-) katot hattımız GND yani toprak olarak tanımlanıyor. İngilizce çevirisi “toprak”tır ve GND’yi katot kutbu olarak kullanacağız. Bazı sensörler veya güç kaynaklarında ayrıca VCC adı verilen bir hat bulunur. Burası bizim enerji hattımız ve buradan pozitif (+) akım alıyoruz. VCC’ye giren veya çıkan voltaj ve akım devreden devreye ve sensörden sensöre değişebilir. Örneğin Arduino Uno kartında VCC isimli bir pin bulunmamaktadır. Burada güç gerektiren bileşenlerimize 5V ve 3.3V pinlerinden güç dağıtıyoruz.

Arduino IDE nedir ve nasıl kurulur?
Şimdi Arduino kullanarak ilk projemizi oluşturmaya başlayalım. Ancak öncelikle Arduino’ya komut verebileceğimiz yani kod yazabileceğimiz bir program kurmamız gerekiyor. Bu programın adı IDE’dir. Şimdi programı kurmaya başlayalım.

Şimdi kodu Arduino’muza ekleyelim. Ancak birçok arkadaşın karşılaştığı başka bir sorun daha var. CH340 çipi, Clone Arduino Unos’ta ve piyasada bulunan diğer kartlarda mevcuttur. Bazı cihazlarda bu çip için uygun sürücü bulunmadığından kod yüklenirken COM PORT hatası alınır. CH340 sürücüsünü indirip kurarak bu sorunu çözebilirsiniz.

Artık Arduino IDE’miz hazır olduğuna göre ilk projemizi oluşturabiliriz. Bu projemizde Arduino Uno kullanıyoruz ve kart üzerindeki D13 numaralı LED’i açıp kapatıyoruz. Bu sayede devre oluşturmadan Arduino’muzu kontrol edebiliriz.

Arduino IDE’yi açın.

Arduino IDE

Üst kısımda “Araçlar” sekmesine geliyoruz. İmleci haritanın üzerine getiriyoruz ve kullandığımız haritanın seçili olduğundan emin oluyoruz. Kartın hemen altındaki “Port” sekmesinde bağladığımız Arduino kartı portunu seçin. Genel olarak port seçimi otomatik olarak gerçekleşir.

Arduino Araçlar

Son olarak sol üst köşedeki sağ oka tıklayarak veya Ctrl+U tuşlarına basarak kodumuzu Arduino’ya yüklüyoruz. Program öncelikle kodu derler ve bir hata oluştuğunda bize bildirir. Kodu indirmeden derlemek istiyorsak indirme butonunun solundaki onay kutusunu kullanabilir veya klavye kısayolu olarak Ctrl+R çağırabiliriz.

Arduino kodu nasıl yazılır?
Öncelikle, yeni bir sayfa açtığınızda hemen karşınıza çıkan void kurulumu ve void loop fonksiyonlarından bahsedelim. Ardunio kodlaması ile kodlamaya başlayalım.

Arduino kodu

Ayarı iptal et ( )
Bu bölümde kullandığımız pinler tanımlanmakta ve gerekli başlatma komutları verilmektedir. Bu kısım Arduino’yu açtıktan veya yeniden başlattıktan sonra çalışır. Gerekli tanımlamalar yapılarak Döngü bölümüne taşınır.

Boş döngü ( )
Void Loop bölümünde sürekli çalıştırmasını istediğimiz aktif veya pasif kontaklar gibi komutları yukarıdan aşağıya döngüsel olarak işleyen, aynı zamanda sensörlerden gelen verileri okuyup işleyen kısımdır. Tüm bu fonksiyonlarda dikkat etmemiz gereken bir şey var: Fonksiyonun süslü parantez “{” ile açılması ve ardından süslü parantez “}” ile kapatılması gerekiyor. Kıvrımlı parantezlerin yanlış olması durumunda kodunuz derleme hatası verecektir.

Temel işlevleri ele aldık. Şimdi bu projede kullandığımız ana kodlara bakalım.

Burada “;” işaretine dikkat etmemiz gerekiyor. kodun sonunda. Yorum yapacağımız satırların başına “noktalı virgül koyup çift eğik çizgi “//” bırakacağız.

Pin Modu(,)
Burada pinimizin modunu yani giriş pini mi yoksa çıkış pini mi olduğunu belirtiyoruz. Bunun için ilk parametrede pini, ikinci parametrede ise modu belirtiyoruz.

(GİRİŞ: GİRİŞ | ÇIKIŞ: ÇIKIŞ)
IDE’nin dijital 13. pini Blink projesinde tanımlandığı için pinMode(LED_BUILTIN, OUTPUT); komutu kullanıldı. Doğrudan PIN’i girerek de kullanabiliriz.

 Örneğin >> pinMode(13, OUTPUT);

Dijital kayıt(,)
Bu komutla dijital ÇIKIŞIMIZA güç uygulayabiliriz. Bunun için ilk parametre olarak çıkışı, ikinci parametre olarak da güç modunu ayarladık (YÜKSEK: Aktif | DÜŞÜK: Pasif).

YÜKSEK modda pinde yaklaşık 5 V’luk bir voltaj vardır, DÜŞÜK modda voltaj yoktur.

gecikme( )
Beklemek için kullandığımız komuttur. Parantez içinde gösterilen değer milisaniye cinsindendir. Projemizdeki örneğe bakacak olursak 1000 milisaniye 1 saniyeye eşittir.

Arduino Gecikme

Artık komutları bildiğimize göre kodun ne yaptığını anlayabiliriz.

Başlangıçta çıktımızı çıktı olarak tanımladık.

Sonra dedik ki: pinimize 1 saniyeliğine güç verin.

1 saniye sonra pinimiz LOW moduna geçer ve 1 saniye kapalı kalır. Son 2 saniyede kod yeniden başlatılır ve aynı işlemleri gerçekleştirir.

Resimde gördüğünüz gibi 13. dijital pine (L etiketli) bağlı olan LED’imiz 1 saniye aralıklarla yanıp sönmektedir.

Kısa bir tanıtım yapmaya çalıştım umarım sıkılmazsınız. Sizlere kullanabileceğiniz bazı kaynaklar bırakıyorum. Sonraki derslerde görüşmek üzere.

Arduino kodlaması ile ne yapmalı? Makale: Arduino’nun makine mühendisliği ve mekatronikte kullanılması

Arduino kurulum videosu

Bu yazı Wikipedia adresinden derlenmiştir.

Yorum yapın