const byte rowPins[5] = {9, 10, 11, 12, 13};
const byte columnPins[4] = {2, 3, 4, 5};
const byte rows = 5, columns = 4;
const byte digitZero[5][4] = {
{1, 1, 1, 1},
{1, 0, 0, 1},
{1, 0, 0, 1},
{1, 0, 0, 1},
{1, 1, 1, 1}
};
void setup() {
Serial.begin(9600);
for (int i = 0; i < rows; i++) {
pinMode(rowPins[i], OUTPUT);
digitalWrite(rowPins[i], LOW);
}
for (int i = 0; i < columns; i++) {
pinMode(columnPins[i], OUTPUT);
digitalWrite(columnPins[i], HIGH);
}
}
void loop() {
for (int j = 0; j < rows; j++) {
digitalWrite(rowPins[j], HIGH);
for (int i = 0; i < columns; i++) {
digitalWrite(columnPins[i], digitZero[j][i] ? LOW : HIGH);
digitalWrite(columnPins[i], HIGH);
}
digitalWrite(rowPins[j], LOW);
}
}