標題: 4*4光立方制作教程 [打印本頁]
作者: 丿丶丶 時間: 2016-9-24 17:38
標題: 4*4光立方制作教程
一、硬方面
1.LED:CUBE4光立方需要64個LED,LED的顏色可以自己隨意挑選紅 黃 藍 綠 白,個人推薦霧狀藍色LED,夜晚效果超屌。
2.單片機:單片機上采用程序空間大的,運行速度快的STC12C60S2單片機。如果你覺得大了,你可以選擇28腳的,能保證有16個IO口控制LED的亮滅。也能自己擴展光立方功能。
3. 一個12Mhz晶振,兩個30pF電容,搭建單片機的最小系統
4.上拉電阻:為了提高LED亮度,選用200歐2/1W的。(可加可不加)
5.電源:5V電源。電腦USB口電源或手機適配器輸出的即可,不需要太苛刻的要求!
二、電路連接
很多人會在這里糾結,到底該怎么連接電路。不用糾結了,接下來我給大家詳細說說怎么連接LED。 本光立方采用的電路與LED點陣屏一樣的。接下來看圖。
0.png (553.01 KB, 下載次數: 87)
下載附件
2016-9-24 18:41 上傳
內附有取模 模板,可實現各種漢字,符號在光立方上切換。
從正面看:紅色是LED的正極,正極接下去,中間兩列相連,外面兩列相連接后面依次如此連接。藍色是LED負極相連,已經標出連接到的IO口號上了。 本光立方負極接到P2口上,所以按照上面的圖,左邊上面第一個連接到的應該是P2.0口。
0.png (427.73 KB, 下載次數: 78)
下載附件
2016-9-24 18:42 上傳
從上面看:IO口號已標出,要注意的是中間兩列相連的,如5和5是相連的。外面兩列相連,如0和0相連的。本光立方在這里連的是P0口,0就連接到P0.0上 5就接到P0.5上 說說上拉電阻:在IO口連接到LED正極的基礎上再把電阻連接到VCC和IO口間。好了,硬件就說到這里。有什么不懂的可以加我QQ1323811540.驗證信息填光立方三、軟方面本光立方有專用取模軟件,如果你按上面電路連接,只需要在C語言程序中做一些小修改就可以使用了!C語言程序下面我會打包
你可以不用上面的P0,P2口但是 0.1.2.3.4.5.6.7的順序必須同上如果你改了,那就請看下面,怎么在程序中改。首先你需要頭文件#include <STC12C2052AD.h>,如果沒有不用擔心我已經打包了,下載再放到keil頭文件的文件夾里就OK,如果不會自己百~度。動畫我都是封裝到一個函數里,看到這里你應該打開C程序來對著看找個短的說明吧!
- void allfalloff() //由全亮到下落關閉只剩一排 動畫函數
- {
- unsigned char code tabP0[4][8]={ 把取模取到的數組直接復制粘貼到這里
- {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
- {0x00,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF}, 要改的是數組標號
- {0x00,0x00,0xFF,0xFF,0x00,0x00,0xFF,0xFF}, tabP0[4][8]
- {0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xFF} 這里取了4次 所以填寫4
- };
- int j,k,i;
- for(j=0;j<4;j++) 這里的4改成和上面數組第一維的數
- {
- for(k=0;k<15;k++) 15是LED點亮的時間 加大LED點亮時間加長
- {
- for(i=0;i<8;i++) 這里不用改
- {
- P0=0; 在看到這里 如果你改了IO組號的話,那這里也需要改 P0改成你接到LED正極上的那個組號
- P2=tabP2; 這里是接到LED負極上的組號
- P0=tabP0[j]; 這里是正極上的組號
- ys(10); 這里是LED熄滅的時間。也就是這個LED亮滅后間隔多少時間才到下一個 加大熄滅時間加長
- }
- }
- }
- }
- 怎么自己加動畫?
- 看完這個你在和其他函數做做對比,相信你會懂的
- 不懂還是加我QQ1323811540 驗證消息:光立方
- void 函數名自己定義() //記得加上動畫注釋說明
- {
- unsigned char code tabP0[4][8]={
- 把取模取到的數組直接貼到這里 在根據你取模的次數修改上面的4
- };
- int j,k,i;
- for(j=0;j<4;j++) 這里的4改成和上面數組第一維的數
- {
- for(k=0;k<15;k++) 15是LED點亮的時間 加大LED點亮時間加長
- {
- for(i=0;i<8;i++) 這里不用改
- {
- P0=0; 在看到這里 如果你改了IO組號的話,那這里也需要改 P0改成你接到LED正極上的那個組號
- P2=tabP2; 這里是接到LED負極上的組號
- P0=tabP0[j]; 這里是正極上的組號
- ys(10); 這里是LED熄滅的時間。也就是這個LED亮滅后間隔多少時間才到下一個 加大熄滅時間加長
- }
- }
- }
- }
復制代碼
0.png (28.71 KB, 下載次數: 62)
下載附件
2016-9-24 18:43 上傳
軟件本身無毒,因為是易語言編寫,所有360可能會誤報。請加入白名單打開軟件 上面就是光立方的LED,灰色表示LED熄滅,淡藍色表示點亮我們看到的是LED的正面。
0.png (32.96 KB, 下載次數: 101)
下載附件
2016-9-24 18:44 上傳
單擊上面的圓點LED自動亮或滅確定圖形后點擊 給我取!這樣你就取得第一幀了、 這里取得的幀數也就是在上面那個數組4要改成的幀數如果需要,繼續取模。 方法同上,相信電子愛好者們都會,如果不會的話,那就別.....那什么了。 取模好后直接復制到上面就好了。
- MAIN()主函數
- Void main() 一小部分說明
- {
- while(1)
- {
- begin(); //全滅 呼吸亮
- allfalloff(); //由全亮到下落關閉只剩一排 直接把動畫函數粘貼下來就行
- turnR(); //由下面一排轉到右面
- righttoleft(); //右面平移到左面
- lefttoright(); //左面平移到右面
- righttoleft(); //右面平移到左面
- lefttoright(); //左面平移到右面
- {
- }
復制代碼
-
-
源程序.zip
2016-9-24 17:36 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
8.55 KB, 下載次數: 27, 下載積分: 黑幣 -5
-
-
取模軟件(專用).zip
2016-9-24 17:36 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
396.37 KB, 下載次數: 41, 下載積分: 黑幣 -5
-
-
光立方444.zip
2016-9-24 17:36 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
623.3 KB, 下載次數: 70, 下載積分: 黑幣 -5
-
-
光立方444.doc
2016-9-24 17:37 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
247 KB, 下載次數: 22, 下載積分: 黑幣 -5
作者: zgzg142536 時間: 2017-3-8 16:35
你的“光立方444.zip”已包含其余三個文件,就不該再列出來了,弄得我都下載,費了好多黑幣,真想罵你,還是算了吧,好的我的黑幣不少,但是還是不爽。
作者: tsop1 時間: 2017-3-16 19:23
借我點黑幣用呀,想下點資料不能下呀!
作者: 無緣無故 時間: 2017-10-13 02:47
感想樓主,打算自己做一個試試
作者: lnwd336 時間: 2017-10-13 14:03
樓主威武
作者: wuxishun 時間: 2018-2-1 09:11
為什么我的只能顯示2*4的燈
作者: mrhan1992 時間: 2018-2-1 10:03
自己想做一個小的光立方,感謝樓主提供的資料
作者: MERCURY 時間: 2018-2-2 17:13
感謝提供資料
作者: Crazy_Octopus 時間: 2018-2-21 21:24
非常給力
作者: 1123551003 時間: 2019-10-26 15:36
首先謝謝樓主共享,然后謝謝1樓提醒
| 歡迎光臨 (http://www.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |