ARDUINO DERS 5

LED UYGULAMALARI-1


BU DERSTE NELER ÖĞRENECEĞİZ?

Bu derste,

  • Birden fazla LED’i aynı anda kullanmayı ve
  • Yılbaşı ışıkları yapmayı
öğreneceğiz.

Önceki iki derste Arduino kullanarak LED yakmayı öğrendik. Bu derste LED sayısını artırarak, genelde yılbaşlarında süs olarak kullanılan kayan ışık uygulamasını yapacağız.

Aşağıdaki video’da uygulamayı çalışırken görebilirsiniz.

KULLANILAN MALZEMELER

Bu derste, 8 adet kırmızı LED ve 8 adet 150 Ohm direnç kullanıyoruz.

 
Arduino Uno R3 8 Adet Kırmızı LED 8 Adet 150Ω Direnç Bağlantı Kabloları (Jumper) Devre Tahtası (Breadboard)
Arduino Uno Kırmızı LED 150Ohm Direnç Jumper Breadboard
 

DEVRE

Önce kullanacağımız devreye bir göz atalım.

Ders 5 devre

8 adet LED yakıp söndüreceğimizden, 8 tane dijital port (2 numaradan 9 numaraya kadar olan portlar) kullanıyoruz. Her bir porta bir LED’in anot ucunu (uzun bacağını) bağlıyoruz. Tüm LED’lerin katot uçlarına (kısa bacaklarına) ise, akımı sınırlandırması için birer adet 150Ω'luk direnci bağlıyoruz. Her bir LED için ayrı bir direnç kullanmalıyız. Arduino’dan sinyal geldiğinde LED ve direnç çiftleri üzerinden akım geçebilmesi için, dirençlerin açıkta kalan bacaklarını Arduino’nun toprağına (GND) bağlamalıyız. Eğer, LED’e bağlı portlardan birinden 5V gelirse yaklaşık 2V’u LED, geri kalan 3V’u ise direnç üzerinde olacaktır. Böylece LED yanarken üzerinden 3V/150Ω=20mA’lik bir akım geçer ve bu akım, LED’in parlak yanabilmesi için yeterlidir. Aşağıda, devrenin kurulmuş halini görebilirsiniz.

Ders 5 gerçek devre

PROGRAM

void setup() {

pinMode(2, OUTPUT);// 2. dijital portu çıkış yap

pinMode(3, OUTPUT);// 3. dijital portu çıkış yap

pinMode(4, OUTPUT);// 4. dijital portu çıkış yap

pinMode(5, OUTPUT);// 5. dijital portu çıkış yap

pinMode(6, OUTPUT);// 6. dijital portu çıkış yap

pinMode(7, OUTPUT);// 7. dijital portu çıkış yap

pinMode(8, OUTPUT);// 8. dijital portu çıkış yap

pinMode(9, OUTPUT);// 9. dijital portu çıkış yap

}

 

void loop() {

digitalWrite(2, HIGH); // 2. dijital portu 1 yap

digitalWrite(3, LOW); // 3. dijital portu 0 yap

digitalWrite(4, HIGH); // 4. dijital portu 1 yap

digitalWrite(5, LOW); // 5. dijital portu 0 yap

digitalWrite(6, HIGH); // 6. dijital portu 1 yap

digitalWrite(7, LOW); // 7. dijital portu 0 yap

digitalWrite(8, HIGH); // 8. dijital portu 1 yap

digitalWrite(9, LOW); // 9. dijital portu 0 yap

 

delay(500); // Yarım saniye bekle

 

digitalWrite(2, LOW); // 2. dijital portu 0 yap

digitalWrite(3, HIGH); // 3. dijital portu 1 yap

digitalWrite(4, LOW); // 4. dijital portu 0 yap

digitalWrite(5, HIGH); // 5. dijital portu 1 yap

digitalWrite(6, LOW); // 6. dijital portu 0 yap

digitalWrite(7, HIGH); // 7. dijital portu 1 yap

digitalWrite(8, LOW); // 8. dijital portu 0 yap

digitalWrite(9, HIGH); // 9. dijital portu 1 yap

 

delay(500); // Yarım saniye bekle

}

setup

Yukarıdaki program, bir önceki dersteki LED yakıp söndürme programına oldukça benziyor. Tek farkı bir yerine 8 adet LED kullanmamız. Arduino’ya 8 adet LED bağladığımız için, dijital çıkışlardan seçtiğimiz 8 tanesini setup içerisinde pinMode komutuyla çıkış haline getiriyoruz.

Örneğin,

pinMode(2, OUTPUT);

satırı 2 numaralı dijital portu çıkış yapıyor.

loop

Portlarla ilgili yapılandırmayı bitirdikten sonra, programın yapacağı esas işi loop fonksiyonu içerisine yazıyoruz. loop fonksiyonu içerisindeki ilk 8 satırda, 2., 4., 6. ve 8. dijital portları 1 yaparak bu portlara bağlı olan LED’lerin yanmasını sağlıyoruz. Yine aynı satırlar içerisinde 3., 5., 7. ve 9. portları 0 yapıp, bu portlara bağlı olan LED’leri söndürüyoruz. Bu işlemleri yaptığımız zaman LED’ler aşağıdaki resimde gösterildiği durumda oluyor.

Ders 5 gerçek devre

Bir sonraki satırdaki

delay(500); // Yarım saniye bekle

komutu, Arduino’nun yarım saniye boyunca bu durumda beklemesini sağlıyor.

Sonraki 8 satırda ise, ilk 8 satırda yaptığımız işlemin tersini yapıyoruz. Başlangıçta çift sayılı portları (2., 4., 6. ve 8.) 1, tek sayılı olanları (3., 5., 7. ve 9.) 0 yapmıştık. Şimdi ise çift sayılı portları 0, tek sayılı portları ise 1 yapıyoruz. Böylece, sönük olan LED’ler yanıyor ve yanan LED’ler sönüyor.

Ders 5 gerçek devre

Son satırdaki

delay(500); // Yarım saniye bekle

Arduino’nun yarım saniye boyunca portlarda bir değişiklik yapmadan beklemesini sağlıyor.

loop fonksiyonu, içindeki satırlar işlendikten sonra her zaman başa döndüğü için, yarımşar saniye aralıklarla çift sayılı ve tek sayılı LED’ler sürekli sırayla yanıp sönüyor.

SİZ DE DENEYİN-ALIŞTIRMA

Programı, önce ilk dört LED, daha sonra ise son dört LED yanacak halde değiştirip, Arduino’ya yükleyin. Yanıp sönmeler arasındaki zaman farkını 200 milisaniye olarak seçiniz.

BİR SONRAKİ DERS


ARDUINO DERS-6 LED UYGULAMALARI-2

Bir sonraki derste, Arduino ile LED uygulamaları yapmaya devam ediyoruz. Bu defa makam arabalarının önünde bulunan çakarlardan yapıyoruz.


Copyright © 2016 DEVRE OKULUTüm Hakları Saklıdır.