小编这几天自己做了一个广州塔,发现对比光立方,用的时间可以更短,效果嘛,用的时间和对应的期待效果是有等比的,下面附图,焊接方面也是比较简单的,玩过乐高积木的人会发现其实焊接就是搭积木,焊接从低到高,小编的焊接虽然不咋地,编程方面的话自我感觉就是一个16*16的一面程序(其实就是16*16),以前玩过arduino点阵图玩的还可以,所以编- C[] ={6,11,10,3,A3,4,8,9}; 为 int C[] = {6,11,10,4,A3,3,8,9}; ,我修改了代码,所以接线不变。)
- int R[] = {2,7,A5,5,13,A4,12,A2}; //行
- int C[] = {6,11,10,4,A3,3,8,9}; //列 (原文中3、4的位置是反的,我做了调换)
-
- unsigned char biglove[8][8] = //大“心型”的数据
- {
- 0,0,0,0,0,0,0,0,
- 0,1,1,0,0,1,1,0,
- 1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,
- 1,1,1,1,1,1,1,1,
- 0,1,1,1,1,1,1,0,
- 0,0,1,1,1,1,0,0,
- 0,0,0,1,1,0,0,0,
- };
-
- unsigned char smalllove[8][8] = //小“心型”的数据
- {
- 0,0,0,0,0,0,0,0,
- 0,0,0,0,0,0,0,0,
- 0,0,1,0,0,1,0,0,
- 0,1,1,1,1,1,1,0,
- 0,1,1,1,1,1,1,0,
- 0,0,1,1,1,1,0,0,
- 0,0,0,1,1,0,0,0,
- 0,0,0,0,0,0,0,0,
- };
-
- void setup()
- {
- //循环定义行列PIN 为输出模式
- for(int i = 0;i<8;i++)
- {
- pinMode(R,OUTPUT);
- pinMode(C,OUTPUT);
- }
- }
-
- void loop()
- {
- for(int i = 0 ; i < 100 ; i++) //循环显示100次
- {
- Display(biglove); //显示大”心形“
- }
- for(int i = 0 ; i < 50 ; i++) //循环显示50次
- {
- Display(smalllove); //显示小“心形”
- }
- }
-
- void Display(unsigned char dat[8][8]) //显示函数
- {
- for(int c = 0; c<8;c++)
- {
- digitalWrite(C[c],LOW);//选通第c列
-
- //循环
- for(int r = 0;r<8;r++)
- {
- digitalWrite(R[r],dat[r][c]);
- }
- delay(1);
- Clear(); //清空显示去除余晖
- }
- }
-
- void Clear() //清空显示
- {
- for(int i = 0;i<8;i++)
- {
- digitalWrite(R,LOW);
- digitalWrite(C,HIGH);
- }
- }
复制代码
下面是板子pcb图的链接,会做板子的同学可以尝试做一做。 |