1-) Gelecek İçin Bir LED Yak!


     Cümleten Selamın Aleyküm, çok şükür biraz uzun sürsede sonunda Arduino kartımı alabildim :) Şimdi elektronik projelerinin en önemli uygulamasını yapıcaz, bir LEDi belirlediğimiz aralıklarda yakıcaz ve söndürücez. Bu uygulamayı hiç küçük görmeyin, şuan o bilgisayarlarınızı telefonlarınızı yapan mühendislerde büyük ihtimalle bu işlere böle başlamıştır.

      Eğer ilk yazımı okuyanlar arasındaysanız resimdeki kart belki size farklı gelebilir hemen o konuya bi açıklık getirelim :) ilk yazımda paylaştığım kart Arduino Uno modeliydi, benim aldığımsa Arduino Mega 2560. Bu iki kart arasındaki farklara gelicek olursak sadece pin sayısı diyebilirz. Aslında bir kaç farklılığı daha var ama ben ve siz gibi yeni başlayanlar olarak bizi ilgilendiren farklılığı bu. (Kartın boyutunuda anlayın diye yanına 10 kuruş koyup resmini çektim, fakirliğin gözü kör olsun 1  liram bile yok :D )

Neler Gerekli?

* Arduino Uno/Mega
* Arduino Yazılımı
* 5mm LED veya LEDler
* 470 Ohm Direnç
* Jumper Kablo Seti
* Breadboard

     İlk uygulamamız olduğu için kullanıcağımız şeyleri ufak ufak tanıtmaya çalışıyım. Arduinoyu önceki yazımızda uzun uzun anlattığım için anlatmıcam, ilk olarak Arduino yazılımı nerden indirceğinizi ve bilgisayara kartı nasıl bağlıcamızı anlatıyorum.


**Arduino Yazılımı**
     Önceki yazımızdada dediğimiz gibi Arduino açık kaynaklı bir yazılım olduğu için çok şükür crack le filan uğraşmamıza gerek kalmadan direk Arduino'nun orjinal sitesine girip yazılımı yükleyelim ( www.arduino.cc ) Ben bu yazıyı yazarken en güncel sürüm Arduino 1.5.6-r2 BETA. İndirme sayfasına girince orda size hangi sürümü indirmek istediğiniz sorulacak, burdan en güncel sürüme tıklayın, sayfa otomatik olarak biraz aşağıya kayıp o sürümün olduğu bölüm gelicek. Burda Windows kullanıcıları için 2 seçenek sunuluyor. Siz Windows Installer yazanı indirin, yaklaşık 60-70mb byuta sahip. Programı indirdikten sonra kurarken kurulum esnasında size bazı şeyler sorulabilir bunların hepsini kabul edin. Daha sonra kartımızı usb kablosu ile bilgisayarımıza bağlayalım, internetten okuduğum kadarıyla kartı bilgisayara bağladıktan sonra bazı işlemler yapmak gerekiyodu ama ben hem Windows 7 hemde 8 bilgisayarda denedim internette yazan meseleleri yapmadan bilgisayarlarım kartı tanıdı. Büyük ihtimalle son yazılımda bazı iyileştirilmeler yapıldı.

**LED**
     LEDi anlatmaya gerek yok heralde :) bilerek 5mm LED diye yazdım, mantar LED diye isimlendirilen çeşitleride var almak için satıcıya gittiğinizde direk 5mm şu renkte LED istiyorum diyin.

**Direnç**
     Dirençleride ilk okul derslerinden hatırlıyosunuzdur, açıkçası aklıma bi tanım gelmedi ama ne işe yaradığını hepimiz biliyoruzdur heralde :D olmazsa google amcadan yardım alırsınız :)

**Jumper Kablo Seti**
     Bu kablo setinin asıl özelliği birilerinin bizim yerimize küçük küçük kablolar kesip bunların ucunu bizim tırnağımızla koparmamıza veya dişimizle kemirmemize gerek olmadan güzelce başlıklar takmış olması. Bu kablo seti gerçekten önemli diyebilirim, ben bu işler için ilk alışverişime gittiğimde jumper kablo seti malzemeleri alıcağım yerde yoktu bende onun yerine metresi 10kuruşa 3 metre farklı renklerde kablo almıştım, kabloyu alıp evde deneyincede içimden enayiler niye bu sete para veriyo metresi 10kuruştan al 10metre tepe tepe kullan demiştim kendi kendime :D ama dün akşam itibariyle hatamı anladım, bi uygulamada çok fazla kablo gerekliydi ve o kadar çok kabloyu kes uçlarını kemir filan baya uğraştırıcı ve insanı yaptığı işten soğutuyo, setin 10 lira gibi bi fiyatı var ama bence kesin alın.

**Breadboard**
     Sıra geldi yazılışını bir türlü öğrenemedim zamazingoya, hala google amcaya yazıp ordaki önerilerde olan ismi kopyala yapıştır yapıyorum :D şimdi arkadaşlar bu aletin üzerinde bi ton pin var biz devre elemanlarımızı ve kablolarımızı buna bağlıyoruz buda kablolar ve devre elemanları arasında iletişim kurulmasını sağlıyo. Şimdi bu alette bazı deliklerin arasında resimde görüldüğü gibi bir bağlantı var örneğin resimde görülen 15 numaralı sütunu gösteren kutuda siz her hangi 2 pine kablo bağlarsanız bu kablolar birbirine bağlanmış olur. Yani dikey pinler yani sütunlar birbirleriyle iletişim içindedir. Ama ortadaki yeşil çizgiyle ayırdığım bölümlerin birbirine iletişimi yoktur, resimde iletişim şeklini anlayabilmeniz için birbirlerine bağlı olan pinleri kutu için aldım.


Evet az çok devre elemanları hakkında bilgi verdikten sonra şimdi ilk uygulamamıza yavaş yavaş geçelim.

Şimdi ilk olarak programımızı açalım, karışımıza resimdeki gibi bir ekran gelicek.


     Şimdi bu ekrandaki bölümlerin ne işe yaradıklarını anlatarak başlıyım, arduino programı 2 bölümden oluşur ilk bölüme yani void setup yazan kısma 1 kere kullanılacak şeyler yazılır yani karta elektriği verdikten sonra 1 kez yapılır. Bu uygulamamızda biz 42 numaralı pin'e bir LED bağlıycaz ve karta dicezki sen bu ledi bilmem kaç saniye yak bilmem kaç saniye söndür. Şimdi void setup bölümüne ne yazıcaz demi? Bu kartta normalde pinler kapalıdır biz bi uygulamada pin'i kullanabilmek için o pini açmamız ve o pini ne olarak kullanıcağımızı programın void setup bölümünde belirtmemiz gerekir. Bunu belirtmek içinde

``pinMode(42, OUTPUT);``
yazıyoruz.

DİKKAT:Program büyük ve küçük harflere duyarlıdır kod'da yazan harflerden birini yazanın aksine büyük veya küçük yazarsanız yazdınız kod çalışmaz.

     Şuanlık 42 numaralı pini açtık ve bu pini bir çıkış pini olarak bildirdik, biz hangi uygulamada pini çıkış hangisinde giriş olarak bildirmeliyiz derseniz şöyle düşünün biz napıcaz LEDe elektrik vericez yani karttan bişeyler çıkıcak ve LED yanıcak :)

void setup bölümündeki işimiz bitti, şimdi void loop kısmına geçelim;

     void loop kısmına karta elektrik verildiği müddetçe çalışmasını istediğimiz şeyleri yazıyoruz, yani kısaca bir döngü oluşuyo, son yazdığımız kod görevini yaptıktan sonra yine ilk kod tekrardan başlayıp bir döngü oluşuyo, ufak ufak başlamak ve kafamız karışmasın diye şuanlık fazla detaya girmeden bu uygulamamızda bu bölüme neler yazıcağımızı anlatıyorum. Biz napıcaktık LEDi yakıp söndürcektik, yani 42 numaralı pin'e belli aralıklarda elaktirik gitmesi gerekiyo :) Mesela ne diyelim LEDe 1sn elaktirik gitsin yarım saniye gitmesin. Bunun için void loop kısmında digitalWrite(xxx, xxx) ve delay(xxx) fonksiyonlarını kullanıyoruz. digitalWrite(xxx, xxx) fonksiyonnunda parantez içindeki virgülden önceki bölüme hangi pin'e komut göndermek istediğimizi, virgül'den sonraki bölümeyse o pin'e elektrik göndermek istiyorsak ``HIGH`` elektrik göndermek istemiyorsak ise ``LOW`` yazıyoruz. delay(xxx) fonksiyonu ise yazdığımız yazılıma bekleme özelliği veriyor, mesela biz bu uygulamada digitalWrite(42, HIGH) yazıp 42 numaralı pin'e elektrik gönderdik sonra digitalWrite(42, LOW) yazıp elektriği kestik eğer ikisinin arasına bekleme koymazsak LEDe o kadar hızlı elektrik verilip kesilirki hiç birşey göremeyiz bu yüzden yazdığımız kodların arasına BU UYGULAMADA bekleme koymalıyız. Şimdi void loop bölümündeki kodu yazalım

digitalWrite(42, HIGH);
delay(1000);
digitalWrite(42, LOW);
delay(500);

     Şimdi ne dedik, 42 numaraya elektrik gönder sonra 1sn yani 1000ms bekle sonra 42 numaradaki elektriği kes ve yarım saniye yani 500ms saniye bekle dedik, void loop hatırlıcak olursak ne yapıyodu, karta elektrik verdiğimiz müddetçe yazdığımız görevleri bir döngü halinde tekrarlıyodu. Çok şükür kod yazma işimiz bitti, aşağıdaki ekrandaki gibi bir görüntü ortaya çıkması gerek. (Ekran görüntüsüne bazı açıklamalar yazdım onları okuyun, resmin üstüne tıklarsanız büyümesi gerek)


     Şimdi devremizi breadboard üzerinde kurulmuş halini resmini atıyorum. (Resmi fritzing isimli programda hazırladım, bu yazı zaten baya uzadı onu anlatmıyorum, ücretisiz ve türkçe bir yazılım indirip kurcalarsanız sizde aşağıdaki resmin aynısını yapabilirsiniz.)


     Şimdi biz bu breadboard üzerinde ne yaptık. LEDin + bacağını 470 Ohm direnç üzerinden 42 numaralı pin'e bağladık, - bacağını ise GND yazan pin'e yani toprağa bağladık. LEDin uzun bacağı + uçtur resimde dikkat ederseniz bir uç kıvrımlı yani daha uzun, benim aldığım LEDlerde kıvrım yoktu direk uzundu biri, aldığınız yere göre değişebilir.
     Ve sonunda ilk uygulamamız tamamlandı uygulamanın gerçek hayatımızdaki videosu aşağıda :)


Eğer bir sorunuz olursa sorabilirsiniz...

5 yorum:

  1. Ellerine sağlık, çok sade bir anlatım olmuş...

    YanıtlaSil
  2. Çok teşekkür ederim harika olmuş,vermiş olduğun bu emek için ayrıca teşekkür ederim faydalı bir emek...

    YanıtlaSil
  3. Emeğine sağlık. süper ve sade anlatım...

    YanıtlaSil