Arduino ile Led Yakma Uygulaması

Arduino mikrokontrolcüsü ile bu yazımda led yakma uygulaması yapacağız. Led yakma uygulamaları mikrokontrolcüleri kullanmayı ve kodlamayı öğrenirken yapılan ilk uygulamadır. Arduino ile yapabilecek çoğu uygulamanın çalışma mantığı led yakma uygulamasının çalışma mantığı ile aynıdır. Öncelikle led elemanının ne olduğundan başlayalım.

Led Nedir?

Led, ışık yayan diyottur (light emitting diode). 1960′ lı yıllarda geliştirilen yarıiletken teknolojisi ile ışık yayan diyotlar üretilmiştir. Anodu ve katodu olan bir diyottan ibaret olan ledler anod-katod arasına uygulanan gerilim altında üzerinden akım geçirdiğinde ışık yayarlar.


İki bacaktan oluşan ledlerde uzun bacak anot, kısa bacak ise katottur. Anot kutbu + kutup olduğu için gerilim kaynağı anot kutbuna bağlanır. Katot kutbu – kutbu olduğu için ground hattı katot kutbuna bağlanır.


Kullanılacak Malzemeler

Arduino ile led yakma uygulamasında aşağıdaki malzemeleri asgari olarak kullanmalıyız. İsteğimize bağlı olarak farklı devre senaryolarında kullanılacak malzeme çeşidi ve sayısı artabilir.

  • 1 adet Arduino UNO
  • 1 adet breadboard
  • 1 adet LED
  • 1 adet 220 ohm direnç
  • 2 adet erkek-erkek jumper

Devre Şemasının Oluşturulması

Bu projede mikrokontrolcü olarak Arduino UNO geliştirme kartını kullanacağız. Dijital pini olan farklı bir Arduino modeli de kullanılabilir.

Arduino’ nun dijital pinlerinden istediğimiz bir pinini seçelim. Ledin anot bacağı ile seçtiğimiz dijital pin arasında akım sınırlayıcı direnç olacak şekilde bağlantımızı yapalım. Sonrasında devreyi tamamlamak için ledin katot bacağını Arduino’ nun GND pinine bağlayalım

Arduino’ nun dijital pini, lojik-1 çıktısı alındığında 5V gerillim kaynağı görevi görür. Bu durumda akım sınırlayıcı direncin değeri V = I x R yasasından yararlanarak bulunabilir. LED üzerinden geçecek olan akım değeri doğrudan LED’ in parlaklığı ile orantılıdır. Düşük bir akımın geçmesi sönük bir LED’ e sebep olabilir. Bu durumda en ideal direnç değeri 220 ohm ve 330 ohm gibi değerlerdir.



Yukarıdaki devre şemasında da görüldüğü üzere Arduino uygulamalarını breadboard üzerinde çalıştırabiliriz. Şimdi yukarıdaki devrenin istediğimiz gibi çalışabilmesi için gerekli kodları yazıp Arduino kartımıza kendi IDEsi aracılığıyla yüklemeliyiz.

Yazacağımız kodlar bizim oluşturacağımız devre senaryosuna göre farklılık gösterebilir. Hangi durumlarda LED’ in yanmasını ve sönmesini istiyorsak o duruma göre kodları yazmalıyız.

Sürekli Yanan LED Devresi için Kodlar

Dijital pinlerden birine bağlı bir LED’ i sürekli yakabilmek için ilgili pini OUTPUT olarak tanımlayarak HIGH komutu ile yanması sağlanmalıdır. LED’ in sönmesi için herhangi bir komut yazılmadığı takdirde sonsuz döngü içerisinde LED, devrenin enerjisi biteceği zamana kadar ya da dışarıdan müdahale edilene kadar yanacaktır. İlgili kod aşağıdadır.

void setup()
{
  pinMode(7, OUTPUT);
  //7 numaralı pin output olarak tanımlandı
}

void loop()
{
  digitalWrite(7, HIGH);
  //7 numaralı pine 5V uygulandı
}

Yukarıdaki kod Arduino UNO kartına yüklediğinde 7 numaralı pine bir direnç ile bağlı olan LED’ in sürekli olarak yandığı gözlemlenir.

Yanıp Sönen Led Devresi için Kodlar

Yanıp sönen LED uygulamasının doğru bir şekilde çalışabilmesi için LED’ in yanmasını sağlayan HIGH komutu ve sönmesini sağlayan LOW komutunun arasına istenilen miktarda zaman gecikmesi konulmalıdır. Bu zaman gecikmesi Arduino standart kütüphanelerinde tanımlanan delay fonksiyonu ile sağlanabilir. delay fonksiyonunun içerisine yazılacak olan parametre milisaniye cinsinden yazılmalıdır. Aşağıdaki örnekte 1 sn. aralıklarla yanıp sönen LED devresinin kodları verilmiştir.

void setup()
{
  pinMode(7, OUTPUT);
  //7 numaralı pin output olarak tanımlandı
}

void loop()
{
  digitalWrite(7, HIGH);
  //7 numaralı pine 5V uygulandı
  delay(1000); 
  //1 sn bekleme
  digitalWrite(7, LOW);
  //7 numaralı pine 0V uygulandı
  delay(1000);
  //1 sn bekleme 
}

Yukarıdaki kod Arduino UNO kartına yüklediğinde 7 numaralı pine bir direnç ile bağlı olan LED’ in 1 sn. aralıklarla yanıp söndüğü gözlemlenir.

Yorum bölümünden tüm sorularınızı bana iletebilirsiniz.

Çalışmalarınızda başarılar dilerim.

Hamit Can Dinç.

Leave a Reply

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir


The reCAPTCHA verification period has expired. Please reload the page.