|
這個(gè)是參考國外網(wǎng)站做的然后發(fā)布到51hei論壇來的,偶然在國外網(wǎng)站上看到老外做的LED光立方,看了視頻后,覺得特別炫,于是準(zhǔn)備自己也做一個(gè),于是參照它的方案做出了下面大家看到的這個(gè)光立方,做工不是很精細(xì),希望大家批評指教。今天發(fā)貼于此,與大家共同學(xué)習(xí),共同進(jìn)步。費(fèi)話不多說,下面正式介紹我的這個(gè)LEDCUBE。
視頻:
1,準(zhǔn)備材料 ●512*LEDs(多買幾個(gè),以防止有的是壞的,最好是霧面的,如果買來的不是霧面LED,可以住LED上輕微噴些白漆以達(dá)到效果) ●細(xì)鐵絲(用來焊接LED,如果買的LED引腳夠長可以不用) ●64*電阻(510R左右的) 8*電阻(220R,三極管基極) 8*電阻(2.2K,三極管上拉) ●8*74HC574(鎖存器,多路復(fù)用,也可采用595移位寄存器,本方案用574,595不再討論) ●1*74ACT138(譯碼器,給574產(chǎn)生時(shí)鐘信號) ●8*s8050三極管(用作開關(guān)管) ●電解電容(主要為電源電路部份用) ●USB母頭 ●開關(guān) ●DC接頭 ●一塊MCU最小系統(tǒng)板(本方案采用飛思卡爾的XS128,有點(diǎn)奢侈,其實(shí)用51單片機(jī)就可以,比如12C5A就ok) ●兩塊20cm*20cm的鋪銅板(本方案板子全部自己用Altium Designed畫出來,然后用感光綠油曝光和腐蝕,也可用洞洞板自己搭,不過比較麻煩,工產(chǎn)打樣同樣也是忒貴,還是腐蝕板最為經(jīng)濟(jì)) (如果采用腐蝕板,還需要準(zhǔn)備以下東西) ●紫外燈(日光燈也可,不過爆光時(shí)間需要自己實(shí)驗(yàn)得出) ●顯影劑 ●感光綠油 ●環(huán)保型腐蝕劑(或者三氯化鐵) ●脫膜劑
2,什么是立方燈呢? 立方燈就像是一個(gè)LED屏幕,但是它特殊在有第三維,使得它能夠有3D效果。可以把它認(rèn)為是透明且低分率的顯示器。正常顯示器是盡最大程度堆棧象素來使得顯示出來的東西更加真實(shí)漂亮,但是在立方燈必須能看得到里面,同時(shí)在象素間需要更多空間。 立方燈不需要遵循什么標(biāo)準(zhǔn),它可做成7*8*9,甚至更加古怪的形狀。
3,立方燈如何工作 這個(gè)立方體有512個(gè)LED。很明顯,每個(gè)LED有一個(gè)專用的IO端口是非常不切實(shí)際的。你需要一個(gè)有512IO端口的微控制器,通過該多維數(shù)據(jù)集運(yùn)行512線。LED立方體依賴一個(gè)光學(xué)現(xiàn)象叫做持續(xù)幻象(POV)。如果你led閃爍的非常快, 在led關(guān)掉前,圖像將留在你的視網(wǎng)膜一小會兒。通過閃爍每一層多維數(shù)據(jù)集的一個(gè)接一個(gè)的反應(yīng)非常快,它給人一種3 d圖像的感覺,事實(shí)上你看到是一系列的二維圖像堆積成的。有了這個(gè)這些,我們只需要64(為陽極)+ 8(每一層)IO端口控制LED多維數(shù)據(jù)集。
4 ,剖析立方燈 下面我們看一下LEDCUBE 的立體結(jié)構(gòu)。 一個(gè)LED 有兩個(gè)引腳,一個(gè)陽極和一個(gè)陰極,為了點(diǎn)亮LED ,我們要使得陽極為高電平,而陰極為低電平。 LED 立方燈由64 列和8 層組成,每一列也就是連線垂直地面的8 個(gè)LED ,這8 個(gè)LED 的陽極是連接在一起的;每一層是由平行地面的64 個(gè)LED 組成的,這64 個(gè)LED 的陰極是連在一起的。 在控制的時(shí)候,每次讓其中一個(gè)面的選中(也就是讓其中一個(gè)面的陰極為低電平,其它面仍然保持高電平),然后從鎖存器讀出這一層的數(shù)據(jù)輸出到64 列,這樣就完成了一次層掃描,按照這樣的方式依次掃描其它7 層就可以完成一次LED 掃描。LED 立方的結(jié)構(gòu)。
5 ,驅(qū)動電路 我們的LED 立方燈為8*8*8 的,這樣需要有至少64+8 個(gè)IO 口進(jìn)行控制,如果用超過64 個(gè)引腳的單片來控制,這會大大增加我們的成本,一般的51 單片機(jī)又沒這么多的引腳,為了解決這個(gè)問題,我們采用74HC574 鎖存器多路利用。 74HC574: ● 8個(gè)輸入●8個(gè)輸出●1個(gè)時(shí)鐘信號●1個(gè)輸出使端 鎖存器最終要完成的工作就像一個(gè)簡單的緩存,鎖存器能保持8位數(shù)據(jù),當(dāng)輸出使能有效時(shí),數(shù)據(jù)將送到輸出引腳。當(dāng)時(shí)鐘發(fā)生上升沿的時(shí)候,鎖存器數(shù)據(jù)被刷新一次。為了能夠刷新到8個(gè)鎖存器,我們將8個(gè)鎖存器的8個(gè)個(gè)輸入分別接在一起,構(gòu)成8bit數(shù)據(jù)總線,然后能過8個(gè)使能端的控制分別刷新8個(gè)鎖存器。 下面的代碼實(shí)現(xiàn)刷新鎖存器的功能。
// PORT A = data bus
// PORT B = address bus (74HC138)
// char buffer[8] holds 64 bits of data for the latch array
PORTB = 0x00; // This pulls CP on latch 1 low.
for (i=0; i <8; i++)
{PORTA= buffer;
PORTB = i+1;}
6,主板電路
我們采用的主板上面主要是由主控核心板組成,還有一個(gè)三管開關(guān)電路組成,沒有什么多的東西,不再細(xì)說。下圖為主板控制電路。
8,制作過程圖集
********PCB制作圖集********
***************************
********LED搭建圖集********
**************************
********整體效果********
***********************
電路圖資料.rar
(47.1 KB, 下載次數(shù): 232)
2013-10-16 21:23 上傳
點(diǎn)擊文件名下載附件
DIY電路板.pdf
(1.9 MB, 下載次數(shù): 271)
2013-10-16 21:24 上傳
點(diǎn)擊文件名下載附件
代碼.rar
(107.75 KB, 下載次數(shù): 178)
2013-10-16 21:24 上傳
點(diǎn)擊文件名下載附件
|