Files
Arduino/Projects/7x5 Display/_1.singleTest/_1.singleTest.ino

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);
}
}