Arduino Nedir ? Nasıl Kullanılır ? Neden Arduino ?

Arduino kolay programlanabilir, ucuz bir donanıma sahip, açık kaynak kodlu bir mikro denetleyicidir.
Arduino bir Giriş/Çıkış (Input/Output) kartı ve Processing Programlama dilinin uygulamasını barındıran bir fiziksel programlama platformudur.
Arduino farklı cihazlar ile haberleşebilir
Arduino tek başına çalışan interaktif nesneler oluşturmak için kullanıldığı gibi bilgisayar üzerinde çalışan yazılımlarda da kullanılabilir.
Arduino için hazır üretilmiş kartlar satın alabilirsiniz veya kendi Arduino kartlarınızı üretebilirsiniz.
Arduino devre kartları girişlerine bağlanan sensörleri okuyabilir.
Arduino yazdığınız program ile çıkışlarına bağlanan elektronik anahtarları kontrol edebilirsiniz
Arduino, buton veya sensörlerden gelen elektriksel değerleri algılar ve buna bağlı olarak ışıkları, motorları veya diğer aktüatörleri istediğimiz doğrultuda çalıştırır.
Arduino C / C++ programlama dilleri ile geliştirilmektedir.
Sensör Nedir

Arduino Nedir ?

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
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 bahsedecek olursak, kullandığı dil oldukça basittir,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ı Arduino kullanarak yapabiliriz. Arduino yazılımının diğer bir güzel yanı ise geliştiricileri tarafından hazırlanan zengin kütüphanelerdir. 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.

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.).

Arduino kartları biline birçok sensörden veri alıp işleyebiliyor. sıcaklık uzaklık ultrasonik kızılötesi, nem ölçer vs.

Neden Arduino ?

Arduino, açık kaynak kodlu bir mikrodenetleyici kartıdır. Ana MCU Atmel tabanlıdır. (MCU’ya önceden bir mini program – bootloader yüklenmiştir). Kart ile robotik ve elektronik uygulamalarınızı kolayca gerçekleştirebilirsiniz.

Bu kadar popüler olmasının bir kaç nedeni vardır. Bunlar:

  • Açık kaynaklı bir geliştirme platformudur. (Devre şemasından, programlama arayüzüne kadar…)
  • Program geliştirmek basittir. Aynı kart üzerinden hem programlanır hem test edilebilir.
  • Ardunino Programlama dili de basittir. Bolca örneği mevcuttur.
  • Yapmak istediğiniz Arduino Projeleri benzerleri de önceden yapılmıştır. Diğer proje yapımcılarıyla daha kolay bilgi alışverişinde bulunabilirsiniz.
  • Arduino kitap bulmakta zorlanmazsınız . Pdf Kaynaklarımızı inceleyin faydası olur
  • Çevresiyle çok kolay bir şekilde etkileşime girebilen sistemler  tasarlayabilirsiniz.
  • Arduino kütüphaneleri ile  kolayca mikrodenetleyicileri programlayabilirsiniz.
  • Girişleri sayesinde analog ve dijital verileri işleyebilirsiniz.
  • Sensörlerden gelen verileri kolayca kullanabilirsiniz.
  • Arduino sayesinde dış dünyaya çıktılar (ses, ışık vb…)üretebilirsiniz.

Arduino Bileşenleri

Arduino geliştirme ortamı (IDE)
Arduino bootloader (Optiboot)
Arduino kütüphaneleri
AVRDude (Arduino üzerindeki mikrodenetleyici programlayan yazılım)
Derleyiciden (AVR-GCC) oluşur.
Arduino yazılımı bir geliştirme ortamı (IDE) ve kütüphanelerden oluşur. IDE, Java dilinde yazılmıştır ve Processing adlı dilin ortamına dayanmaktadır. Kütüphaneler ise C ve C++ dillerinde yazılmıştır ve AVR-GCC ve AVR Libc. ile derlenmiştir. 

Optiboot bileşeni Arduino ‘nun bootloader bileşenidir. Bu bileşen, Arduino kartlarının üzerindeki mikrodenetleyicinin programlanmasını sağlayan bileşendir.

Arduino ‘nun bu kadar çok tercih edilmesini sağlayan en önemli bileşen ise mikrodenetleyici konusunda detaylı bilgi sahibi olmayı gerektirmeden herkesin programlama yapabilmesini sağlayan Arduino kütüphaneleridir. Arduino kütüphanelerinin bir listesine resmi sitesinden ulaşabilirsiniz. Arduino kütüphaneleri, geliştirme ortamı ile birlikte gelmekte ve “libraries” klasörünün altında bulunmaktadır. Kodları inceleyerek mikrodenetleyicilerin nasıl programlandığını ve kütüphanelerin yapısını görmeniz mümkündür.

Son olarak AVRDude bileşeni ise derlenen kodları programlamak için kullanılır.

Arduino ile ilgili temel kavramlar

µP (Mikroişlemci):  Mikroişlemci,  bir  Arduinonun  beynidir.   Arduino  geliştirme  kartı çeşitli   AVR   mikroişlemciye   dayalıdır,   hepsinin   de   kendine   has   fonksiyonları   ve özellikleri vardır.

Giriş Voltajı: Kart için önerilen voltaj aralığıdır. Kart maksimum voltaj aralığından çok az daha fazla voltajla da beslenebilir, bu da güvenlidir. Aklımızda bulunması gereken püf nokta ise Li-Po piller 3.7V desteklemektedir. Piyasadaki Arduino çeşitleri de bu voltaj değerini   desteklemektedir.   Dolayısıyla   arduinolar   3.7V   Li-Po   pillerle   doğrudan beslenebilir.

Sistem  Voltajı:  Kartın  sistem  voltajıdır  diğer  bir  deyişle  mikroişlemcinin  çalıştığı voltajdır. Bu, kartın uyumluluğu için –özellikle 5V’tan 3.3V’a geçildiğinden beri- önemli bir faktördür. Bağlanmak istenilen dış sistem ne olursa olsun her zaman elimizde bulunan işlemcinin voltaj seviyesiyle eşleştirme gereği duyulacaktır.

Saat Hızı: Mikroişlemcinin hıza bağlı frekans aralığıdır ve komutları çalıştırma hızıyla bağlantılıdır. Ayrıca bazı nadir beklentiler oluşabilir. Çoğu ATMega mikroişlemci 3V’ta iken saat hızı 8MHz kaldırırken çoğu 5V’ta 16MHz’de çalışır.

Dijital  I/O: Arduinodaki dijital Giriş/Çıkış’ların sayısıdır. Bunların her biri giriş ya da çıkış olarak bazısı da PWM olabilecek şekilde tasarlanmıştır.

Analog Giriş: Arduinodaki kullanılabilir analog girişlerin toplam sayısıdır. Analog pinler ‘’A’’  harfi  ve  yanındaki  numaralarla  isimlendirilir  ve  bu  da  ATMega  yonga  içindeki Analog to Digital Converter (ADC) aracılığıyla analog değerleri okumayı sağlar. Analog girişler eğer ihtiyaç olursa daha fazla dijital Giriş/Çıkış olarak kullanılabilir.

PWM: PWM sinyal üretebilme kapasitesi olan dijital Giriş/Çıkış’ların sayısıdır. PWM sinyalleri analog çıkışlar gibidir. Arduinoyu analog voltajını 0 ve sistem voltajı arasında kandırma imkânı tanır.

UART: Arduinonun desteklediği, birbirinden ayrı seri bağlantı çizgileri sayısıdır. Çoğu arduino kartta, dijital Giriş/Çıkış pinleri 0 ve 1 serilerin 2 katıdır ve alınan pinler seri programlama portuyla paylaşılmıştır. Bazı arduino kartları birden fazla UART’a sahiptir ve birden fazla seri portu bir kerede destekleyebilir. Bütün arduino kartlar programlama için en az bir UART’a sahiptirler. Fakat bazılarında pinlere erişilebilir değildir.

Flash  Memory:  Taslakların  depolanabileceği  maksimum  mevcut  hafızadır.  Bütün  bu hafızanın  tamamı  kullanılabilir  değildir,  zira  küçük  bir  kısmı  bootloader  tarafından kullanılmaktadır ( genellikle 0,5 ve 2 KB arası).

Bootloader:  Eğer  mikroişlemci  arduinonun  beyni  olarak  nitelendirilirse,  bootloader kişiliği  olarak  değerlendirilebilir.  Bootloader  ATMega’nın  içinde  bulunur  ve  seri  port aracılığıyla donanım  programlaması  için  yükleme  yapılmasını  sağlar.  Çünkü  farklı Arduino kartları farklı mikroişlemciler ve programlama arayüzleri kullanır. Her birinde farklı bootloader programı vardır. Bootloader için olan kaynak kodları, arduino dağıtımı içinde   bulunabilir.   Bütün   Arduino   bootloaderlar   Arduino   IDE   yazılımından   kod yüklenmesini sağlar.

Programlama  Arayüzü:   Arduino   kartını   programlamak   için   bilgisayarla   bağlantı kurulmasını sağlar. Bazı kartlar gömülü USB jacklar barındırır, dolayısıyla tek yapılması gereken  USB kabloyu  bilgisayara  bağlamaktır.  Bazı  kartlar  ise  headerlara  sahiptir böylece onlara da yapmanız gereken tek işlem FTDI Basic breakout ya da FTDI kabloyu bağlamaktır.  Arduino  Mini  gibi kartlar  ise  seri  pinler  programlama  için  bulunur  fakat FTDI  headerlarla  uyumlu  değildirler.  Gömülü  USB  jack  taşıyan  her  Arduino  USB dönüşümleri  için  bazı  farklı  donanımlara sahiptir.  Bununla  birlikte,  bazı  kartlar  ek donanıma ihtiyaç duymazlar çünkü mikroişlemcilerinin gömülü USB desteği vardır[37].

Arduino temel donanım özellikleri

Arduino Uno R3

Şekil : Arduino Uno R3

Donanım özellikleri board’a göre farklı özellikler göstermektir.

Arduino Uno R3

Arduino ile basitçe ne yapabilirim?

  •  Kolay bir şekilde çevresiyle etkileşime girebilen sistemler tasarlayabileceğiniz
  •  Açık kaynaklı bir geliştirme platformudur.
  •  Arduino kartları üzerinde Atmega firmasının 8 ve 32 bit mikrodenetleyicileri (arduino due) bulunur.
  •  Arduino kütüphaneleri ile mikrodenetleyicileri kolaylıkla programlayabilirsiniz.
  •  Analog ve dijital girişleri sayesinde analog ve dijital verileri işleyebilirsiniz.
  •  Sensörlerden gelen verileri kullanabilirsiniz
  •  Dış dünyaya çıktılar (ses, ışık, hareket vs…) üretebilirsiniz.

Arduino Nasıl Kullanılır?

Arduino ya da herhangi bir mikrodenetleyici sistemi kullanmak için ilk olarak düzgün çalışma ortamını sağlamanız gerekir. Arduino grubu mikrodenetleyiciler için gerekenler:

Arduino

  • Arduino IDE programı
  • Arduino ile uyumlu çalışacak bir bilgisayar

Şekil : Arduino Uno R3

Bir Arduino donanım kartının temel bileşenleri şöyledir.

  1. Power USB : Arduino ile bilgisayarınız arasındaki iletişimi sağlar. Aynı zamanda USB üzerinden gereken gücü temin eder.
  2. Power Socket : Arduino’nun çalışması için gereken gücü, harici bir DC adaptör ile bu soket üzerinden sağlayabilirsiniz.
  3. Voltaj Regülatörü : Arduino için sağladığınız elektriksel gücü kart üzerindeki devre elemanlarına kararlı şekilde dağılımını sağlar.
  4. Kristal Osilatör : Arduino işlemcisinin çalışabilmesi için gereken frekans üretimini yapar.
  5. Reset : Arduino devre kartını sıfırlar.
  6. 3,3V DC çıkış sağlar
  7. 5V DC çıkış sağlar
  8. GND : – Bağlantısının yapılacağı pindir. Toprak veya şase olarak da ismi geçer.
  9. Vin : Arduino için harici güç girişi olarak kullanılır.
  10. Analog In : 6 adet analog pin bulunmaktadır. A0..A5 olarak isimlendirilir. Isı, nem gibi sensörlerden gelen analog sinyalleri okumak için kullanılırlar. Bu sinyallerden analog / dijital çeviriciler ile mikroişlemciye iletilir.
  11. Arduino mikrodenetleyicisidir. Giriş pinlerinden gelen verileri okuma, üzerindeki yazılımı çalıştırma, çıkış pinlerine veri gönderme gibi işlemleri yürütür.
  12. ICSP : Bu pinler SPI kütüphanesi ile SPI haberleşmeyi sağlar.
  13. Power LED : Arduino’ya güç geldiğini gösterir LED ışık kaynağıdır.
  14. Çıkış LED : Arduinonun 13 nolu çıkış pinidir. Bu çıkış direkt olarak devre kartının üzerindeki bir LED’e bağlıdır.
  15. Arduino Uno ‘da bulunan 14 tane dijital giriş / çıkış pininin tamamı, pinMode(), digitalWrite() ve digitalRead() fonksiyonları ile giriş ya da çıkış olarak kullanılabilir. Bu pinler 5 V ile çalışır. Her pin maksimum 40 mA çekebilir ya da sağlayabilir ve 20-50 KOhm dahili pull – up dirençleri vardır. Ayrıca bazı pinlerin özel fonksiyonları vardır.
  16. Serial 0 (RX) ve 1 (TX) :Bu pinler TTL seri data almak (receive – RX) ve yaymak (transmit – TX) içindir.
  17. Harici kesmeler (2 ve 3) :Bu pinler bir kesmeyi tetiklemek için kullanılabilir.
  18. PWM: 3, 5, 6, 9, 10, ve 11 :Bu pinler analogWrite () fonksiyonu ile 8-bit PWM sinyali sağlar.
  19. AREF :Analog girişler için referans voltajıdır. analogReference() fonksiyonu ile kullanılır.
  20. GND : – Bağlantısının yapılacağı pindir. Toprak veya şase olarak da ismi geçer.
  21. Reset : Mikrodenetleyiciyi resetlemek içindir.

Arduino kartlarının Uno ile karşılaştırılması

  • Arduino Nano kartı, Uno kartı ile aynı özelliklere ve aynı yapıya sahip olup Uno’dan çok daha küçüktür. Bu sayede daha küçük tasarımlı projelerde Uno yerine tercih edilirler. Arduino Uno’dan sonra en ünlü kartlardan biridir.
  • Arduino Mega, çalışma prensibi olarak Arduino Uno’ya benzeyen ve ondan sonra en ünlü olan bir diğer karttır. Arduino Mega, Nano’nun tersine Uno’dan çok daha büyük bir yapıya sahiptir. Bununla birlikte çok daha fazla giriş/çıkış pini vardır. Arduino Mega daha büyük tasarımlı ve daha çok elektronik komponentin bulunduğu, daha fazla pine ihtiyaç duyulan projeler için kullanılmaktadır.
  • Arduino Pro Mini, Uno’dan farklı olarak fazladan 2 analog girişe sahiptir ve doğrudan USB kablosu üzerinden programlanmamaktadır. Pinleri lehimsiz olarak gelmektedir.
  • Arduino Mini kartı , Pro Mini ile neredeyse aynı olup sadece Breadboard üzerinde kablolama imkanı sunmaktadır.
  • LilyPad. Arduino’nun giyilebilir teknoloji için özel olarak tasarladığı bir kart, değişik pin tasarımı ve dikilebilir yapısı ile amaca özel olarak tasarlanmış bir Arduino modelidir.
  • Arduino DUE kartı diğer kartlardan çok daha farklı olup 32 Bit işlemciye sahip ilk Arduino modelidir. Üzerinde ARM mimarisine sahip 32 Bitlik işlemci vardır. Bu, diğer Arduino kartlarına göre çok daha fazla veri işleyebildiği anlamına gelmektedir. Yapı olarak Arduino Mega ile aynıdır.
  • Arduino Leonardo modeli pin yapısı olarak Uno’ya benzemektedir. Uno’dan en büyük farkı üzerinde dahili bir serial dönüştürücü olmamasıdır. Bunun sebebi Leonardo üzerinde bulunan Atmega32u4 işlemcisinin kendi pinleri vardır. Kullanım olarak Uno’dan bir farkı yoktur.
  • Arduino Esplora yapı olarak diğer modellerden farklıdır, biraz daha kumandaya benzemektedir. Esplora’nın yapılış amacı Arduino’ya yeni başlayanlara çeşitli sensörlerin kullanımını öğretmektir. Üzerinde çeşitli sensörler, Joystick ve farklı elektronik komponentler bulunmaktadır.
  • Arduino YUN, üzerinde dahili olarak hem ethernet hem de WiFi modülü içermektedir. Kartın üzerinde hem bir Atmega mikroişlemci hem de Linux mikroişlemci bulunmaktadır. Host özellikli, Linux işlemciye bağlı ikinci bir USB portu bulunmaktadır. Kartın hafızası harici bellek ile artırılabilmektedir.

Arduino’nun Dezavantajları

Arduino modellerinin büyük bir kısmının “CPU Speed” kısmının 16Mhz gibi yavaş bir hız olduğunu görebilirsiniz (Sadece Arduino DUE  32-bit ARM çekirdek mikro denetleyicisi – Çalışma frekansı 84 MHz  ).  Arduino’yu yüksek hız gerektiren uygulamalarda istenileni verememektedir. Bu nedenle hız gerektiren uygulamalarda farklı yöntemlere başvurulmaktadır.

Led  Bağlantısı İçin Hangi Direnç Seçilmeli

Ledlerin çalışma voltajı ve çektikleri akımlar

Kırmızı LED için yaklaşık 1,8V-15mA
Sarı LED için yaklaşık 2V-15mA
Yeşil LED için yaklaşık 2,2V-15mA
Mavi ve Beyaz LED için ise  yaklaşık 3V-30mA’dir.

Led Direnci Hesaplama

Kırmızı LED için yaklaşık 1,8V-15mA

Kırmızı led için R= (5v-1.8v) / 0.015A = 3.2/0.015= 213 Ohm çıkar.

Piyasada 213 ohm direç bulamazsınız. Bunun yerine 220 ohm ve 330 ohm gibi yakın değerlerdeki dirençler kullanılır.

 

Benzer Yazılar

YAZAR : Admin

- Elektronik Mühendisi - E.Ü. Tıp Fakültesi Kalibrasyon Sorumlusu Test kontrol ve kalibrasyon sorumlu müdürü (Sağ.Bak. ÜTS) - X-Işınlı Görüntüleme Sistemleri Test Kontrol ve Kalibrasyon Uzmanı (Sağ.Bak.) - Usta Öğretici (MEB) - Hatalı veya kaldırılmasını istediğiniz sayfaları diyot.net@gmail.com bildirin

BU YAZIYI DA İNCELEDİNİZ Mİ ?

Arduino Sözlük

Accelerometer Hızlanmayı ölçen bir sensör. Bazen, yönlendirmeyi tespit etmek veya eğmek için kullanılırlar. Access Point …

Bir yanıt yazın