小編這幾天自己做了一個廣州塔,發現對比光立方,用的時間可以更短,效果嘛,用的時間和對應的期待效果是有等比的,下面附圖,焊接方面也是比較簡單的,玩過樂高積木的人會發現其實焊接就是搭積木,焊接從低到高,小編的焊接雖然不咋地,編程方面的話自我感覺就是一個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圖的鏈接,會做板子的同學可以嘗試做一做。 |