Tahir ALPAY

ARDUİNO İLE ÇOKLU LED YAKMA



                                                           Devre semasi

DEVRE YAPILIŞI:
Devre semasında görüldüğü üzere LED’lerimizi breadboard üzerine sırasıyla diziyoruz. Eksi 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 kablolarla Arduino‘muzun dijital 4-12 pinlerine sırasıyla bağlıyoruz.

yapay zeka destekli haber sitesi

MALZEMELER:

  • 1x Arduino Uno (Diğer Arduino bordlarda olur)
  • 9 x LED (Mümkünse 3’er adet farklı LED)
  • 10 x erkek-erkek bağlantı kablosu
  • 9 x 330 ohm direnç (daha üst değerde olabilir)
  • 1x Breadboard
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


     }
   }
 }
}