激光投影POV——不炫酷送黑幣啊……  記得是2017年的一時(shí)興起開了這個(gè)坑,當(dāng)時(shí)做出來了顯示效果,然后因?yàn)閷W(xué)習(xí)就一直擱置。過了2年又是我的一時(shí)興起,這次總算是把它做完了。
這個(gè)制作用的材料: 1. 亞克力板 2. 亞克力鏡子-沒錯(cuò),那個(gè)反光板是塑料的,買薄的,好加工而且非常輕 3. 筆芯-做支架用 4. CD機(jī)的光頭-用了那個(gè)電機(jī)和塑料底座 5. 5V激光管 6. 單片機(jī)-STC15F2K16S2-直插28腳封裝 7. 其他各種元器件-排針、三極管、電阻、電容、排線、洞洞板…… 因?yàn)殡娐泛芎?jiǎn)單,所以沒畫PCB,只有控制板的電路圖,傳感器就是紅外對(duì)管,電機(jī)驅(qū)動(dòng)就是一個(gè)NMOS加上一些濾波電路,后來還拆了個(gè)12V電機(jī)上的轉(zhuǎn)速穩(wěn)定電路裝上了。 [電路圖]單片機(jī)IO不是直接驅(qū)動(dòng)激光管啊,都是有PNP三極管的!這里偷懶沒畫…… 工作原理: 電機(jī)帶動(dòng)反光鏡(盡量)勻速旋轉(zhuǎn),紅外對(duì)管檢測(cè)鏡面位置,檢測(cè)到鏡面位置給單片機(jī)外部中斷信號(hào),單片機(jī)開始計(jì)時(shí)。這個(gè)時(shí)間結(jié)束的時(shí)候就是鏡面轉(zhuǎn)到開始顯示的位置,這時(shí)開始點(diǎn)亮激光管,從這里開始原理就和搖搖棒一樣了。 還有個(gè)有意思的創(chuàng)新,這回我用上位機(jī)串口通信,直接傳送點(diǎn)陣數(shù)據(jù)過來顯示,這樣就相當(dāng)于用電腦上面的字庫,解決了漢字字庫的問題,只要上位機(jī)文本框里能顯示,單片機(jī)就能把它投影出來。不過現(xiàn)在16個(gè)點(diǎn)還是有點(diǎn)捉雞,大的東西顯示不了…… [上位機(jī)界面] 程序結(jié)構(gòu): 占用資源: 外部中斷0 紅外對(duì)管 定時(shí)器0 反光鏡旋轉(zhuǎn)一圈計(jì)時(shí) 定時(shí)器1 激光點(diǎn)亮延時(shí) 定時(shí)器2 波特率發(fā)生器 串口1 CCP0 電機(jī)PWM CCP1 串口接收定時(shí)器-用于判定數(shù)據(jù)幀
上位機(jī)用C#寫的,VS2012編譯,Debug模式。代碼很簡(jiǎn)單,而且都是一些事件的觸發(fā),所以沒寫結(jié)構(gòu)出來,直接看代碼就可以,有注釋很容易理解。
注意事項(xiàng): 1. 單片機(jī)工作頻率為27MHz 串口通信波特率默認(rèn)9600 ;緟(shù)的設(shè)置在各個(gè)頭文件中。 2. 串口優(yōu)先級(jí)已經(jīng)調(diào)整為最高。 ……剩下的想不起來了……等想起來再加吧……
最后……給自己發(fā)個(gè)廣告:我的微博最近很冷清呀,歡迎捧場(chǎng)~ (其實(shí)我從沒在上面發(fā)過電子相關(guān)的東西……  ……)
img-340788e6ae1ad9a70589376608373fe7_qrcode.png (162.92 KB, 下載次數(shù): 128)
下載附件
2019-2-4 21:24 上傳
下位機(jī).zip
(119.04 KB, 下載次數(shù): 56)
2019-2-4 21:16 上傳
點(diǎn)擊文件名下載附件
單片機(jī)代碼 使用Keil5編譯 下載積分: 黑幣 -5
上位機(jī).zip
(94.2 KB, 下載次數(shù): 52)
2019-2-4 21:16 上傳
點(diǎn)擊文件名下載附件
C#代碼 使用VS2012編譯 Debug模式 下載積分: 黑幣 -5
|