欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: (原創分享)玩了那么久光立方其實也有寫過日志,但一直存在草稿里沒發表過 第一次發 [打印本頁]

作者: 小月子    時間: 2016-5-24 15:21
標題: (原創分享)玩了那么久光立方其實也有寫過日志,但一直存在草稿里沒發表過 第一次發
材料清單:

首先要diy光立方需要買齊什么電子元件?
光立方材料清單:
主控芯片 STC90C516RD  (這個家里有就沒買)
霧狀 白發藍發光二極管 尺寸2*5*7  *550個
74HC573鎖存器  *8個 (貼片)
ULN2803
達林頓管驅動器 *1個  (貼片)
18*30cm洞洞板 *1
晶振 *1個 12MHZ
陶瓷電容 22PF  *2個
200歐電容  *64個
以及跳線、按鍵開關...
共計70元左右

在快遞寄來前,需要先畫仿真電路圖
淺談光立方硬件原理:
512個獨立LED如果要單片機單獨控制是不可能的,因為51單片機只有32個I/O口(input/output)。

所以就需要用到鎖存器,每個鎖存器能鎖存一個字節的”電平信號“,可以控制8個LED,8個鎖存器可以控制64個LED。
可以把光立方分成8層,每層共陰,八個層的陰極接ULN2803 達林頓管驅動器的8個輸出端口。而ULN2803 達林頓管驅動器的輸8個入端接P1端口,用來控制光立方的8個層哪個層可以有電流通。
如 P0 = 0X01; 二進制值 = 00000001,也就是說,
達林頓管驅動器輸出端只有第一個端口輸出低電平,其他端口都是高電平。這樣一來通過P0端口值的變換就可以用8個鎖存器循環控制第0~7層。

/*沒學過畫畫,畫的是有點丑*/




(補充信息)固定畫面的顯示,所需要硬件執行的過程


1.將第一層64個點的數據傳入8個74hc573中,控制uln2803層控制芯片打開第一層開關,使第一層點亮,這個時候,其他層是滅的。
2.等待時間t。
3.熄滅第一層,開始向74hc573中傳輸第二層的數據,鎖存,開啟第二層總控制開關,點亮第二層。
4.等待時間t。
.......
熄滅第一層,將第八層的的數據傳進所有74hc573中,鎖存,開啟第八層總開關,點亮第八層。
再回到第一步,循環下去....
這樣,便實現了一個周期畫面的顯示,由于人眼的視覺暫留的特性,只要刷新的夠快,我們看到的就是光立方整體都在亮。便實現了我們想要的效果。為了畫面的穩定,上面間隔點亮t要保持一致,否則會出現亮度不均的情況。
在實際使用上述電路的時候,最好給74hc573輸出的64個引腳分別加一個限流電阻,這樣能起到很好的二極管保護作用和整體功耗的限制以及亮度的調節。

對于光立方,首先要清楚其工作原理,整個點亮的過程,單片機需要一直工作的,單片機每一次發送的數據只能點亮一層的特性得知,在整個畫面顯示圖案的時候,即使是靜止的圖案,那么單片機也是在不斷循環工作的。如果單片機停止了工作,那么光立方得圖案即會消失。
又由于這個特性,如果點亮某一層后停留的時間不一樣,就會造成每一層的亮度不均勻,所以為了避免這些,需要一個準確的時間基準來依次點亮光立方的每一層,方法有很多,但單片機不能總處理這么一個任務,他可能要處理的還有,動畫的實時運算,其他數據的采集和處理等,所以考慮到這些任務都是需要實時運行的,編程難度似乎加大了不少,這時需要引入單片機中斷這一基礎功能,難題便會迎刃而解。
首先定義一個緩存數組,用于儲存所有的光立方每一點的數據,暫且理解為顯存。我通常用display[8][8]定義為數組。
下面就要定期把這個數組定期發送至驅動板中,時間如何去定義。
我查閱資料后發現,當現實器播放大于15幀的動畫時,才會在我們的眼中形成流暢的效果。那么光立方刷新頻率要大于15hz/s(越大越好,但是越大單片機負載也越大),這里也就是說,每1/15秒就要進行一次全部圖的刷新,又由于在相同時間,只有一層能夠點亮,那么每一層停留的時間就是1/15/8s根據這些規則,我需要定義定時器讓定時器有相應的數值。把這段專門用于刷新光立方顯示的程序放于中斷服務程序中。這樣,我們程序的基礎框架就有了。由于是定時器中斷自動來刷新驅動板數據,這樣我們看到的圖像很穩定,亮度也均勻。而且我們再寫其他的圖案動畫程序時候,不用再去考慮去更新驅動板數據,一切都會由中斷自動完成。而我們如果要更改圖案,我們只需要對數組所儲存的數據進行更改即可,這也使我們的動畫程序很驅動程序產生隔離,這樣做的好處是即使更換了驅動板,那么也只需要對驅動函數(中斷里面的程序)做相應的改動即可,不必再對其他程序改動。這也避免了“動一發而牽全身”的尷尬局面。






快遞寄得慢也就算了,居然還少寄了!先倒騰起來

把母孔焊到洞洞板上


用硬紙板做焊接模具,掰彎發光二極管,準備焊接。



第一面焊好,燙手啊!





接著焊好板子及板子底下的跳線




接著做好給光立方供電的電源

最后光立方就做出來了


也許有人會問你光立方的制作過程怎么不全,是這樣的我這篇文章以前是寫在QQ空間的日志草稿里的,還沒全寫完。就在前幾天這個光立方被一個網友買走了, 這個網友先是在網上買了一個PCB板做光立方成品,然而畢業設計沒通過,就想買洞洞板的光立方于是就跟我買了。
關于我對光立方驅動程序的理解,手寫筆記也一起寄給了那個網友。但是我在寄快遞前用手機拍了下來


















這些程序在帖子附件中都有,想研究光立方程序的可以下載附件看看

小學生班門弄斧了,希望大家諒解!



最后說一下洞洞板制作光立方容易出現的一些問題
1.鎖存器的兩個腳短路的問題。
2.做好不要用母孔做光立方,容易造成燈腳與板子接觸不良和造成光立方的不整齊
3就是要注意發光二極管的漏光問題,有的LED被反向擊穿了,所以電流就會從負極流向正極。導致該亮的燈不亮,不該亮的燈亮。
4.國產鎖存器里面壞的多,我買10個國產鎖存器里面有一個是壞的,鎖存器第4個輸入口居然接地了,導致我做光立方遇到了很大的問題。

光立方仿真.zip

139.08 KB, 下載次數: 60, 下載積分: 黑幣 -5


作者: 小月子    時間: 2016-5-24 15:24
如果閑stc90c516單片機運行速度慢的話,可以用stc12單片機做光立方,要比stc90運行速度快很多遍。
作者: 小月子    時間: 2016-5-24 15:46
光立方材料清單: 主控芯片 STC90C516RD  (這個家里有就沒買) 霧狀 白發藍發光二極管 尺寸2*5*7  *550個 74HC573鎖存器  *8個 (貼片) ULN2803 達林頓管驅動器 *1個  (貼片) 18*30cm洞洞板 *1 晶振 *1個 12MHZ 陶瓷電容 22PF  *2個 200歐電阻  *64個 以及跳線、按鍵開關...
作者: 小月子    時間: 2016-5-24 16:03
忘記分享視頻了
http://v.youku.com/v_show/id_XMTU3MDI1NjIyMA==.html?firsttime=0
作者: 小月子    時間: 2016-5-25 22:15

作者: heicc    時間: 2016-5-30 08:38
好棒的diy制作啊,力頂. 視頻效果真拉風

樓主買10個國產鎖存器里面有一個是壞的,估計肯定是翻新的,不知道樓主買的多少錢一個我以前買的好像是1元左右,也是遇到了壞的.國產貨真是悲哀.
作者: 小月子    時間: 2016-5-30 10:59
heicc 發表于 2016-5-30 08:38
好棒的diy制作啊,力頂. 視頻效果真拉風

樓主買10個國產鎖存器里面有一個是壞的,估計肯定是翻新的,不 ...

8毛一個
作者: taoran    時間: 2016-6-2 16:38
真是不錯,特別是樓主的筆記做的真詳細,給初學者提供了很大的幫助,樓主萬歲
樓主還是用的大塊頭的變壓器+7805供電吧,還是建議采用開關電源

作者: 13314191157    時間: 2016-6-19 16:55
好棒啊
作者: 916597643    時間: 2016-10-25 16:43
好好收益了
作者: 翠花哥哥    時間: 2017-3-25 12:07
贊一個樓主,學習到了很多東西
作者: 2284302416    時間: 2017-4-15 23:18
很厲害,贊一個,對我幫助很大




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1