Rehber Nasıl Arduino öğrenebilirim / Arduino'ya nasıl başlarım?

Forumda bayağı bir konusu açılıyor, ben de bu konu hakkında bir rehber yapmaya karar verdim umarım faydalı olur.

Kısaca Arduino, mikrodenetleyici tabanlı elektronik projeler geliştirmek için kullanılan açık kaynaklı bir platformdur. Somut bir örnek vermek gerekirse siz yazarsanız o yönetmendir, siz senaryoyu yazarsınız o ise bu senaryoyu hayata geçirir.
Mikrodenetleyici, bir bilgisayarın temel bileşenlerini (işlemci, bellek ve giriş/çıkış birimleri) tek bir çip üzerinde barındıran küçük bir elektronik bileşendir.
Smd:
Bu genelde klon kartlarda kullanılır.

atmelsmd.jpg


Normal:

atmega.jpg

Arduino Uno.
Arduino Leonardo.
Arduino Pro Micro.
Arduino Mega gibi yapacağınız projeye göre seçmeniz gereken kartları vardır. Bu kartlar orijinal ve klon olarak piyasada satılmaktadır.

Peki Orijinal mi Yoksa Klon mu Almalıyım, İkisi Arasındaki Farklar Neler?

Gelin önce ikisi arasındaki farklara bir bakalım:

Fiyat

Klon: Genellikle orijinalden çok daha ucuzdur, çünkü markalaşma ve tasarım maliyetleri düşük tutulur.

Orijinal: Daha pahalıdır, çünkü İtalya'da üretilen orijinal donanım ve markanın desteği fiyatı yükseltir.


Kalite

Klon: Malzeme ve bileşen kalitesi orijinalden düşük olabilir. Özellikle lehimleme kalitesi, bileşen uyumu ve dayanıklılıkta farklılıklar görülebilir.

Orijinal: Daha kaliteli malzemeler ve yüksek üretim standartlarına sahiptir. Dayanıklılık ve uzun ömür açısından güvenilirdir.


USB ve CH340 Çip Farkı

Klon: Genellikle CH340 gibi daha ucuz USB-to-Serial çipleri kullanılır. Bu nedenle, bilgisayarınıza bağlamadan önce CH340 sürücüsünü manuel olarak yüklemeniz gerekebilir. Not: Ben şimdiye kadar hep klon kart kullandım ve bir kez bile sürücü yüklemek zorunda kalmadım.

Orijinal: Atmega16u2 gibi daha gelişmiş ve uyumlu USB-to-Serial çipleri kullanılır. Ekstra sürücü yüklemeye gerek kalmadan çoğu sistemle uyumlu çalışır.


Donanım Yazılımı ve Stabilite

Klon: Donanım yazılımı (Arduino'nun çalışmasını sağlayan sizin proje yazılımınızdan bağımsız olan yazılım) veya yazılımda sorunlar yaşanabilir, stabilite açısından bazı farklar olabilir.

Orijinal: Donanım yazılımı ve yazılım uyumluluğu daha iyidir, genellikle daha sorunsuz çalışır.


Peki Hangisini Tercih Etmeliyim?

Kendi kullanım ve tecrübelerimden yola çıkarak söylemeliyim ki klon kartı sadece fiyatından ötürü seçebilirsiniz. Çünkü bir orijinal Uno parasına bir klon Uno ve yanında da bir sürü komponent/sensör alabilirsiniz, kısaca bir set dizebiliyorsunuz.

Mesela kendimden örnek vereyim orijinal bir Uno kartı ortalama 800-1000 TL benim ise bu fiyata 3 klon Uno ve bir klon leonardo yanında da motor sürücüden tut Ldr'a Ldr'dan tut HC-SR04 ultrasonik mesafe sönsörüne SG90 servodan tut RFID kart okuyucu ve kartına, i2C LCD ekrandan tut 3x4 membran tuş takımına kadar var sayamayacağım kadar LED, buton ve dirençten bahsetmiyorum bile.

Orijinal almayın demiyorum ama yeni başlayacak biri için tavsiye etmiyorum bunun en büyük sebebi ise başlangıç aşamasında karta zarar verme ihtimaliniz de var ve bu fiyattaki bir karta zarar vermek istemezsiniz.


Klon Uno:

klon.jpg


Orijinal Uno:

orij.jpg

Herkesin öğrenme şekli farklı olabilir fakat yazılım alanında öğrenmenin en iyi yolu bir proje geliştirmeye çalışmaktır. Bu süreç içinde karşılaşacağınız hatalar, sorunlar kişi için çok önemli kısaca o süreç çok önemli karşınıza çıkan sorunları çözmeye çalışmanız, hataları araştırmanız size oldukça fazla şey katar.

Tabii direkt kart alıp proje yapın demiyorum önce biraz öğrenmeniz lazım.

  1. Robo90 Arduino Kursu: bu kursu ilk sıraya koymamın sebebi hem anlatımının çok güzel olması hem neredeyse her videonun açıklamalar kısmında örnekler olması hem de benim Arduino'yu öğrendiğim kurs olması.
  2. Robotistan'ın Arduino Dersleri: bu kurs da bayağı eski ama örnek projelerle desteklenmiş. Ama bana göre robo90'ın kursu daha iyi bir içeriğe sahip.
  3. Lezzetli Robot Tarifleri'nin Arduino Tarifleri: bu kursu yine robo90 kursunu çeken Ömer Faruk Uçar çekmiştir ama robo90 ve robotistan kursuna göre çok eski bir kurs.

Bu kurslardan birini seçip öğrenmeye başlayabilirsiniz benim önerim elbette birinci kurs bu kursta ilk videolar için sadece bir Arduino yeterli, bu kurslardan birini bitirdikten sonra Arduino ile asgari düzeyde her projeyi yapabilecek seviyeye gelirsiniz.

Kendinizi geliştirme sürecinizde araştırma yapmak çok önemlidir; kafanıza takılan bir konuyu, unuttuğunuz bir fonksiyonun ne işe yaradığı bunları muhakkak araştırıp öğrenin bu araştırmayı yapacağınız en iyi yer Arduino'nun kendi sitesinin dökümanlar kısmıdır fakat ingilizcedir, diğer alternatif yer ise yapay zekalardır ama yapay zekalarda şöyle bir sıkıntı var verdikleri bilgi her zaman güvenilir olmayabiliyor ama şahsen ben küçük proje ve kodlarda sorun yaşamadım, yapay zekanın en büyük avantajı bir konuyu size hem detaylı açıklayıp hem de örnek kod verebiliyor olması ama dediğim gibi her zaman güvenilir olmayabiliyor.

Daha da gelişmek için küçükten başlayarak büyük projelere doğru yapmaya çalışın size birkaç proje önerisi de sunacağım.

Şu anki fiyata göre sıraladım ileride fiyatlar değişebilir her halükarda almadan önce yorumları inceleyin.
Bana sorarsanız ben parça adeti fazla olduğu ve LCD ekran olduğu için ikinci seti seçerdim ama o ekran için i2C modulü alıp lehimlemek gerekecek.


Basit:

  • 3 buton ve 3 renk LED kullanarak bir devre hazırlayın. Bir kod yazın atıyorum birinci butona basılı tutunca mavi LED yansın bırakınca sönsün, ikinciye basınca kırmızı ve üçüncüye basınca da sarı LED yansın bırakınca sönsün.
  • bir ldr ve bir LED kullanarak Ldr'nin üstü kapatılınca (karanlık olunca) LED'in yanmasını sağlayacak bir kod yazın.
  • bir potansiyor metre (pot) ve bir LED kullanarak bir kod yazın, potu çevirerek LED'in parlaklığını kontrol edin.
  • bir saat kodu yazın ve saati seri monitöre yazdırın.

Orta:

  • koşullu ifadeleri kullanarak eğer yaş 18 altı ise kırmızı LED, 18 ise sarı LED ve 18'den büyük ise yeşil LED'i yakın.
  • sadece tek bir analog PIN'i ve 3 butonu kullanarak (malzemeler tabii ki bu kadar değil :) ) 3 farklı LED'i bu tuşlara basarak yakın.
  • butona basınca LED'in yanmasını tekrar basınca ise sönmesini sağlayan bir kod yazın.

Zor:

  • orta seviyedeki ilk projeyi bu sefer koşullu ifade (if-else) kullanmadan yazın (hadi kopya vereyim bilmiyorsan araştır kanka :)
  • koşullu ifade kullanmadan; 5 LED'i, birinci butona basınca birinci LED yansın bu butona tekrar basınca birinci LED sönmeden ikinci LED yansın bu şekilde 5 LED'i de yakabilecek şekilde yazın kodu. Sonra ikinci bir buton ile de bunun tam tersini yapın bir kere basınca beşinci LED sönsün tekrar basınca dördüncü sönsün...
  • bir ldr ile 5 LED'i kontrol edin, ortam ışığı azaldıkça yanan LED sayısı da artsın karanlık olunca 5 LED de yansın. Tabii ki koşullu ifade (if-else) kullanmak yok :d
  • basit bir satranç saati modeli yazın, beyaz ve siyah olmak üzere iki tarafında varsayılan olarak 10 dakikası olsun. Bir anahtar kullnarak saati başlatın (bu anahtar açılınca beyaz tarafın süresi azalmaya başlayacak) birinci butona basınca beyazın süresi dursun ve siyahın süresi akmaya başlasın, ikinci butona basınca ise siyahın süresi dursun ve beyazın süresi azalsın. İki taraftan birinin süresi bitince de kazanan taraf söylensin ve tüm bu veriler de seri monitöre yazılsın ya da LCD ekrana bu size kalmış.
  • iki potansiyor metre ile 10 LED'i kontrol edin; ilk pot yanan LED'lerin sayısını arttırıp azaltabilsin diğer pot ise yanan LED'lerin parlaklığını kontrol edebilsin bu kodu koşullu ifade (if-else) kullanarak yazın.
  • üstteki projeyi bu sefer de koşullu ifade (if-else) kullanmadan yazın.
  • bir RGB LED'i tek bir pot ile kontrol etmeye çalışın, potu çevirdikçe renkler değişsin ama üç ana rengimiz (RGB) dışında ara renkleri de görebilelim. Bunun için iki ya da tüm renklerin parlaklıklarını da tek bir pot ile kontrol etmelisiniz.
  • 3x3 kare şeklinde butonlar dizin, bu butonları tek bir analog pin üzerinden okuyun. Bir tuş kombinasyonu belirleyin, eğer bu tuş kombinasyonu girilirse yeşil bir LED yansın ya da seri montöre "giriş izni verildi" yazsın ve bunun dışında girilen bütün kombinasyonlarda kırmızı LED yansın ya da seri monitöre "giriş reddedildi" yazsın.

Eğer bu konuyu faydalı bulduysanız bu tarz sorulara bu rehberi atabilirsiniz.
 
Son düzenleme:
Başlangıç seti almayın bence özellikle tanınmış e ticaret sitelerden. Onun yerine maker marketlerinden tek tek alırsanız daha uyguna gelir. Arduino uno r3 almayın alacaksanız r4 veya esp32 alın zaten ikiside esp32 destekli. Hiç olmadı Esp8266 alın bunlar arduino dan daha güçlü. Ama arduino 5v çıkışı varken esp32 ve Esp8266 da 3.3v var sadece
 
Başlangıç seti almayın bence özellikle tanınmış e ticaret sitelerden. Onun yerine maker marketlerinden tek tek alırsanız daha uyguna gelir. Arduino uno r3 almayın alacaksanız r4 veya esp32 alın zaten ikiside esp32 destekli. Hiç olmadı Esp8266 alın bunlar arduino dan daha güçlü. Ama arduino 5v çıkışı varken esp32 ve Esp8266 da 3.3v var sadece
Hocam, başlangıç için çok güçlü bir şeye ihtiyaçları yok. Öğrendikten sonra proje ihtiyacına göre kart almaları lazım zaten.

Öğrenme aşamasında kartın bozulma ihtimali olduğu için bu şekilde önerdim.

Ayrıca nereden alınırsa alınsın yorumların okunup ona göre alınması lazım, haklısınız Robolink Market gibi sitelerde daha ucuza geliyor ama bu sefer de kargo pahalı maalesef. Tabii direkt gidip şubelerinden alınırsa orası başka.
 
Hocam, başlangıç için çok güçlü bir şeye ihtiyaçları yok. Öğrendikten sonra proje ihtiyacına göre kart almaları lazım zaten.

Öğrenme aşamasında kartın bozulma ihtimali olduğu için bu şekilde önerdim.

Ayrıca nereden alınırsa alınsın yorumların okunup ona göre alınması lazım, haklısınız Robolink Market gibi sitelerde daha ucuza geliyor ama bu sefer de kargo pahalı maalesef. Tabii direkt gidip şubelerinden alınırsa orası başka.
Hocam benim başlangıcı raspberry pi zero 2 w ile yapıp Esp8266 alıp arduino uno r3 e geçmem dışında sıkıntı yok .d
 

Technopat Haberler

Yeni konular

Geri
Yukarı