Yeni Başlayanlar için Arduino Tavsiyeleri

Spread the love

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

Uno r3 Atmega328 Çipli

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

5mm led bağlantısı

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.