Yeni Başlayanlar için Arduino Tavsiyeleri
|Arduino nedir ? Nasıl kullanılır ? Bir yerden başlamak istiyorsunuz ve nereden başlayacağınız bilmiyorsanız tam yerindesiniz, lafı uzatmadan çok detaya girmeden ayrıntılara geçelim.
Arduino açık kaynak kodlu ( yani arkaplanda neler döndüğünü biliyoruz, müdale edebiliyoruz fakat bu derinlere inmemize gerek yok) üzerinde digital ve analog çıkışların olduğu bir elektronik kart.
Arduino ile neler yapabiliriz ? Neden Arduino ? işin mantığı nedir ?
Bundan 5-6 sene önce Arduino bu kadar popüler değilken de elektronik devreler tasarlanıyordu, robotlar yapılıyordu fakat bu kadar kolay değildi. Arduino çok basitçe programlama ile elektroniği birleştirdi, bilgisayarda C diline benzer fakat kütüphanesinde daha basit foksiyonlarının olduğu yazılımı ile birlikte ortaya çıktı, bilgisayardan programlanan kart basitçe input(giriş) output(çıkış) pinlerinden bir şeyleri açıp kapatabiliyor, LCD lere çıkış verebiliyor, nabız ölçülebiliyor, GPS modülü ile konum bilgisi alınabiliyor ve daha neler neler..
Dolasıyla PIC’li bir entegreyi progamlayıp onun çalışması için gerekli çeÅŸitli kondansatörleri vs baÄŸlamadan, bunların lehim iÅŸleri ile uÄŸraÅŸmadan, hatta baskı devre vs çıkarmaya uÄŸraÅŸmadan, sadece yazılıma yoÄŸunlaÅŸarak uzun zamanda aşılabilecek problemler kısa süreli çözümlerle buluÅŸtu.
Bu geliÅŸime modül dediÄŸimiz kartlar da uyum saÄŸladı, eskiden pir sensör tek sensör olarak alınır devresi kurulması gerekirdi ÅŸimdi pir sensörün sensörü gerekli ekipmanları ile bir kart haline getirilmiÅŸ digital ya da anolog bir çıkış veren modül haline gelmiÅŸ durumda. Bu geliÅŸmelerde Arduino’nun popularitesini desteklemeye devam ettii.
Elektronik bilmeden programlama ile müthiş elektronik şeyler yapma devri başlamış oldu.
Burada Arduino’nun açık kaynak kodlu olması ve farklı markalarda kartlar çıkarmasına da olanak saÄŸlaması geliÅŸmeyi çığ gibi büyür konuma getirirken ÅŸu an geldiÄŸimiz noktada yüzlerce modül, yüzlerce arduino türevi kart piyasada dolanmaya baÅŸladı.
Bu arduino ile herşey yapılabilir !!! demek değildi, mesela gerçek zamanlı veri aktarımı yapamazsınız çünkü o kadar güçlü değil, üzerine linux windos vs kuramazsınız, yüksek performans ve hız isteyen işler için arduino yeterli değildir. Güç gerektiğinde Raspberry Pi gibi güçlü kartlara yönelmekte her zaman fayda vardir
Bu uzun girişten sonra hangi kartı seçmeliyim derseniz benim favorim arduino micro fakat şu an piyasada çok aktif olarak bulunmuyor. Sonra duino nano daha sonra da tabiki en popüler kart Arduino Uno
Bu nokta da Pro Mini’ye kucuk bir parantez acmak lazım çünkü Onun yeri gönüllerde ayrı. O kadar kücük ve hafif ki insanın aklı bazen almıyor.
Bizde dönemin popüleri Uno ile devam edeceğiz, öncelikle şunu söylemekte yarar var bu kartların orjinalleri ile klonları arasında teknik olarak pek fark yok, belki malzeme kalitesi farkedebilir, o da yapacağınız işe göre değişir. Ch340 chipli cihazlar (pc ye bağlanmak için kullandığı arayüzün entegresidir bu, bu entegre windows ortamında driver ister, aynı şekilde diğer arayüzlerde de) driver gerektirir, diğerlerinde ft232 gibi kolay bağanan bir chip olduğu için windows direkt olarak tanır ve çalışır, genelde bilgisayara bağlayamama gibi problemler ya Mac bilgisayarlarda çıkar yada ch340 çipinin uygun driverı yüklenmemiştir.
Biz atmega328 dip soketli Arduino Uno üzerinden yazımıza devam edelim, yakışıklının resmi de aşagıda

Yukarıda resmini gördüğünüz model dip kolayca bağlanan ve orjinaline en yakın arduinodur bu Arduino sahte değil klondur. Açık kaynak kodlu olduğundan türevlerini üretmek serbest ve aslında üstüne Arduino yazmak yasaktır fakat vahşi kapitalizm ve çinlilerin akıl almaz üretim potansiyelleri nedeniyle üzerinde Arduino yazmayan klon yoktur.
Öncelikle linkteki yerden arduino baÄŸlantı programını bilgisayarınıza indirin, sonrasında file – examples – 01 basics – blink seçerek en basit baÅŸlangıç dosyasını bilgisayarınızda açın şöyle bir ekranınız olmalı

daha sonra usb ile Uno’yu bilgisayarınıza baÄŸlayın, tools altında board kısmında uygun kartı seçin biz arduino genuino uno seçeceÄŸiz. Sonra program içerisinden PORT seçmek için tools dan ports bölümüne gelin, bu bölümde farklı usb portları deneyerek ilgili cihazı bulmanız lazım, en çok hata bu bölümde olur
Muhtemel ve çözülmesi basit hatalar işte tam bu noktada başlar, bilgisayarım arduino kartı görmüyor? görüyor tam yüklerken hata veriyor ne yapmalıyım ? noktası tam burası. En soldaki tik işareti ile compile edin kodun, bu kodun doğruluğunu gösterir bağlantının başarısını göstermez eğer bir hata olmazsa sağ ok tuşuna (upload / yükleme ) basın herşey başarılı giderse aşağıda success tarzı bir şey yazması gerekiyor, diğer tüm hatalar muhtemelen porttan kaynaklanıyordur. Eğer ısrarla çalışmazsa olası çözüm USB kablosunu değiştirmek, uno kartı değiştirmek olabilir.

Şu aşamada eğer bir success aldıysanız ilgili kodu Uno üzerine yüklediniz, aslında size bir sır vereyim, tüm unolar bu kod yüklü olarak gelir dolasıyla kod üzerinde
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on
delay(1000); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(1000);
olan kısmı
digitalWrite(LED_BUILTIN, HIGH); // turn the LED on
delay(500); // wait for a second
digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
delay(500);
ile değiştirmek arduino üzerindeki ledin yanıp sönme süresini değiştereceğinden kodu gerçekten atıp atmadığınızı da görmenizi sağlar.
EÄŸer harici 5mm led eklerseniz

LED_BUILTIN yazan yerleri mutlaka 13 ile deÄŸiÅŸtirmeniz gerekir, öyle yapınki 13 numaralı çıkış açılıp kapansın ve harici baÄŸladığınız led yanıp sönsün. Led Builtin arduino boardlarının üstündeki küçük led’e programlanmıştır harici led gerektirmeden boardın program alıp almadığını görmek için. ÇoÄŸu board üzerinde hem 13 numaralı pini hem de kartın kendi smd ledini çalıştırabilir fakat öyle olmadığını farzedip digital pin deÄŸeri de girebiliriz.
ilk başarılı kodunuzu arduino üzerinden çalıştırdınız, arka planda ne oldu bu işin mantığı ne derseniz ?
Akıllı kartımız usb portunuzdan kartımıza 1ler ve 0lardan oluÅŸan bir veri gönderdi o veri Uno Kartımızın iÅŸlemcisinde yorumlandı ve ilgili pinler High ve Low fonksiyonları ile belli sürelerle açıldı ve kapandı, o süreyi belirleyen ise Delay fonksiyonuydu. Benzer bir devre belki 555 entegresi dirençler ve kondansatörler ile de yapılabilirdi fakat çok daha hızlı biçimde hiç elektronik bilmeden sadece yazılım bilgisi edinerek yapabildik, iÅŸte arduino’nun avantajı da bu.
Ürünleri nereden almak gerekiyor ? derseniz şu anda internetin tamamı Arduino ile dolu fakat Yeşilköy Elektronik hem ürün çeşitliliği hemde Istanbul Karaköy merkezde olması hemde 1-2 gün içinde internetten aldığım ürünlerin elimde olması nedeniyle bence mükemmel.