Merhaba arkadaşlar. Arduino serimizdeki ilk uygulamamızda LED yakıp söndürmeyi öğreneceğiz.

Gerekli olan malzeme listesi

 

LED Nedir?

LED, ışık yayan diyot anlamına gelen Light Emitting Diode sözcüğünün baş harflerinden oluşan bir kısaltmadır. Alışık olduğumuz ve çoğu projemizde kullandığımız 6V ile çalışan ufak ampullerin aksine LED’lerin anot ve katot olmak üzere iki farklı bacağı vardır. Bunlardan anodu pozitif gerilime yani + uca,  katot ise negatif gerilime yani – uca ya da toprak hattına (GND, Ground) bağlanmalıdır.

(Enerji akımı bildiğiniz gibi + ANOT uçtan – KATOT uca gerçekleşir.)

Gerilim, Akım ve Ohm Yasası

Çeşitli devre elemanlarının farklı gerilim yani voltajlarda çalıştığını biliyoruz. Arduino kartımız ise 5V gerilimle çalışmaktadır.

LED’imiz için ise bu durum biraz farklıdır. LED’in üzerinden geçecek maksimum akımın 20 mA (miliamper = amperin 1000’de 1’i) değerini geçmemesi gereklidir. Arduino’muz 5V ile çalışıyor demiştik. 5V değeri bize kartın çıkış gerilimini ifade etmektedir. Fakat LED 20 mA akıma ihtiyaç duymakta. Sanırım işler biraz karışmaya başladı. Korkmaya gerek yok! Her şeyin bir çözümü var 🙂

Eğer LED’imizi Arduino’ya doğrudan bağlayacak olursak, LED üzerinden kartın sağlayabileceği maksimum değerde akım geçecek ve LED’imiz veya kartımız bozulacaktır. Bunun için akım sınırlayıcı bir direnci LED’imize seri olarak bağlamamız gerekmekte. Peki bu direncin değeri nasıl belirlenecek? İşte burada Ohm Kanunu dediğimiz denklem devreye giriyor:

= i x R

Bu denklemde V bize gerilimi, i akımı ve R ise direnci temsil ediyor. Eğer 20 mA akıma ihtiyaç duyan LED’i,  Arduino’muzun 5V çıkış sağlayan pinlerinden birine bağlayacak olursak;

5V = 0,020A x R

Denklemini elde etmiş oluruz. Bu denklemden R’yi çekecek olursak sonucu 250 buluruz. Bu demek oluyor ki LED’imizi 5V gerilimle kullanmak için 250 Ω (ohm) değerinde bir dirence ihtiyacımız var. Tam değeri doğru tutturmamız çok önemli değil, elimizde mevcut olan 220 Ω’luk direnci kullanabiliriz.

Bu kadar teorik bilgi şimdilik yeterli 🙂 Şimdi sıra Arduino programımızı hazırlamakta.

İlk dersimizde Arduino’yu tanıtırken, kart üzerinde 13 numaralı pine bağlı bir LED olduğundan bahsetmiştik. Bu LED’i yakıp söndürmek için herhangi bir ekstradan dirence ihtiyaç duyulmaz; direnç zaten kart üzerinde mevcuttur.

Arduino programımızı açıyoruz. Şu sırayı takip ederek “Blink” isimli örnek programı açıyoruz:

Dosya > Örnekler 01.Basics > Blink

Bu kodu beraber inceleyelim:

pinMode(13, OUTPUT);

Bu satır, kart üzerindeki 13 numaralı pini çıkış verecek şekilde ayarlıyor. Kullanacağımız pin çıkış veya giriş olarak belirlenmez ise programın devamında yazacağımız giriş veya çıkış fonksiyonları, o pini kullanamaz.

digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);

Bu kısım ise öncelikle 13 numaralı pine HIGH lojik seviyesine, yani 5V’a ayarlıyor, 1000 milisaniye (1 saniyeye eşittir) hiçbir işlem yapmadan bekliyor ve bu sefer 13 numaralı pini lojik LOW yani 0V veya toprak hattı seviyesine ayarlıyor. Bu işlemi yaptıktan sonra mikokontrolcü, delay fonksiyonu sayesinde tekrardan 1 saniye hiçbir işlem yapmadan bekliyor.

Bu koddaki delay komutlarının sürelerini değiştirerek LED’in açık ve kapalı kaldığı süreleri değiştirebiliriz. Eğer başka bir pin kullanmak istersek tek yapmamız gereken pinMode ve digitalWrite fonksiyonlarında bulunan pin numarasını kullanmak istediğimiz pin numarası ile değiştirmek. LED’imize 220 Ω’luk bir direnci seri bağlamayı unutmuyoruz!

Bu ders de bu kadar gençler en yakın zaman da RGB led den bahsedeceğim…