guclusat

Tanınmış Üye
Süper Moderatör
arduino_due_in_hand.jpg

Arduino
İtalyan elektronik mühendisleri tarafından açık kaynak kodlu geliştirilen, isteyen herkesin baskı devreleri indirerek kendi devrelerini basabilecekleri dilerlerse şık bir görüntüye sahip hazır basılmış ve bileşenleri yerleştirilmiş halde alabilecekleri, esnek, kolay kullanımlı donanım ve yazılım tabanlı bir elektronik prototip platformudur. Öncelikle açık kaynak nedir dersek hemen şöyle açıklamak gerekirse, devre şemaları, pcb baskı devreleri, yerleşim planları, varsa üzerindeki programlanabilir elemanların kodları, bütün detaylarıyla herkesin kullanımına açılmış ve ticari bir kaygı olmadan tamamen paylaşıma açık bir platformdur.

Arduino geliştirme kartı üzerindeki mikroişlemci (AtmegaXX) Arduino programlama dili (wiring tabanlı) ile programlanır ve bu program Processing tabanlı Arduino Yazılım Geliştirme Ortamı (IDE) yardımı ile karta yüklenir.
Arduino’nun kullandığı dilden bahsedicek olursak, kullandığı dil oldukça basittir, çok temel bir C bilgisi ile usb üzerinden direkt olarak mikrodenetleyicimizi programlayabiliyoruz ve gerçek zamanlı uygulamalar çalıştırabiliyoruz. Programlama yaparken java üzerine yazılmış güzel, sade bir o kadarda akıllı bir editör tasarlanmıştır bu editörün içerisinde bir çok kütüphane mevcuttur ve bu editör geliştiricileri tarafından sürekli güncel tutulması sebebiyle gün geçtikçe daha kullanışlı ve fonksiyonel hale getirildiği görülüyor. Bütün bunları göz önünde bulundurduğumuzda çok ileri bir yazılımcı olmadan bir çok uygulamayı Arduinokullanarak yapabiliriz. Arduino yazılımının diğer bir güzel yanı ise geliştiricileri tarafından hazırlanan zengin kütüphaneleridir. Bu kütüphane dosyaları sayesinde, bir çok kod yükünden kurtularak, sadece yapmak istediğiniz projenin kodlarına yönelebiliyorsunuz.
Biraz da donanımdan bahsedecek olursak, Arduino kartlarında Atmel işlemcilerini kullanmaktadır. Mikrodenetleyicimiz önceden Bootloader programı içine atılmış şekilde geldiğinden dolayı harici bir programlama cihazına ihtiyaç duymaz. Bu da bizim için çok büyük bir avantaj, yani ek bir programlayıcı gereksinimini ortadan kaldırıyor. Arduinonun bir çok çeşidi bulunmaktadır, uygulamanızın büyüklüğü veya küçüklüğüne göre bu çeşitlerden herhangi birini seçebiliriz. Uzun bir araştırma sürecine girdiğinizde karşınıza çok fazla çeşidinin çıktığını göreceksiniz ve halen daha bu kartlar yenilenmekte ve geliştirilmektedir. Fakat şunu söyleyebiliriz ki, Arduino’nun şu an ki kartlarına uygun olarak geliştirilen bir çok shield Türkçesi kalkan olan ek donanımlar yapılmıştır(Bluetooth, Ethernet, Wireless, Motor sürücü katmanları vs.). Bu yüzden donanımsal olarak çok ciddi bir değişikliğe en azından şu an ki kullanılan kartlarda gidileceğini düşünmüyorum. Çünkü kullanılan kartlarda gidilecek donanımsal değişiklikler shield lerin kullanılamaması anlamına gelir.
Bootloader Nedir ?
Arduinoyu satın aldığımızda AtmegaXXX entegrelerinin EPROMlarına yazılmış bir yazılım sayesinde doğrudan, programlama kartı kullanmadan, seri iletişim kullanarak, hazırladığınız programları hızlı bir şekilde mikroişlemci üzerine yazabiliyoruz. Entegrelerin EPROMlarına yazılmış bu yazılıma Bootloader diyoruz. Bootloader nasıl çalışıyor ondan kısaca bahsedelim;
Öncelikle bir seferliğine bir atmega programlayıcı yardımı ile bootloader yazılımını entegreye yazıyoruz. ( Bootloader, hazır satılan Arduino kartlarında entegre üzerine yazılmış halde geliyor, fakat devreyi kendimiz yapıyorsak bootloader Arduino programlama dili olan Arduino IDE programının içinde gömülü olarak geliyor ve bu program aracılığı ile entegremize yazabiliyoruz, programlayıcımız yoksa Atmega328’i paralel port üzerinden kolay bir şekilde programlayabiliyoruz.)
Arduino bootloader yüklü olan entegre içerisindeki yazılımı çalıştırırken bir yandan da sürekli olarak seri iletişim pinlerinden bilgi gelip gelmediğinin de kontrolünü yapar. Entegre içerisindeki yazılım çalıştırılıyorken seri iletişim pininden bilgi gelmesi halinde, yani Arduino IDE üzerinden entegreye yeni bir yazılım yüklenmesi bilgisi geldiğinde önce entegre resetlenir seri porttan gelen veriler entegre içerisine yazılır ve tekrar entegre resetlenerek yazılım en başa döner.
Bu işlemlerden sonra yazılım çalışmaya devam ederken bootloader seri port üzerinden kontrolüne devam eder ve işlemler bu şekilde sürekli bir şekilde devam eder.
 
İçerikte öne çıkan başlıklar ve teknik detaylar şunlardır:
  • Arduino Platformu: Kolay kullanımı, basit kodlama dili ve geniş kütüphane desteği ile her seviyeden kullanıcıya hitap eden açık kaynaklı bir elektronik geliştirme platformu olarak tanımlanır.
  • Donanım Özellikleri: Tipik bir Arduino kartının (örneğin Uno) üzerindeki ATmega mikrodenetleyicisinin çalışma hızı (20 MHz'e kadar), bellek yapısı (SRAM, EEPROM, Flash) ve pin yapıları hakkında bilgiler sunulmaktadır.
  • Etkileşim Yeteneği: Analog ve dijital giriş/çıkış pinleri sayesinde çevredeki sensörlerden veri alma ve bu verileri işleyerek ışık, ses veya hareket gibi çıktılara dönüştürme yeteneği vurgulanmaktadır.
  • Modüler Yapı: İçerikte ayrıca dirençlerin rolü, 7 Segment Display kullanımı ve internet/SMS bağlantısı sağlayan GSM Shield gibi ek modüllerden de bahsedilerek platformun genişleyebilirliği anlatılmaktadır.
Elektroniğe Adım Atın: Arduino Nedir ve Neler Yapılabilir?

Geleceğin teknolojisini tasarlamaya hazır mısınız? Bu rehber niteliğindeki içerik, dünya genelinde milyonlarca kişinin kullandığı açık kaynaklı geliştirme platformu Arduino'yu tüm detaylarıyla ele alıyor. Yazılım bilgisinden bağımsız olarak herkesin projeler üretebileceği bu platformun temel çalışma prensiplerini, kart üzerindeki donanım bileşenlerini ve dijital/analog pinlerin işlevlerini öğrenin.

Sensörlerden veri okumak, robotik sistemleri kontrol etmek veya akıllı ev uygulamaları geliştirmek için ihtiyacınız olan temel bilgiler burada. Ayrıca projelerinizi profesyonelleştirecek direnç kullanımı, gösterge panelleri ve kablosuz haberleşme modülleri (GSM Shield) gibi ek donanımlar hakkında pratik bilgilerle donanım bilginizi bir üst seviyeye taşıyın.

Neler Öğreneceksiniz?
  • Arduino Uno ve diğer kart çeşitlerinin teknik özellikleri.
  • Açık kaynaklı kodlama dünyasına giriş ve kütüphane kullanımı.
  • Giriş/çıkış pinleri ile çevre birimlerini yönetme.
  • Temel devre elemanları ve modül entegrasyonu.
 
Geri
Yukarı