#define ROW1 20
#define ROW2 21
#define ROW3 2
#define ROW4 3
#define ROW5 4
#define ROW6 5
#define ROW7 6
#define ROW8 7
#define COL1 9
#define COL2 10
#define COL3 11
#define COL4 12
#define COL5 13
#define COL6 14
#define COL7 15
#define COL8 16
const int buzzerPin = 8;
const int row[] = {ROW1, ROW2, ROW3, ROW4, ROW5, ROW6, ROW7, ROW8};
const int col[] = {COL1,COL2, COL3, COL4, COL5, COL6, COL7, COL8};
const int switchs[] = {17,18};
int digit0[8][8] = {
{1, 1, 1, 1, 1, 1, 1, 1},
{1, 1, 0, 0, 0, 0, 1, 1},
{1, 1, 0, 1, 1, 0, 1, 1},
{1, 1, 0, 1, 1, 0, 1, 1},
{1, 1, 0, 1, 1, 0, 1, 1},
{1, 1, 0, 1, 1, 0, 1, 1},
{1, 1, 0, 0, 0, 0, 1, 1},
{1, 1, 1, 1, 1, 1, 1, 1}
};
int pitch = 100;
int mappedValue = 0;
void setup() {
for(int i = 0; i < 8; i++) {
pinMode(row[i], OUTPUT);
pinMode(col[i], OUTPUT);
}
for(int j =0;j <2;j++){
pinMode(switchs[j],INPUT_PULLUP);
}
pinMode(buzzerPin,INPUT);
Serial.begin(9600);
}
void loop() {
moveRight(digit0);
printOnLedDisplay(digit0);
}
void printOnLedDisplay(int matrix[8][8]){
for (int i = 0; i < 8; i++) {
for (int c = 0; c < 8; c++) {
digitalWrite(col[c], LOW);
}
digitalWrite(col[i], HIGH);
for (int j = 0; j < 8; j++) {
digitalWrite(row[j], matrix[j][i]);
}
delay(2);
}
}
void moveLeft(int matrix[8][8]){
for(int i = 0;i < 8 ; i++){
for(int j = 0;j < 7;j++){
int temp = 0;
temp = matrix[i][j];
matrix[i][j] = matrix[i][8 - j];
matrix[i][8 - j] = temp;
delay(20);
}
}
}
void moveLeft_2(int matrix[8][8]) {
for (int i = 0; i < 8; i++) { // Loop through rows
int temp = matrix[i][0]; // Store the leftmost element in temp
for (int j = 0; j < 7; j++) { // Loop through columns up to the second-to-last column
matrix[i][j] = matrix[i][j + 1]; // Shift left by assigning the element on the right
}
matrix[i][7] = temp; // Set the rightmost element to the stored leftmost element
delay(20); // Add a delay for visualization
}
}
void moveRight(int matrix[8][8]) {
for (int i = 0; i < 8; i++) { // Loop through rows
for (int j = 7; j > 0; j--) { // Loop through columns from right to left
matrix[i][j] = matrix[i][j - 1]; // Shift right by assigning the element on the left
}
matrix[i][0] = 0; // Set the leftmost element to 0 (or any desired value)
delay(20); // Add a delay for visualization
}
}