const byte ROWS = 4;
const byte COLS = 4;
int LED_Array[ROWS][COLS] = {
{10, 6, 5, A5},
{11, 7, 4, A4},
{12, 8, 3, 0},
{13, 9, 2, 1}
};
int Layer[4] = { A0, A1, A2, A3 };
void setup()
{
for (int i=0;i<4;i++)
{
pinMode(Layer[i], OUTPUT);
for (int j=0;j<4;j++)
{
pinMode(LED_Array[i][j], OUTPUT);
}
}
for (int i=0;i<4;i++)
{
digitalWrite(Layer[i], 0);
for (int j=0;j<4;j++)
{
digitalWrite(LED_Array[i][j], 0);
}
}
}
void loop()
{
for (int i=1;i<=8;i++)
{
Round_1();
delay(500);
Round_2();
delay(500);
Round_3();
delay(500);
Round_4();
delay(500);
Round_5();
delay(500);
Round_6();
delay(500);
Round_7();
delay(500);
Round_8();
delay(500);
Round_9();
delay(500);
Round_10();
delay(500);
Round_11();
delay(500);
Round_12();
delay(500);
Round_13();
delay(500);
Round_14();
delay(500);
Round_15();
delay(500);
}
delay(3000);
}
void Round_15()
{
digitalWrite(LED_Array[0][0], 1);
digitalWrite(LED_Array[0][1], 1);
digitalWrite(LED_Array[0][2], 1);
digitalWrite(LED_Array[1][1], 1);
digitalWrite(LED_Array[1][2], 1);
digitalWrite(LED_Array[2][1], 1);
digitalWrite(LED_Array[2][2], 1);
digitalWrite(LED_Array[3][1], 1);
digitalWrite(LED_Array[3][2], 1);
digitalWrite(LED_Array[3][3], 1);
delay(500);
digitalWrite(LED_Array[0][0], 0);
digitalWrite(LED_Array[0][1], 0);
digitalWrite(LED_Array[0][2], 0);
digitalWrite(LED_Array[1][1], 0);
digitalWrite(LED_Array[1][2], 0);
digitalWrite(LED_Array[2][1], 0);
digitalWrite(LED_Array[2][2], 0);
digitalWrite(LED_Array[3][1], 0);
digitalWrite(LED_Array[3][2], 0);
digitalWrite(LED_Array[3][3], 0);
}
void Round_14()
{
digitalWrite(LED_Array[0][0], 1);
digitalWrite(LED_Array[0][3], 1);
digitalWrite(LED_Array[1][1], 1);
digitalWrite(LED_Array[2][1], 1);
digitalWrite(LED_Array[3][1], 1);
digitalWrite(LED_Array[1][2], 1);
digitalWrite(LED_Array[2][2], 1);
digitalWrite(LED_Array[3][2], 1);
delay(500);
digitalWrite(LED_Array[0][0], 0);
digitalWrite(LED_Array[0][3], 0);
digitalWrite(LED_Array[1][1], 0);
digitalWrite(LED_Array[2][1], 0);
digitalWrite(LED_Array[3][1], 0);
digitalWrite(LED_Array[1][2], 0);
digitalWrite(LED_Array[2][2], 0);
digitalWrite(LED_Array[3][2], 0);
}
void Round_13()
{
digitalWrite(LED_Array[0][0], 1);
digitalWrite(LED_Array[0][3], 1);
digitalWrite(LED_Array[1][1], 1);
digitalWrite(LED_Array[1][2], 1);
digitalWrite(LED_Array[2][1], 1);
digitalWrite(LED_Array[2][2], 1);
digitalWrite(LED_Array[3][0], 1);
digitalWrite(LED_Array[3][3], 1);
delay(500);
digitalWrite(LED_Array[0][0], 0);
digitalWrite(LED_Array[0][3], 0);
digitalWrite(LED_Array[1][1], 0);
digitalWrite(LED_Array[1][2], 0);
digitalWrite(LED_Array[2][1], 0);
digitalWrite(LED_Array[2][2], 0);
digitalWrite(LED_Array[3][0], 0);
digitalWrite(LED_Array[3][3], 0);
}
void Round_12()
{
digitalWrite(LED_Array[0][1], 1);
digitalWrite(LED_Array[0][2], 1);
digitalWrite(LED_Array[0][3], 1);
digitalWrite(LED_Array[1][0], 1);
digitalWrite(LED_Array[1][2], 1);
digitalWrite(LED_Array[2][0], 1);
digitalWrite(LED_Array[2][2], 1);
digitalWrite(LED_Array[3][1], 1);
digitalWrite(LED_Array[3][2], 1);
digitalWrite(LED_Array[3][3], 1);
delay(500);
digitalWrite(LED_Array[0][1], 0);
digitalWrite(LED_Array[0][2], 0);
digitalWrite(LED_Array[0][3], 0);
digitalWrite(LED_Array[1][0], 0);
digitalWrite(LED_Array[1][2], 0);
digitalWrite(LED_Array[2][0], 0);
digitalWrite(LED_Array[2][2], 0);
digitalWrite(LED_Array[3][1], 0);
digitalWrite(LED_Array[3][2], 0);
digitalWrite(LED_Array[3][3], 0);
}
void Round_11()
{
digitalWrite(LED_Array[0][0], 1);
digitalWrite(LED_Array[0][3], 1);
digitalWrite(LED_Array[1][0], 1);
digitalWrite(LED_Array[1][1], 1);
digitalWrite(LED_Array[1][2], 1);
digitalWrite(LED_Array[1][3], 1);
digitalWrite(LED_Array[2][0], 1);
digitalWrite(LED_Array[2][3], 1);
digitalWrite(LED_Array[3][1], 1);
digitalWrite(LED_Array[3][2], 1);
delay(500);
digitalWrite(LED_Array[0][0], 0);
digitalWrite(LED_Array[0][3], 0);
digitalWrite(LED_Array[1][0], 0);
digitalWrite(LED_Array[1][1], 0);
digitalWrite(LED_Array[1][2], 0);
digitalWrite(LED_Array[1][3], 0);
digitalWrite(LED_Array[2][0], 0);
digitalWrite(LED_Array[2][3], 0);
digitalWrite(LED_Array[3][1], 0);
digitalWrite(LED_Array[3][2], 0);
}
void Round_10()
{
digitalWrite(LED_Array[0][0], 1);
digitalWrite(LED_Array[0][1], 1);
digitalWrite(LED_Array[0][2], 1);
digitalWrite(LED_Array[1][1], 1);
digitalWrite(LED_Array[1][3], 1);
digitalWrite(LED_Array[2][1], 1);
digitalWrite(LED_Array[2][3], 1);
digitalWrite(LED_Array[3][0], 1);
digitalWrite(LED_Array[3][1], 1);
digitalWrite(LED_Array[3][2], 1);
delay(500);
digitalWrite(LED_Array[0][0], 0);
digitalWrite(LED_Array[0][1], 0);
digitalWrite(LED_Array[0][2], 0);
digitalWrite(LED_Array[1][1], 0);
digitalWrite(LED_Array[1][3], 0);
digitalWrite(LED_Array[2][1], 0);
digitalWrite(LED_Array[2][3], 0);
digitalWrite(LED_Array[3][0], 0);
digitalWrite(LED_Array[3][1], 0);
digitalWrite(LED_Array[3][2], 0);
}
void Round_9()
{
digitalWrite(LED_Array[0][1], 1);
digitalWrite(LED_Array[0][2], 1);
digitalWrite(LED_Array[1][0], 1);
digitalWrite(LED_Array[1][3], 1);
digitalWrite(LED_Array[2][0], 1);
digitalWrite(LED_Array[2][1], 1);
digitalWrite(LED_Array[2][2], 1);
digitalWrite(LED_Array[2][3], 1);
digitalWrite(LED_Array[3][0], 1);
digitalWrite(LED_Array[3][3], 1);
delay(500);
digitalWrite(LED_Array[0][1], 0);
digitalWrite(LED_Array[0][2], 0);
digitalWrite(LED_Array[1][0], 0);
digitalWrite(LED_Array[1][3], 0);
digitalWrite(LED_Array[2][0], 0);
digitalWrite(LED_Array[2][1], 0);
digitalWrite(LED_Array[2][2], 0);
digitalWrite(LED_Array[2][3], 0);
digitalWrite(LED_Array[3][0], 0);
digitalWrite(LED_Array[3][3], 0);
}
void Round_8()
{
digitalWrite(LED_Array[0][0], 1);
digitalWrite(LED_Array[1][0], 1);
digitalWrite(LED_Array[2][0], 1);
digitalWrite(LED_Array[3][0], 1);
digitalWrite(LED_Array[0][1], 1);
digitalWrite(LED_Array[1][1], 1);
digitalWrite(LED_Array[2][1], 1);
digitalWrite(LED_Array[3][1], 1);
digitalWrite(LED_Array[1][2], 1);
digitalWrite(LED_Array[1][3], 1);
digitalWrite(LED_Array[2][2], 1);
digitalWrite(LED_Array[2][3], 1);
delay(500);
digitalWrite(LED_Array[0][0], 0);
digitalWrite(LED_Array[1][0], 0);
digitalWrite(LED_Array[2][0], 0);
digitalWrite(LED_Array[3][0], 0);
digitalWrite(LED_Array[0][1], 0);
digitalWrite(LED_Array[1][1], 0);
digitalWrite(LED_Array[2][1], 0);
digitalWrite(LED_Array[3][1], 0);
digitalWrite(LED_Array[1][2], 0);
digitalWrite(LED_Array[1][3], 0);
digitalWrite(LED_Array[2][2], 0);
digitalWrite(LED_Array[2][3], 0);
}
void Round_7()
{
digitalWrite(LED_Array[2][0], 1);
digitalWrite(LED_Array[2][1], 1);
digitalWrite(LED_Array[2][2], 1);
digitalWrite(LED_Array[2][3], 1);
digitalWrite(LED_Array[3][0], 1);
digitalWrite(LED_Array[3][1], 1);
digitalWrite(LED_Array[3][2], 1);
digitalWrite(LED_Array[3][3], 1);
digitalWrite(LED_Array[0][1], 1);
digitalWrite(LED_Array[0][2], 1);
digitalWrite(LED_Array[1][1], 1);
digitalWrite(LED_Array[1][2], 1);
delay(500);
digitalWrite(LED_Array[2][0], 0);
digitalWrite(LED_Array[2][1], 0);
digitalWrite(LED_Array[2][2], 0);
digitalWrite(LED_Array[2][3], 0);
digitalWrite(LED_Array[3][0], 0);
digitalWrite(LED_Array[3][1], 0);
digitalWrite(LED_Array[3][2], 0);
digitalWrite(LED_Array[3][3], 0);
digitalWrite(LED_Array[0][1], 0);
digitalWrite(LED_Array[0][2], 0);
digitalWrite(LED_Array[1][1], 0);
digitalWrite(LED_Array[1][2], 0);
}
void Round_6()
{
digitalWrite(LED_Array[0][2], 1);
digitalWrite(LED_Array[1][2], 1);
digitalWrite(LED_Array[2][2], 1);
digitalWrite(LED_Array[3][2], 1);
digitalWrite(LED_Array[0][3], 1);
digitalWrite(LED_Array[1][3], 1);
digitalWrite(LED_Array[2][3], 1);
digitalWrite(LED_Array[3][3], 1);
digitalWrite(LED_Array[1][0], 1);
digitalWrite(LED_Array[1][1], 1);
digitalWrite(LED_Array[2][0], 1);
digitalWrite(LED_Array[2][1], 1);
delay(500);
digitalWrite(LED_Array[0][2], 0);
digitalWrite(LED_Array[1][2], 0);
digitalWrite(LED_Array[2][2], 0);
digitalWrite(LED_Array[3][2], 0);
digitalWrite(LED_Array[0][3], 0);
digitalWrite(LED_Array[1][3], 0);
digitalWrite(LED_Array[2][3], 0);
digitalWrite(LED_Array[3][3], 0);
digitalWrite(LED_Array[1][0], 0);
digitalWrite(LED_Array[1][1], 0);
digitalWrite(LED_Array[2][0], 0);
digitalWrite(LED_Array[2][1], 0);
}
void Round_5()
{
digitalWrite(LED_Array[0][0], 1);
digitalWrite(LED_Array[0][1], 1);
digitalWrite(LED_Array[0][2], 1);
digitalWrite(LED_Array[0][3], 1);
digitalWrite(LED_Array[1][0], 1);
digitalWrite(LED_Array[1][1], 1);
digitalWrite(LED_Array[1][2], 1);
digitalWrite(LED_Array[1][3], 1);
digitalWrite(LED_Array[2][1], 1);
digitalWrite(LED_Array[2][2], 1);
digitalWrite(LED_Array[3][1], 1);
digitalWrite(LED_Array[3][2], 1);
delay(500);
digitalWrite(LED_Array[0][0], 0);
digitalWrite(LED_Array[0][1], 0);
digitalWrite(LED_Array[0][2], 0);
digitalWrite(LED_Array[0][3], 0);
digitalWrite(LED_Array[1][0], 0);
digitalWrite(LED_Array[1][1], 0);
digitalWrite(LED_Array[1][2], 0);
digitalWrite(LED_Array[1][3], 0);
digitalWrite(LED_Array[2][1], 0);
digitalWrite(LED_Array[2][2], 0);
digitalWrite(LED_Array[3][1], 0);
digitalWrite(LED_Array[3][2], 0);
}
void Round_4()
{
digitalWrite(LED_Array[1][0], 1);
digitalWrite(LED_Array[1][1], 1);
digitalWrite(LED_Array[1][2], 1);
digitalWrite(LED_Array[2][0], 1);
digitalWrite(LED_Array[2][1], 1);
digitalWrite(LED_Array[2][2], 1);
//digitalWrite(LED_Array[3][1], 1);
//digitalWrite(LED_Array[3][3], 1);
delay(500);
digitalWrite(LED_Array[1][0], 0);
digitalWrite(LED_Array[1][1], 0);
digitalWrite(LED_Array[1][2], 0);
digitalWrite(LED_Array[2][0], 0);
digitalWrite(LED_Array[2][1], 0);
digitalWrite(LED_Array[2][2], 0);
//digitalWrite(LED_Array[3][1], 1);
//digitalWrite(LED_Array[3][3], 1);
}
void Round_3()
{
digitalWrite(LED_Array[1][1], 1);
digitalWrite(LED_Array[1][2], 1);
digitalWrite(LED_Array[2][1], 1);
digitalWrite(LED_Array[2][2], 1);
digitalWrite(LED_Array[3][1], 1);
digitalWrite(LED_Array[3][2], 1);
//digitalWrite(LED_Array[3][1], 1);
//digitalWrite(LED_Array[3][3], 1);
delay(500);
digitalWrite(LED_Array[1][1], 0);
digitalWrite(LED_Array[1][2], 0);
digitalWrite(LED_Array[2][1], 0);
digitalWrite(LED_Array[2][2], 0);
digitalWrite(LED_Array[3][1], 0);
digitalWrite(LED_Array[3][2], 0);
//digitalWrite(LED_Array[3][1], 1);
//digitalWrite(LED_Array[3][3], 1);
}
void Round_2()
{
digitalWrite(LED_Array[1][1], 1);
digitalWrite(LED_Array[1][2], 1);
digitalWrite(LED_Array[1][3], 1);
digitalWrite(LED_Array[2][1], 1);
digitalWrite(LED_Array[2][2], 1);
digitalWrite(LED_Array[2][3], 1);
//digitalWrite(LED_Array[3][1], 1);
//digitalWrite(LED_Array[3][3], 1);
delay(500);
digitalWrite(LED_Array[1][1], 0);
digitalWrite(LED_Array[1][2], 0);
digitalWrite(LED_Array[1][3], 0);
digitalWrite(LED_Array[2][1], 0);
digitalWrite(LED_Array[2][2], 0);
digitalWrite(LED_Array[2][3], 0);
//digitalWrite(LED_Array[3][1], 1);
//digitalWrite(LED_Array[3][3], 1);
}
void Round_1()
{
digitalWrite(LED_Array[0][1], 1);
digitalWrite(LED_Array[0][2], 1);
digitalWrite(LED_Array[1][1], 1);
digitalWrite(LED_Array[1][2], 1);
digitalWrite(LED_Array[2][1], 1);
digitalWrite(LED_Array[2][2], 1);
//digitalWrite(LED_Array[3][1], 1);
//digitalWrite(LED_Array[3][3], 1);
delay(500);
digitalWrite(LED_Array[0][1], 0);
digitalWrite(LED_Array[0][2], 0);
digitalWrite(LED_Array[1][1], 0);
digitalWrite(LED_Array[1][2], 0);
digitalWrite(LED_Array[2][1], 0);
digitalWrite(LED_Array[2][2], 0);
//digitalWrite(LED_Array[3][1], 1);
//digitalWrite(LED_Array[3][3], 1);
}