Ders 12 – Bir Buton 4 hareketli led uygulaması

Bu etkinlikte 4 adet LED bir buton tarafından çalıştırılacaktır. Devrede butonun basılma şekline
göre LED’ler ile animasyon yapılacaktır. Devrenin çalışma şekli aşağıdaki gibi olmalıdır:
(i) Butona birinci defa basıldığında 1, 2, 3 ve 4 numaralı LED’ler sırasıyla yanıp söner.
Devamında sadece 1 numaralı LED yanar ve yanık kalır.
(ii) Butona ikinci defa basıldığında 1, 2, 3 ve 4 numaralı LED’ler sırasıyla yanıp söner.
Devamında sadece 2 numaralı LED yanar ve yanık kalır.
(iii) Butona üçüncü defa basıldığında 1,2,3 ve 4 numaralı LED’ler sırasıyla yanıp söner.
Devamında sadece 3 numaralı LED yanar ve yanık kalır.
(iv) Butona dördüncü defa basıldığında 1,2,3 ve 4 numaralı LED yanıp söner.
Devamında sadece 4 numaralı LED yanar ve yanık kalır.
(v) Butona beşinci defa basıldığında bütün LED’ler söner ve butona bir defa basılmış
gibi birinci adımdan yeniden başlanır.

int ledler []= {4,5,6,7};
int led_sayisi =4;
int buton_pin=2;
int buton_deger=0;
int buton_basilma=0;
void setup() {
for(int i = 0; i < led_sayisi; i++){
pinMode(ledler[i], OUTPUT);
}
pinMode(buton_pin, INPUT);
}
void loop() {
  buton_deger=digitalRead(buton_pin);
if(buton_deger == HIGH)
{
  for(int j=0;j<led_sayisi;j++)
{
if(buton_basilma % led_sayisi == j){
  for(int l=0;l<4;l++)
{
for(int m=0;m<4;m++){
  digitalWrite(ledler[m],LOW);
}
digitalWrite(ledler[l],HIGH);
delay(100);
digitalWrite(ledler[l],LOW);
delay(100);
}
digitalWrite(ledler[j],HIGH);
buton_basilma++;
delay(500);
return;
}
}
}
}