mirror of
https://github.com/KevinMidboe/Arduino.git
synced 2025-10-29 09:30:12 +00:00
110 lines
1.9 KiB
C++
110 lines
1.9 KiB
C++
byte led_row[7] = {5,2,6,11,7,13,8};
|
|
byte led_col[5] = {3,9,10,4,12};
|
|
long prevTime = -1000;
|
|
long interval = 5000;
|
|
|
|
byte draw_task[7][5] = {
|
|
{ 0,1,1,0,0},
|
|
{ 0,0,1,0,0},
|
|
{ 0,0,1,0,0},
|
|
{ 0,0,1,0,0},
|
|
{ 0,0,1,0,0},
|
|
{ 0,0,1,0,0},
|
|
{ 0,0,1,0,0}};
|
|
|
|
byte zero[7][5] = {
|
|
{ 0,1,1,1,0},
|
|
{ 1,0,0,0,1},
|
|
{ 1,0,0,0,1},
|
|
{ 1,0,0,0,1},
|
|
{ 1,0,0,0,1},
|
|
{ 1,0,0,0,1},
|
|
{ 0,1,1,1,0}};
|
|
|
|
byte one[7][5] = {
|
|
{ 0,1,1,0,0},
|
|
{ 1,0,1,0,0},
|
|
{ 0,0,1,0,0},
|
|
{ 0,0,1,0,0},
|
|
{ 0,0,1,0,0},
|
|
{ 0,0,1,0,0},
|
|
{ 1,1,1,1,1}};
|
|
|
|
byte two[7][5] = {
|
|
{ 1,0,0,0,1},
|
|
{ 0,1,0,1,0},
|
|
{ 0,1,0,1,0},
|
|
{ 0,0,1,0,0},
|
|
{ 0,1,0,1,0},
|
|
{ 0,1,0,1,0},
|
|
{ 1,0,0,0,1}};
|
|
|
|
byte three[7][5] = {
|
|
{ 1,0,0,0,1},
|
|
{ 0,1,0,1,0},
|
|
{ 0,1,0,1,0},
|
|
{ 0,0,1,0,0},
|
|
{ 0,1,0,1,0},
|
|
{ 0,1,0,1,0},
|
|
{ 1,0,0,0,1}};
|
|
|
|
byte four[7][5] = {
|
|
{ 1,0,0,0,1},
|
|
{ 0,1,0,1,0},
|
|
{ 0,1,0,1,0},
|
|
{ 0,0,1,0,0},
|
|
{ 0,1,0,1,0},
|
|
{ 0,1,0,1,0},
|
|
{ 1,0,0,0,1}};
|
|
|
|
void setup() {
|
|
pinMode( 3, OUTPUT );
|
|
pinMode( 9, OUTPUT );
|
|
pinMode( 10, OUTPUT );
|
|
pinMode( 4, OUTPUT );
|
|
pinMode( 12, OUTPUT );
|
|
|
|
pinMode( 5, OUTPUT );
|
|
pinMode( 2, OUTPUT );
|
|
pinMode( 6, OUTPUT );
|
|
pinMode( 11, OUTPUT );
|
|
pinMode( 7, OUTPUT );
|
|
pinMode( 13, OUTPUT );
|
|
pinMode( 8, OUTPUT );
|
|
|
|
for (int i = 0; i < 7; i++) {
|
|
digitalWrite(led_row[i], 1);
|
|
}
|
|
for (int i = 0; i < 5; i++) {
|
|
digitalWrite(led_col[i], 0);
|
|
}
|
|
|
|
delay(500);
|
|
draw();
|
|
}
|
|
|
|
void draw() {
|
|
draw_task[7][5] = zero[7][5];
|
|
// unsigned long currentTime = millis();
|
|
//
|
|
// if (currentTime - prevTime > interval) {
|
|
// prevTime = currentTime;
|
|
// draw_task[7][5] = one[7][5];
|
|
// }
|
|
// else {
|
|
//
|
|
// }
|
|
}
|
|
|
|
void loop() {
|
|
for (int i = 0; i < 7; i++) {
|
|
digitalWrite(led_row[i], 1);
|
|
for (int j = 0; j < 5; j++) {
|
|
digitalWrite(led_col[j], (draw_task[i][j] == 1 ? 0 : 1));
|
|
}
|
|
delayMicroseconds(900);
|
|
digitalWrite(led_row[i], 0);
|
|
}
|
|
|
|
}
|