// (+) Pins
int pin1 //D2
int pin2 /D3
int pin5 /D4
int pin7 //D5
int pn8//D6
int pin14 /D7
int pin12 /D8
int pin9 //D9
// (-) Pins
int pin3 =//D10
int pin4 =//D11
int pin6 =//D12
int pin16 //A0
int pin15= //A1
int pin13= //A2
int pin11= //A3
int pin10= //A4
//Sorting pins by order
int r[8] = {pin9,pin14,pin8,pin12,pin1,pin7,pin2,pin5};
int c[8] = {pin13,pin3,pin4,pin10,pin6,pin11,pin15,pin16};
int Mcls[8][8];
void matrixPrint(int M[8][8], int timer){
//Turning all off
for(int i = 0; i < 8; i++){
digitalWrite(r[i], LOW);
digitalWrite(c[i], HIGH);
}
for(int k = 0 ; k < timer; k++ ){
//Turning some leds on
for(int i = 0; i < 8; i++){
for(int j = 0; j < 8; j++){
if(M[i][j] == 1){
digitalWrite(r[i], HIGH);
digitalWrite(c[j], LOW);
digitalWrite(r[i], LOW);
digitalWrite(c[j], HIGH);
}
}
}
}
}
void setup() {
for(int i = 0; i < 8; i++){
pinMode(r[i], OUTPUT);
pinMode(c[i], OUTPUT);
}
pinMode(13, OUTPUT);
int Mdisp[8][8] = { {1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1}};
for(int i = 0; i < 4; i++){
digitalWrite(13, HIGH);
matrixPrint(Mdisp, 500);
}
delay(1000); // wait for a second
//Turning all off
for(int i = 0; i < 8; i++){
digitalWrite(r[i], LOW);
digitalWrite(c[i], HIGH);
}
digitalWrite(13, LOW);
delay(1000); // wait for a second
}
// the loop function runs over and over again forever
void loop() {
//Sprites
int Mdisp[8][8] = { {0,0,0,0,0,0,0,0},
{0,1,1,0,0,1,1,0},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,0,1,1,1,1,0,1},
{1,1,1,1,1,1,1,1},
{1,1,1,0,0,1,1,1},
{1,1,1,1,1,1,1,1}};
int Mdisp2[8][8] = { {0,1,1,0,0,1,1,0},
{1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,0,1,1,1,1,0,1},
{1,1,1,1,1,1,1,1},
{1,1,1,0,0,1,1,1},
{1,1,1,1,1,1,1,1},
{1,0,1,0,0,1,0,1}};
int Mdisp3[8][8] = { {0,1,1,1,1,1,1,0},
{1,0,1,1,1,0,1,1},
{1,1,1,1,1,1,1,1},
{1,0,0,0,0,1,1,1},
{1,1,0,0,1,1,1,1},
{1,1,1,1,1,1,1,1},
{1,1,1,0,0,1,0,1},
{1,0,1,0,0,0,0,1}};
//First Animation
for(int i = 0; i < 4; i++){
matrixPrint(Mdisp, 500);
matrixPrint(Mdisp2, 500);
}
//Second Animation
for(int i = 0; i < 3; i++){
matrixPrint(Mdisp, 500);
matrixPrint(Mdisp3, 500);
}
}