void setup() { // Arduino ilk açıldığında bir kere çalışır
Serial.begin(115200);
for (int i = 2; i <= 8; i++) { // D2–D8 arası TANELER için döngü
pinMode(i, OUTPUT); // Taneyi çıkış (OUTPUT) yap
digitalWrite(i, 0); // Taneyi kapalı tut
}
for (int i = A0; i <= A5; i++) { // A0–A5 arası DİLİMLER için döngü
pinMode(i, OUTPUT); // Dilimi çıkış (OUTPUT) yap
digitalWrite(i, 1); // Dilimi kapalı tut (LOW olunca aktif)
}
}
void loop() { // Sürekli tekrar eden ana döngü
for (int i = A0; i <= A5; i++) { // DİLİMLERİ A5’ten A0’a sırayla gez
digitalWrite(i, 0); // Seçilen dilimi aktif et
for (int j = 8; j >= 2; j--) { // Bu dilimdeki TANELERİ sırayla gez
Serial.print("Number: ");
Serial.println(((i - 14) * 7) + (7 - (j - 1)));
digitalWrite(j, 1); // Seçilen taneyi yak
delay(1000); // LED görünmesi için bekle
digitalWrite(j, 0); // Taneyi kapat
delay(20); // Küçük boşluk (ghosting azaltır)
// reset at 36 (37th count)
if (i >= A5 && j <= 7) {
digitalWrite(A5, 1);
i = A0;
j = 8;
return;
}
}
digitalWrite(i, 1); // Bu dilimi kapat
}
}