8*8 LED with Arduino

Posted by Elli0t on 2020-09-12

我敢说你们大多数坐过这把椅子的嘉宾,重要的不是他们上了哪所大学,重要的是他们 自己的主动性,他们自己的动力,他们自己的野心,他们对自己的好奇心,这不是学校 教出来的。不幸的是,学校认为你是一个空的容器,他们向你灌输信息。你在学校参加 考试,你得了高分,你被表扬了,你甚至可以在毕业典礼上发表演讲。有谁成为了世界 的推动者吗?我认为没有。在学校的最后一天,当你走下台阶时,你不是在唱着爱丽 丝.库珀的歌,学校放假了!你将会唱着一首伤心的歌,发出哀叹,我得离开2到3个 月,什么都学不到,你应该为离开学校而难过,而不是高兴,所以……你离开学校,对自己说:我现在知道怎么学习了,我现在对所有我还没接触到的东⻄都有了好奇心,我现在将成为一个终身学习者。

—–尼尔·德格拉斯·泰森

Arduino

code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
// 2-dimensional array of row pin numbers:
int R[] = {2,7,A5,5,13,A4,12,A2};
// 2-dimensional array of column pin numbers:
int C[] = {6,11,10,3,A3,4,8,9};

unsigned char biglove[8][8] = //the big "heart"
{
0,0,0,1,1,0,0,0,
0,0,1,1,1,1,0,0,
0,1,0,1,1,0,1,0,
1,0,0,1,1,0,0,1,
1,0,0,1,1,0,0,1,
0,1,0,0,0,0,1,0,
0,0,1,1,1,1,0,0,
0,0,0,1,1,0,0,0,
};

unsigned char smalllove[8][8] = //the small "heart"
{
0,0,0,1,1,0,0,0,
0,0,1,0,0,1,0,0,
0,1,0,0,0,0,1,0,
1,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,1,
0,1,0,0,0,0,1,0,
0,0,1,0,0,1,0,0,
0,0,0,1,1,0,0,0,
};

void setup()
{
// iterate over the pins:
for(int i = 0;i<8;i++)
// initialize the output pins:
{
pinMode(R[i],OUTPUT);
pinMode(C[i],OUTPUT);
}
}

void loop()
{
for(int i = 0 ; i < 120 ; i++) //Loop display 100 times
{
Display(biglove); //Display the "Big Heart"
}
for(int i = 0 ; i < 120 ; i++) //Loop display 50 times
{
Display(smalllove); //Display the "small Heart"
}
}

void Display(unsigned char dat[8][8])
{
for(int c = 0; c<8;c++)
{
digitalWrite(C[c],LOW);//use thr column
//loop
for(int r = 0;r<8;r++)
{
digitalWrite(R[r],dat[r][c]);
}
delay(1);
Clear(); //Remove empty display light
}
}

void Clear() //清空显示
{
for(int i = 0;i<8;i++)
{
digitalWrite(R[i],LOW);
digitalWrite(C[i],HIGH);
}
}
参考链接

https://osoyoo.com/2017/07/15/arduino-lesson-8x8-led-matrix/#:~:text=8%C3%978%20matrix%20consists,almost%20the%20same%20in%20appearance.