1.顯示部分
這是光影棒關(guān)鍵部分,用16個(gè)LED顯示效果比較好,點(diǎn)陣多,可顯示16×16的漢字,也好取模。還可以顯示自畫圖案,點(diǎn)陣多點(diǎn)也好畫圖案。
最好用雙色二極管,這樣可以顯示兩種顏色的字。如果選用貼片的二極管那只能顯示兩種顏色了。但如果選用插腳的雙色二極管就能顯示三種顏色了:紅、綠、黃。
所以,這個(gè)圖我用了插腳的雙色二極管。每個(gè)二極管的限流電阻沒有加在公共端上,原因是限流電阻阻值相同的條件下,紅、綠顯示的亮度不同的,且當(dāng)紅綠同時(shí)顯示時(shí)亮度會(huì)降低。分別串聯(lián)限流電阻就可避免這些問題了。另一個(gè)原因是可以通過調(diào)整紅綠限流電阻的大小,使紅綠的亮度接近,才能混合出黃色,否則就不是黃色,而是偏紅或偏綠了。
2.選擇單片機(jī)
在確定了顯示部分后,就可以確定單片機(jī)了??紤]引腳因素,我選擇了AT89LS51/52,可工作在低電壓下,這樣,可用2節(jié)或3節(jié)7號(hào)電池,好固定。
16個(gè)LED需要有32個(gè)I/O腳控制,但因還要有兩個(gè)控制按鈕,按包已經(jīng)是減少到最少了。這樣,將P1口留作控制口、ISP下載程序接口和擴(kuò)展接口,其余P0,P2,P3有24條引腳。所以,單片機(jī)的引腳還需要擴(kuò)展8個(gè),就用一片74HC595來擴(kuò)展8條引腳就全部解決了。關(guān)于速度問題不用考慮,51單片機(jī)足夠用的。在此不作說明,有疑問的朋友可另加解釋。
3.LED驅(qū)電流問題,
最好要買高亮度的二極管,因驅(qū)動(dòng)電流比較小,且亮度也高。但不同型號(hào)的二極管,紅綠色驅(qū)動(dòng)電流的大小是不同的。如我們?cè)瓉碛玫碾p色二極管,在達(dá)到相近亮度的條件下,紅色驅(qū)動(dòng)電流較小,而綠色驅(qū)動(dòng)電流較。但最近我們又買了一種雙色二極管,是真正的高亮度,不過綠色驅(qū)動(dòng)電流小,紅色驅(qū)動(dòng)電流大。但都比原來的驅(qū)動(dòng)電流小多了,綠色為1mA,紅色為1.5mA,用單片機(jī)直接驅(qū)動(dòng)是足夠用的。
4.兩個(gè)控制按鈕的作用
S2水銀開關(guān),根據(jù)搖動(dòng)的方向自動(dòng)變換顯示不同顏色的字,如先開始向右搖顯示紅色字,顯示4個(gè)字,再返回向右搖,顯示綠色字,顯示另4個(gè)字。每次搖動(dòng)到底顯示幾個(gè)字就由編程時(shí)決定了。右左搖動(dòng)一次則顯示一組字。如果買不到水銀開關(guān)就用按鈕代替了,但效果不理想了。在北京的中發(fā)應(yīng)該能買到水銀開關(guān)吧。
S1計(jì)數(shù)按鈕:有兩個(gè)作用,一是用于調(diào)節(jié)工作方式的,有兩種工作方式,一種是自動(dòng)變換方式,另一種是手動(dòng)選擇方式。
可事先寫入幾組顯示的文字,即右左搖動(dòng)一次變換為一組文字。在自動(dòng)變換方式下,每搖動(dòng)一次就自動(dòng)變換一組文字。這樣,從開始第一次搖動(dòng),每次搖動(dòng)就會(huì)顯示不同的文字了,直到顯示最后一組文字后,再回到第一組重新開始,怎么樣,是不是很酷啊。
如果想就保持顯示一組文字的話,就調(diào)節(jié)到手動(dòng)選擇方式。這手動(dòng)方式下,每按一次按鈕S1,順次變換一次顯示的文字,直至最后一組再從第一組變換。
這樣,S1按鈕就用兩種選擇功能了,首先用來調(diào)節(jié)工作方式,在手動(dòng)方式下還要用于選擇顯示文字組。這種一個(gè)按鈕多種功能的工作方式,要由軟件來實(shí)現(xiàn)了。
具體的編程方法我暫時(shí)保留,看看哪位大蝦能說出來,如果有說出來的,我向SOSO推薦給你加分加芯幣。
5.顯示模式
既然我們論壇中有很多高手,就要DIY出具有創(chuàng)意的有特色的光影棒來嗎,在硬件方案確定下來以后,具體的顯示內(nèi)容和模式就由軟件來發(fā)揮了。
(1)比較容易實(shí)現(xiàn)的是顯示幾個(gè)16×16的文字,這個(gè)水平一般。
(2)顯示幾組單色圖案,這個(gè)有點(diǎn)水平,需要畫出幾幅圖案,然后取出點(diǎn)陣數(shù)據(jù)。
(3)顯示幾組彩色圖案,這才是高水平呢。圖案中有紅色、綠色和黃色,雖然顏色只有三種,但也可以畫出一個(gè)比較漂亮的圖型了。