Arduino İle Çoklu LED Uygulaması

Bu serimizin 3. yazısında çoklu LED ile farklı şekillerde yakıp söndürmeler yapacağız.

Öncelikle bize lazım olan malzemeler:

Coklu-LED

Yukarıda görüldüğü üzere LED lerimizi breadboard üzerine sırasıyla diziyoruz. Eksi (katot) uçlarına dirençleri bağlıyoruz. Dirençlerin diğer bacaklarını ise breadboardın eksi hattına bağlıyoruz. Dirençlerin uzun olan artı (anot) bacaklarını ise kablolarıla Arduino‘muzun dijital 4-12 pinlerine sırasıyla bağlıyoruz.

Opsiyonel olarak 13 ve GND arasına bir LED daha ekleyebilirsiniz.  Breadboard (-) bağlantı noktasından Arduino GND bağlantı noktalarından birine bağlantı yapıyoruz. Aşağıdaki kodu Arduino IDE‘mize yazıp çalıştırıyoruz.

void blink(int LEDPin, int LEDOnTime, int LEDOffTime) // LED yakıp sönme fonksiyonu
{
 digitalWrite(LEDPin, HIGH);
 delay(LEDOnTime);
 digitalWrite(LEDPin, LOW);
 delay(LEDOffTime);
}

void setup(){
 //LED pinlerini ayarlıyoruz - Dijital 4-12 arası
 for(int i=4; i<13; i++){ pinMode(i, OUTPUT);}
}

void loop(){
 birAtlat(1); // Parametreler kaç tekrar yapacağını gösteriyor
 karisik(1); 
 azalanHizda(1); 
}

void birAtlat(int tekrar){
 for(int k=1; k<(tekrar+1); k++){
   for(int i=4; i<13; i=i+2){
   blink(i,200,20); 
 }
 for(int i=11; i>3; i=i-2){
   blink(i,200,20); 
 }
 } 
}

void karisik(int tekrar)
{
 for(int k=1; k<(tekrar+1); k++){
   for(int j=1; j<257; j=j+j){
     int LEDCounter=1;
     int LEDYak=1;
     for(int ledPin=4; ledPin>3 && ledPin<14; ledPin=ledPin+LEDCounter){
      if(LEDYak){
        digitalWrite(ledPin, HIGH);
        delay(j);
      }else{
        digitalWrite(ledPin, LOW);
        delay(j);
      }
      if(ledPin>12){
      LEDCounter*=-1;
      LEDYak=0;
      }
     }
   }
 }
}

void azalanHizda(int tekrar)
{
 for(int k=1; k<(tekrar+1); k++){
   for(int j=1; j<257; j=j+j){ // LED yanma süresini artırıyoruz
     for(int i=4; i>3 && i<13; i++){ // LED leri sırasıyla
     blink(i, j, 30); //yakıp söndürelim
     }
   }
 }
}

blink fonksiyonu parametreleri ile verilen süre içinde LED’i yakıp söndürme işi yapmaktadır.

Diğer farklı LED yakma yöntemleri üç ayrı fonksiyon içinde tanımlanmıştır. İçindeki değerlerle oynayıp farklı sonuçlar alabilirsiniz.

Videosu: