Arduino’ya Giriş
Ülkemizde bilişim sektörü daha çok hizmet alanına yönelik çalışmakta ve yazılım üreten firmalardan oluşmaktadır. Çoğumuz backend, frontend, mobil gibi alanlarda yazılım geliştiriyoruz, yani donanıma dokunmayan “sanal” işlerle uğraşıyoruz. Türkiye’de donanım üretmek ucuz olmadığı için bu alana fazla yatırım yapılamıyor ve donanımsal işler yazılımcılar için ikinci planda kalıyor. Halbuki yazılan kodun sadece ekranda görüntülenmesi yerine fiziksel birimler aracılığıyla çıktı alınması, etkileşime geçilmesi birçok kişi için oldukça keyif verici bir iş. Hangimiz arkadaş canlısı bir robot yapıp vaktini onunla geçirmek ve bazı temel işleri ona yaptırmak istemez ki? Tıpkı bu videoda olduğu gibi.
Robot üretmek ve robot için yapay zeka yazılımı geliştirmek bugün için belki de bu işin en ileri aşaması diyebiliriz. Şu an robot üretemesek bile bu işe bir yerden başlayabiliriz. Arduino iyi bir başlangıç noktası olabilir. Gelin birlikte Arduino dünyasına giriş yapalım.
Arduino Nedir?
Arduino açık kaynaklı bir platform olup donanım ve yazılım bileşenlerinin kolay bir şekilde kullanılmasını sağlamaktadır. Elektronik Arduino kartları sensöre düşen ışık şiddeti, butona basılma durumu veya daha gelişmiş bir örnek olarak Twitter mesajı gibi girdileri alarak, bir motor bileşenini çalıştırma, LED yakma, çevrimiçi olarak bir şeyler paylaşma gibi çıktıların üretilmesini sağlarlar. Siz de kartın üzerindeki mikro kontrolcüye(microcontroller), bilgisayarınızda Arduino programlama dili ile yazıp derlediğiniz bir komut kümesini göndererek bu gibi işlemlerin yapılmasını sağlayabilirsiniz.

Arduino ile yapılabileceklerin bir görseli — Görsel: aldersonblack.com
Arduino yeni olmamakla birlikte, yıllardır basit gündelik işlerden, karmaşık bilimsel enstrümanlara kadar binlerce projeye ev sahipliği etmiş bir mikro denetleyicidir. Dünya çapında öğrenciler, sanatçılar, programcılar ve hobi olarak uğraşan birçok “maker” açık kaynaklı olan Arduino platformu altında toplanıyor. Maker’lar topluluğa Arduino forumunu kullanarak, katkı sağlamakla birlikte, herkesin erişip yardım alabileceği olağanüstü büyüklükte bir bilgi deposu oluşturmuş durumdalar.

Topluluğa kendiniz de küçük meblağlarda bağış yapabilirsiniz — Görsel: arduino.cc
Arduino’nun ilk kıvılcımları, programlama ve elektronik bilgisi olmayan öğrencilere hızlı prototip oluşturma için kolay bir çözümün sağlanması amacıyla İtalya’daki Ivrea Interaction Design Enstitüsü’nde, ortaya çıktı. Arduino’nun, kısa sürede çok daha geniş kitlelere yayılması ile birlikte, yeni ihtiyaç ve çözümler sunmak amacıyla basit 8 bitlik kartlardan evrimleşerek IoT uygulamaları, giyilebilir teknolojiler, 3D yazıcılar ve gömülü sistemler geliştirilebilecek seviyeye kadar gelmesi kaçınılmazdı. Bütün Arduino kartlarının açık-kaynak olması sayesinde de kullanıcılara bağımsız ve kendi ihtiyaçları doğrultusunda modifiye edebilecekleri bir ortam tasarlanmış oldu. Yazılımı da açık kaynaklı olan bu ortamda, kullanıcı toplulukları büyüyerek tüm dünya çapında faaliyet göstermeye başladılar.
Peki Neden Arduino?
Bu sorunun aslında birçok cevabı var. Basit ve erişilebilir bir kullanıcı deneyimi sunan Arduino, bu sayede birbirinden farklı binlerce proje ve uygulamada kullanılıyor. Arduino programlama dili yeni başlayanlar için kolay bir kullanım sağlamakla kalmayıp, aynı zamanda gelişmiş kullanıcılar için de esneklikten ödün vermiyor. Mac, Windows ve Linux gibi çeşitli işletim sistemlerine destek vermesinin yanı sıra, öğretmenlerin öğrencilerine kimya ve fizik prensiplerini aktarmak için kullanabileceği düşük maliyetli bilimsel enstrümanlar inşa etmelerine izin veriyor.
Tasarımcılar ve mimarlar etkileşimli prototipler yapabiliyorlar, müzisyenler ve sanatçılar yeni müzik enstrümanları üzerinden deneysel çalışmalar üzerine yoğunlaşabiliyorlar. Maker dediğimiz, hobi olarak bu işlerle uğraşan birçok insan da, Maker Fuarı’nda kendi projelerini tanıtmak için Arduino’dan yardım alabiliyorlar. Çocuktan yaşlısına, sanatçısından yazılımcısına kadar her kesimden insan, sadece Arduino Kit’lerindeki komutları adım adım takip ederek ürünlerini geliştirebiliyor ve Arduino camiasındaki diğer insanlarla kendi fikirlerini çevrimiçi olarak paylaşabiliyorlar.

Örnek bir başlangıç Arduino kiti — Görsel: arduino.cc
Fiziksel programlama alanındaki tek ürün Arduino olmadığı gibi, bu piyasada birbirinden farklı birçok mikrokontrolcü ve bunların bulunduğu platform yer almakta. Parallax firmasının Basic Stamp’i, Netmedia’nın BX-24‘ü, Phidgets, MIT’nin Handyboard’u gibi diğer birçok benzer işleve sahip platformu az önceki bahsettiğim gruba dahil edebiliriz. Bütün bu araçlar, mikrokontrolcü programlama işinin karmaşıklığını kullanıcıya yansıtmadan kolaylıkla kullanılabilir paketler sunmaktalar.
Arduino da mikrokontrolcüler ile çalışma sürecini basitleştirmekte ve bununla yetinmeyip öğretmenler, öğrenciler ve elektronikle ilgilenen amatörler için diğer platformlara göre birçok farklı avantaj sunabilmektedir:
- Ucuz olması: Belki de Arduino’nun en önemli özelliği de diğer mikrokontrolcü platformlara nazaran daha ucuz olması. Açık kaynak olması sayesinde, en ucuz versiyonunu dahil ettiği bileşenleri birleştirerek oluşturabileceğiniz gibi, yeni başlayan herkesin yaptığı şekilde hazır birleştirilmiş ve kart üzerine bastırılmış “resmi” çözümünü 86 liradan, orijinali ile birebir aynısı olan klon çözümünü 45 liradan satın alabilmeniz mümkün.
- Çapraz-platform desteği: Arduino IDE’nin Windows, Mac OSX ve Linux işletim sistemlerinde çalışabilmesi sayesinde, sadece Windows’ta çalışabilen diğer mikrokontrolcü sistemlere önemli ölçüde fark atabilmektedir.
- Basit ve temiz yazılım ortamı: Arduino IDE’nin sunduğu kullanım kolaylığı ile yeni başlayanlar için biçilmiş bir kaftan olmakla birlikte, gelişmiş kullanıcılar için de oldukça esnek bir platform sunuyor.
- Açık kaynaklı ve genişletilebilir yazılım desteği: Arduino yazılımı açık kaynaklı olarak yayımlandığı için, deneyimli yazılımcılar tarafından genişletilmeye izin vermektedir. Programlama dili C++ kütüphaneleriyle genişletilebilir ve teknik detaylarla ilgilenmek isteyen kişiler, Arduino’dan Arduino’nun baz aldığı AVR C’ye geçiş yapabilirler. Benzer şekilde AVR-C kodu da direkt olarak Arduino programlarının içine eklenebilir.
- Açık kaynaklı ve genişletilebilir donanım desteği: Arduino kartları Creative Commons lisansı altında yayımlandığı için deneyimli devre tasarımcıları kendi modülünü oluşturabilir, genişletebilir, ve iyileştirmeler yapabilir. Az deneyimli kullanıcılar bile kendi modülünün breadboard versiyonunu oluşturabilir, bu sayede Arduino’nun nasıl çalıştığını kolaylıkla görebilir ve tasarruf edebilirler.

Breadboard Arduino — Görsel: hiveminer.com
Basit ve tak-çalıştır tarzında lego vari bileşenleriyle minik ve hızlı çözümler sunmanızı sağlayan Arduino ile boş zamanlarınızı “yazılımsal” olarak renklendirebilecek bir hobi edinebilirsiniz.
Bu yazımızda Arduino’yu tanımaya çalıştık. İlerleyen zamanlarda Arduino ile ilgili basit devre tasarımlarını içeren yazıları Devnot’tan paylaşacağım, takipte kalın:)