Arduino

Arduino hız ayarlı led animasyon örnekleri

Tarafından yazılmıştır suatcicek

Arduinoya yeni başlayanların ilk yaptığı uygulama led yak ve söndür, yani blink uygulamasıdır. Ardından buton ile led yakma gelir. Bu iki uygulamadan sonra pek led yakma animasyonlarıyla uğraşılmaz.

Bu konumuzda sizlere led yakmaya yeni bir bakış açısı getirmeye çalışacağız. Led yakmanın bir tık ötesi, kendi tabirimle led animasyon dediğim 3 adet örnek uygulama göstereceğim. Bu üç uygulamada da led animasyonunun hızını bir potansiyometre yardımı ile kontrol edeceğiz.

3 adet led showunda da bütün bağlantılar aynı. Farklı olan sadece kodlardır . Şimdi bu showlar için öncelikle aşağıda bulunan şemaya göre bağlantılarımızı yapalım.

Bağlantılarını hatasız bir şekilde yaptıysanız sıra geldi kodlarımıza. Şimdi sizlere hangi kod ledlere nasıl bir animasyon veriyor birlikte vereceğim. Kodları kopyalayıp direk uygulamak kolayınıza gelebilir. Ama ben kodları aynı zamanda anlamanızı ve geliştirerek farklı uygulamalar yapmanızı tavsiye ederim.

ilk led showumuz aşağıdaki animasyondaki gibi:

Bu animasyonun kodları aşağıda yer almaktadır.

void setup() {

    pinMode(0, INPUT);
    
for(byte a=2;a<9;a++){
  pinMode(a, OUTPUT);

  }

}

void loop() {
  for(byte a=2;a<9;a++){
       for(byte x=2;x<9;x++){
                            digitalWrite(x, LOW);   }
                              digitalWrite(a, HIGH);

                                                   delay(analogRead(A0));
                                                  
    
       }
}

Bir diğer animasyon örneğimiz şu şekilde :

Bu animasyona ait kodlar ise şöyle :

void setup() {
  Serial.begin(9600);
    pinMode(0, INPUT);
for(byte a=2;a<9;a++){
  pinMode(a, OUTPUT);

  }
  digitalWrite(5,HIGH);

}

void loop() {
  digitalWrite(5,HIGH);
  delay(analogRead(A0));
  for(byte a=1;a<4;a++){
       digitalWrite(5+a, HIGH);
       digitalWrite(5-a, HIGH);
       delay(analogRead(A0));
}
delay(analogRead(A0));
 for(byte x=3;x>0;x--){
       digitalWrite(5+x, LOW);
       digitalWrite(5-x, LOW);
       delay(analogRead(A0));
}
digitalWrite(5,LOW);
delay(analogRead(A0));

}

Son olarak bana göre en güzel led animasyon şu şekilde :

Bu animasyonun kodları biraz karışık gözüksede sadece birkaç iç içe döngüden oluşuyor :

void setup() {
   pinMode(0, INPUT);
 for(byte a=2;a<9;a++){ 
  pinMode(a, OUTPUT); 
  }
}

void loop() {
  for(byte n=2;n<9;n++){digitalWrite(n, LOW);}
for(byte z=8;z>2;z--){
 for(byte b=2;b<9;b++){
  
       for(byte x=2;x<z;x++){digitalWrite(x, LOW);}
        digitalWrite(b, HIGH);  
        delay(analogRead(0));                   

       }}}

Sorularınız varsa yorum bölümünden bizlere yazabilirsiniz. Konuyu benğendiyseniz beğenip paylaşmayı unutmayın kolay gelsin.

Yazar Hakkında

suatcicek

Yorumu yanıtla