const int columnpins[] = {5, 6, 7, 8, 9, 10};
const int rowpins[] = {19, 18, 17, 16, 15};
const int led1[5][6] = {{0, 0, 0, 0, 0, 0}, {0, 1, 1, 0, 0, 1}, {0, 1, 1, 0, 1, 0}, {0, 0, 0, 0, 0, 1}, {0, 1, 1, 0, 0, 1}};
const int led2[5][6] = {{1, 0, 1, 0, 1, 0}, {0, 1, 1, 0, 0, 1}, {0, 1, 1, 0, 1, 0}, {0, 0, 0, 0, 0, 1}, {0, 1, 1, 0, 0, 1}};
const int led3[5][6] = {{0, 1, 0, 1, 0, 0}, {0, 1, 1, 0, 0, 1}, {0, 1, 1, 0, 1, 0}, {0, 0, 0, 0, 0, 1}, {0, 1, 1, 0, 0, 1}};
int m = millis();;
int prem;
void setup() {
for (int i = 0; i < 6; i++)
{
pinMode(columnpins[i], OUTPUT);
pinMode(rowpins[i], OUTPUT);
}
}
void loop() {
prem = millis();
if (prem - m < 2000) {
xianshi(led2);
}
m = prem;
guanbi();
}
void guanbi()
{
for (int i = 0; i < 6; i++)
{
if (digitalRead(columnpins[i]) == 0)
{
digitalWrite((columnpins[i]), 1);
}
}
}
void xianshi(int led[5][6]) {
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 6; j++) {
digitalWrite(rowpins[i], 1);
digitalWrite(columnpins[j], led[i][j]);
}
guanbi();
digitalWrite(rowpins[i], 0);
}
}