小圈圈、小愛(ài)心、囧字臉……只要是你想得到的,表情矩陣都能擺給你看,是不是很Cool呢~如果你不幸見(jiàn)到心儀的女孩就舌頭打結(jié),不妨考慮這個(gè)哦~
現(xiàn)在很流行汽車表情儀(16×16的LED陣列),淘寶上,固定幾個(gè)表情的(非陣列)要150左右,可以自定義表情的,16×16的要200多小300塊。感覺(jué)自己DIY一個(gè)成本很低,于是先做一個(gè)8×8的表情矩陣,汽車上裝著太小了,可以放在上班時(shí)候的工位上。哈哈哈。一般控制LED陣列的話,每一片8×8的陣列,使用一片max7219(約5元1片,美信公司的芯片都是很貴的)矩陣控制,或者使用兩片 74HC595鎖存器(約0.5元1片)。我買好了兩片74HC595,不過(guò)想到一片8×8的陣列理論上應(yīng)該可以直接使用一個(gè)89c51來(lái)控制(89c51有32個(gè)數(shù)據(jù)腳,arduino腳不夠),仿真實(shí)驗(yàn)成功,省下了1塊錢(2片595),哈哈。下面是成品圖及我錄的視頻,我自己畫(huà)了6個(gè)圖切換。你發(fā)揮想象,可以做出更多的圖來(lái)。我斷斷續(xù)續(xù)地在2天時(shí)間里抽時(shí)間把它做出來(lái)的(仿真實(shí)驗(yàn)和原理圖我在N天前就已經(jīng)做好了。本次DIY手工實(shí)際估算花費(fèi)焊接40分鐘,調(diào)試1小時(shí))。
1 工具和材料
○ 8x8 LED陣列,淘寶購(gòu)得,單價(jià)4.7元(后來(lái)在diytrade.com上發(fā)現(xiàn),一次性買32片的話,只需要0.7元一片);
○ STC89C52RC單片機(jī)一片, 淘寶購(gòu)得,單價(jià)3.7元;
○ 51最小系統(tǒng)板一個(gè),淘寶購(gòu)得,單價(jià)3.9(此為虧本賺信用價(jià),現(xiàn)在賣家已經(jīng)漲價(jià)到9.9元。另有5.8元價(jià)格的,小一些,沒(méi)有串口和 232芯片,做工也差一個(gè)級(jí)別。不如買9.9元的系統(tǒng)劃算。);
○ 洞洞板一片,淘寶購(gòu)得,單價(jià)0.4元;
○ 點(diǎn)觸開(kāi)關(guān)一個(gè),淘寶購(gòu)得價(jià)格0.4元(一定要買帶蓋子的,手感要好很多);
○ FC插頭,淘寶購(gòu)得,10套價(jià)格2.5元。本實(shí)驗(yàn)需用掉4套插頭,2套插座;
○ FC線,淘寶購(gòu)得,100cm價(jià)格5元,本實(shí)驗(yàn)用掉了9厘米和11厘米各一段;
○ 200歐排阻一枚,淘寶購(gòu)得,單價(jià)0.4元(圖片中為8枚單阻,淘寶買,100枚價(jià)格1元。手頭正好有個(gè)排阻,可以少焊7個(gè)腳,用上了);
○ 電池盒及1.2V電池四枚,自有;
○ 維修線,淘寶購(gòu)得,20米價(jià)格2元(圖中黑色圈的那個(gè)。就是很細(xì)的漆包線,當(dāng)電線用);
○ 排針3P,淘寶購(gòu)得,40P價(jià)格0.25元(上圖中沒(méi)有);
○ 40歐電阻一枚,自有,購(gòu)買的話100枚1元(上圖中沒(méi)有,調(diào)試過(guò)程中發(fā)現(xiàn)需要降壓,不然低電平不夠低,不亮的點(diǎn)會(huì)有漏光)
2 在仿真軟件上搭建原型,寫(xiě)程序代碼,調(diào)試
● 仿真實(shí)驗(yàn)原理圖。
● 我使用的是proteus,附件里Matrix_pure.rar壓縮包里有仿真實(shí)驗(yàn)文件(.dsn)。如果你直接下載我的實(shí)驗(yàn)源代碼包,此步驟就可以省略,直接燒錄martrix_pure.hex到單片機(jī)里就可以了。
● 如果你買的也是1588abeg的話,上圖是我量好的說(shuō)明書(shū)。
● 如果你使用萬(wàn)用表的二極管檔來(lái)量這個(gè)陣列的話,vcc表示紅表棒,gnd表示黑表棒。萬(wàn)用表的表棒接觸到相應(yīng)的管腳的時(shí)候,選中的某行某列就會(huì)亮起來(lái)。陣列顯示通常是使用行掃描或列掃描。形象點(diǎn)解釋掃描:假設(shè)先給陣列右上角的1接上vcc,然后,為左上角1到8腳分別接上vcc和gnd。如果接的是gnd,那和vcc就型成了回路,第1行的某個(gè)點(diǎn)這亮了起來(lái)。這個(gè)過(guò)程叫掃描一行。接下去掃描第2行,第3行 如果一秒鐘超過(guò)30次全屏掃描的話,人眼就能看到靜止的圖象了。因?yàn)橘I到的陣列和仿真器里的陣列轉(zhuǎn)了90度,所以實(shí)質(zhì)上,本實(shí)驗(yàn)使用的是列掃描。^_^
● 如果你買的陣列是帶說(shuō)明書(shū)的,此步驟可以省略。
4 選擇一個(gè)最順眼的方式擺放元件
● 把元件都堆到板子上,布一下局,看怎么排放比較漂亮。
5 對(duì)照仿真實(shí)驗(yàn)的原理圖,用線焊接
● 用老虎鉗把FC線做好,9cm和11cm各做一條。焊接的時(shí)候我使用的是線徑0.1mm的電氣維修線,不用刮漆,烙鐵可以直接把漆皮燙掉,直接焊就行了。由于我的布局原因,這里交叉的線非常多。用這種線焊比較困難,肉眼看不出是不是漆皮被燙掉了,一不當(dāng)心就會(huì)把兩根線短路在一起了。你可以選擇使用帶皮的電線,或直接使用FC排線來(lái)焊接,以免象我這樣。焊了好久才算成功。(或者把那兩個(gè)FC頭子放到下圖左邊,線的情況就會(huì)好很多了。我在焊線前,先把元件都焊在板子上了,沒(méi)法拆下來(lái),只能硬著頭皮焊了。)
6 連上開(kāi)發(fā)板,為單片機(jī)燒錄程序,調(diào)試
● 如果你燒錄我的hex文件,你可以省略調(diào)試步驟,直接燒錄就可以了。
● 如果你沒(méi)有51開(kāi)發(fā)板,沒(méi)關(guān)系,淘寶上買一條USB轉(zhuǎn)232線,接上原件清單里的這個(gè)最小系統(tǒng),使用STC公司官方的燒錄程序就可以直接燒錄了。由于仿真軟件里的原件電氣性能都是無(wú)窮強(qiáng)大的(不會(huì)擊穿,沒(méi)有漏洞電壓,低電平是絕對(duì)的0,高電平是標(biāo)準(zhǔn)的3.3或5V),所以在實(shí)際應(yīng)用的時(shí)候,需要計(jì)算LED的壓降,加一些外圍元件。另外調(diào)試的時(shí)候還可能發(fā)現(xiàn)其它問(wèn)題,然后,修BUG吧。
● 調(diào)試連接杜邦線的時(shí)候,推薦使用 棕1紅2橙3黃4綠5藍(lán)6紫7灰8白9黑0 的順序接線,這樣方便查看。色環(huán)電阻電感也是按這個(gè)色碼順序排列的。
● 程序燒錄后會(huì)自動(dòng)執(zhí)行,看,漂亮的圖顯示出來(lái)了。調(diào)試后我發(fā)現(xiàn)電源上要串一個(gè)40歐的電阻進(jìn)行壓降,下圖右下角一個(gè)藍(lán)色的電阻,是42歐。原理圖里我已經(jīng)補(bǔ)上啦。
7 把單片機(jī)從開(kāi)發(fā)板上拿上來(lái),插在小系統(tǒng)上,完成
● 板子上多了一個(gè)42歐的電阻,原料清單里有,上面的圖片里都沒(méi)有。
完成啦!
8 動(dòng)畫(huà)過(guò)度升級(jí)版
晚上回到家,把程序升級(jí)了一下?,F(xiàn)在切換表情的時(shí)候,會(huì)有一個(gè)小小的動(dòng)畫(huà)效果。
如果你喜歡帶動(dòng)畫(huà)的版本,直接燒錄新板本的程序就可以。原理圖,仿真實(shí)驗(yàn)和修改后的C程序代碼在附件的Matrix_pure_v2.rar里提供。