Soru & Cevap

ARDUINO ÇOKLU LED SIRALAMA YAKMA ...

12.05.2020 - 02:54

Öncelikle herkese merhaba ben bir konuda sizden yardım istiyorum benim kendi yazdığım arduino kodu var ve sırayla ledler yanıyor fakat istenen projeyi nasıl yapacağım konusunda yani ;

1. Aynı anda 1 led baştan 1 led ortadan (5 nolu indis) açılacak şekilde, sırayla diğer ledleri de yakıp söndürme fonksiyonu.
2. Aynı anda 1 Led Baştan 1 Led Sondan açılacak ve ortada buluşacak şekilde her seferinde ledleri yakıp söndürme fonksiyonu.

bunları kendi koduma uyarlayamıyorum tasarladığım devre şemasını da yazdığım ve baştan sona sayan kodu da koyuyorum yardımcı olabileceklere şimdiden teşekkür ederim.

Yazdığım ve baştan sona ledleri yakan kod


int LedDizim[]={2,3,4,5,6,7,8,9,10,11};

void setup()

{

for (int i=0;i<10;i++)

{

   pinMode(LedDizim, OUTPUT);

}

}

void loop()

{

//SiraylaAcKapa();

SiraylaOnceHepsiniAc();

}

void SiraylaAcKapa()

{

for(int i=0;i<10;i++)

{

digitalWrite(LedDizim,HIGH);

delay(500);

digitalWrite(LedDizim,LOW);

delay(500);

   }

}

 

void SiraylaOnceHepsiniAc()

{

for(int i=0;i<10;i++)

{ digitalWrite(LedDizim,HIGH);

delay(500);

}

for(int i=0;i<10;i++)

{

digitalWrite(LedDizim,LOW);

delay(500);

  }

}
 

367 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user f.erenyucal
f.erenyucal
16.02.2023 - 06:14

Tekrardan merhaba Hande Hanım 

İstenen projeleri gerçekleştirmek için mevcut kodu değiştirmeniz gerekiyor. İlk olarak, her iki projede de birden fazla LED'i aynı anda kontrol etmeniz gerektiğinden, for döngüsü içinde digitalWrite() işlevini kullanarak tüm LED'leri aynı anda açıp kapatabilirsiniz

  1. Aynı anda 1 led baştan 1 led ortadan (5 nolu indis) açılacak şekilde, sırayla diğer ledleri de yakıp söndürme fonksiyonu

Bu projeyi gerçekleştirmek için aşağıdaki kodu kullanabilirsin

 

int LedDizim[]={2,3,4,5,6,7,8,9,10,11};

void setup()
{
  for (int i=0;i<10;i++)
  {
    pinMode(LedDizim[i], OUTPUT);
  }
}

void loop()
{
  for (int i = 0; i < 5; i++) {
    digitalWrite(LedDizim[i], HIGH);
    digitalWrite(LedDizim[9-i], HIGH);
    delay(500);
    digitalWrite(LedDizim[i], LOW);
    digitalWrite(LedDizim[9-i], LOW);
  }
}

 

Bu kod, ilk önce 1. ve 10. LED'leri aynı anda açar, ardından 2. ve 9. LED'leri aynı anda açar, bu işlem 5. LED'e kadar devam eder. Sonra, tüm LED'ler sırayla kapatılır ve işlem tekrarlanır.

  1. Aynı anda 1 Led Baştan 1 Led Sondan açılacak ve ortada buluşacak şekilde her seferinde ledleri yakıp söndürme fonksiyonu

Bu projeyi gerçekleştirmek için aşağıdaki kodu kullanabilirsinn

 

int LedDizim[]={2,3,4,5,6,7,8,9,10,11};

void setup()
{
  for (int i=0;i<10;i++)
  {
    pinMode(LedDizim[i], OUTPUT);
  }
}

void loop()
{
  for (int i = 0; i < 5; i++) {
    digitalWrite(LedDizim[i], HIGH);
    digitalWrite(LedDizim[9-i], HIGH);
    delay(500);
  }
  for (int i = 0; i < 5; i++) {
    digitalWrite(LedDizim[i], LOW);
    digitalWrite(LedDizim[9-i], LOW);
    delay(500);
  }
}

 

Teşekkürler