小圈圈、小愛心、囧字臉……只要是你想得到的,表情矩陣都能擺給你看,是不是很Cool呢~如果你不幸像TBBT裡Raj那樣,見到心儀的女孩就舌頭打結,不妨考慮這個哦~
現在很流行汽車表情儀(16×16的LED陣列),固定幾個表情的(非陣列)要150左右,可以自定義表情的,16×16的要200多小300塊。感覺自己DIY一個成本很低,於是先做一個8×8的表情矩陣,汽車上裝著太小了,可以放在上班時候的工位上。
一般控制LED陣列的話,每一片8×8的陣列,使用一片max7219(約5元1片,美信公司的芯片都是很貴的)矩陣控制,或者使用兩片 74HC595鎖存器(約0.5元1片)。我買好了兩片74HC595,不過想到一片8×8的陣列理論上應該可以直接使用一個89c51來控制(89c51有32個數據腳,arduino腳不夠),仿真實驗成功,省下了1塊錢(2片595),
自己畫了6個圖切換。你發揮想象,可以做出更多的圖來。
工具/原料
○ 8x8 LED陣列;
○ STC89C52RC單片機一片
○ 51最小系統板一個,
○ 點觸開關一個,
○ FC插頭,
○ FC線,
○ 200歐排阻一枚,手頭正好有個排阻,可以少焊7個腳,用上了;
○ 電池盒及1.2V電池四枚,
○ 維修線,
○ 排針3P,
○ 40歐電阻一枚,
必備工具:
● PC機;
● 電烙鐵;
● 焊錫;
● 松香;
● 萬用表;
● 鑷子
調試用:
● 單片機開發板(兼燒錄器)170元;
● 麵包板4元;
● 麵包線70條6.5元;
● 杜邦線(彩色排線)40條6元
開始製作
在仿真軟件上搭建原型,寫程序代碼,調試
仿真實驗原理圖。
用萬用表測量陣列的引腳,確定接線方式
● 如果你買的也是1588abeg的話,上圖是我量好的說明書。
● 如果你使用萬用表的二極管檔來量這個陣列的話,vcc表示紅表棒,gnd表示黑表棒。萬用表的表棒接觸到相應的管腳的時候,選中的某行某列就會亮起來。陣列顯示通常是使用行掃描或列掃描。形象點解釋掃描:假設先給陣列右上角的1接上vcc,然後,為左上角1到8腳分別接上vcc和gnd。如果接的是gnd,那和vcc就型成了迴路,第1行的某個點這亮了起來。這個過程叫掃描一行。接下去掃描第2行,第3行··· 如果一秒鐘超過30次全屏掃描的話,人眼就能看到靜止的圖象了。因為買到的陣列和仿真器裡的陣列轉了90度,所以實質上,本實驗使用的是列掃描。^_^(如果是附帶說明書的就可以省略上面的步驟)
選擇一個最順眼的方式擺放元件
● 把元件都堆到板子上,布一下局,看怎麼排放比較漂亮。
對照仿真實驗的原理圖,用線焊接
● 用老虎鉗把FC線做好,9cm和11cm各做一條。焊接的時候我使用的是線徑0.1mm的電氣維修線,不用刮漆,烙鐵可以直接把漆皮燙掉,直接焊就行了。由於我的佈局原因,這裡交叉的線非常多。用這種線焊比較困難,肉眼看不出是不是漆皮被燙掉了,一不當心就會把兩根線短路在一起了。你可以選擇使用帶皮的電線,或直接使用FC排線來焊接,以免象我這樣。焊了好久才算成功。(或者把那兩個FC頭子放到下圖左邊,線的情況就會好很多了。我在焊線前,先把元件都焊在板子上了,沒法拆下來,只能硬著頭皮焊了。)
連上開發板,為單片機燒錄程序,調試
● 如果你燒錄我的hex文件,你可以省略調試步驟,直接燒錄就可以了。
● 如果你沒有51開發板,沒關係,淘寶上買一條USB轉232線,接上原件清單裡的這個最小系統,使用STC公司官方的燒錄程序就可以直接燒錄了。由於仿真軟件裡的原件電氣性能都是無窮強大的(不會擊穿,沒有漏洞電壓,低電平是絕對的0,高電平是標準的3.3或5V),所以在實際應用的時候,需要計算LED的壓降,加一些外圍元件。另外調試的時候還可能發現其它問題,然後,修BUG吧。
● 調試連接杜邦線的時候,推薦使用棕1紅2橙3黃4綠5藍6紫7灰8白9黑0 的順序接線,這樣方便查看。色環電阻電感也是按這個色碼順序排列的。
● 程序燒錄後會自動執行。調試後我發現電源上要串一個40歐的電阻進行壓降,下圖右下角一個藍色的電阻,是42歐。
把單片機從開發板上拿上來,插在小系統上,完成
● 板子上多了一個42歐的電阻,。完成啦!
注意事項
如果你喜歡帶動畫的版本,直接燒錄新板本的程序就可以。原理圖,仿真實驗和修改後的C程序代碼同樣提供。