本人親自實(shí)踐,完成了一份作品,然后整理下資料和大家分享。
0.png (68.42 KB, 下載次數(shù): 159)
下載附件
2016-6-1 14:10 上傳
無線供電小板原理圖.pdf
0.png (120.35 KB, 下載次數(shù): 126)
下載附件
2016-6-1 14:11 上傳
旋轉(zhuǎn)LED主板原理圖.pdf
如何讓一列燈旋轉(zhuǎn)起來感覺像穩(wěn)定的字顯示在空中呢?首先我們來分析下人的眼睛,其實(shí)人的眼睛非常好騙的,只要讓電機(jī)掃描的快一點(diǎn)就行了,實(shí)際上肉眼在24幀/秒以上就不會(huì)看到閃爍的,所以要保證電機(jī)的速度能在一秒轉(zhuǎn)24圈以上,這樣的話人眼就覺得旋轉(zhuǎn)的字很穩(wěn)定很清晰的顯示在空中了。 旋轉(zhuǎn)LED旋轉(zhuǎn)起來是一個(gè)圓,那么就需要有一個(gè)傳感器來判斷起點(diǎn)位置,有人用霍爾傳感器,有人用紅外對(duì)管,筆者覺得用紅外對(duì)管來的便宜些,而且實(shí)現(xiàn)起來也容易。這個(gè)起點(diǎn)檢測(cè)非常重要,單片機(jī)就是根據(jù)這個(gè)起點(diǎn)來判斷是否要開始顯示 數(shù)據(jù)的。如果起點(diǎn)檢測(cè)不到 單片機(jī)就不開始顯示。 如何讓一列燈不斷的送數(shù)據(jù)實(shí)現(xiàn)一個(gè)文字的顯示呢?這個(gè)我們就要了解文字取模的原理了,這里以PC2002字幕軟件為例,取一個(gè)16*16的中文字,見字幕選項(xiàng)設(shè)置:
0.png (123.11 KB, 下載次數(shù): 157)
下載附件
2016-6-1 14:17 上傳
0.png (37.99 KB, 下載次數(shù): 117)
下載附件
2016-6-1 14:18 上傳
取模后如下表: 0xFF,0x7F,0xFF,0xBF,0x3F,0xC8,0xBF,0xFB,0xBF,0xFB,0xBF,0xEB,0x80,0x9B,0xB7,0xFB,0xB7,0xEB,0xB7,0x9B,0xB7,0xFB,0x37,0xF8,0xF7,0xEF,0xF7,0x1F,0xFF,0xFF,0xFF,0xFF,/*"點(diǎn)",0*/ 現(xiàn)在我們知道16*16取模是一列一列取的了,一列有2個(gè)字節(jié),一共16列,所以一個(gè)16*16的漢字就有32個(gè)字節(jié),需要占用單片機(jī)的Code空間 32個(gè)字節(jié)。然后再結(jié)合硬件來分析,如下圖:
0.png (86.16 KB, 下載次數(shù): 152)
下載附件
2016-6-1 14:19 上傳
0.png (122.18 KB, 下載次數(shù): 133)
下載附件
2016-6-1 14:19 上傳
一列燈16個(gè) 剛好對(duì)應(yīng)16*16一個(gè)漢字的一列:2個(gè)字節(jié),所以把取模到的數(shù)據(jù)依次送到P2口 和P4 P5口,這里硬件中P4 P5組成一個(gè)字節(jié),所以顯示程序如下: for(i=0;i<16;i++)//送16列 顯示 這里只顯示一個(gè)字。 { P2=zimo[i*2]; //送數(shù)據(jù)低位顯示 P4=(zimo[i*2+1]);//送數(shù)據(jù)高位顯示 這里用了單片機(jī)P4 和P5口 是LQFP48腳才有的IO口 P5=(zimo[i*2+1])>>4;//這里行和列 都是IO口獨(dú)立驅(qū)動(dòng)的LED DelayUs(200); //延時(shí)讓LED亮起來 每列延時(shí)的時(shí)間 P2=0XFF; P4=P5=0XFF; } 在什么時(shí)候送顯示呢?單片機(jī)IO一判斷到 紅外接收管接收到起點(diǎn)信號(hào),就開始顯示,顯示完16列后等待下一次的起點(diǎn)信號(hào)。這樣只要電機(jī)的速度夠快就會(huì)穩(wěn)定的把字顯示字空中了。平面的文字顯示同理。 如何讓一組文字不斷的移動(dòng)?這就需要一個(gè)字幕計(jì)數(shù)器,旋轉(zhuǎn)LED每旋轉(zhuǎn)一圈,這個(gè)字幕計(jì)數(shù)器就加一,指向下一列,這樣不斷的刷新,感覺文字就在移動(dòng)了,程序如下: j就是字幕計(jì)數(shù)器,每轉(zhuǎn)一圈j就會(huì)加1; if(KEY==0)//紅外接收管 判斷起始位 { j++; if(j>672) //根據(jù)顯示的字?jǐn)?shù)定義改數(shù)值672/16=42個(gè)字 顯示完42個(gè)字后 重新開始 { j=0 ; } for(i=j;i<128+j;i++)//每轉(zhuǎn)一圈 前進(jìn)一列 這里定義一圈中同時(shí)顯示128/16=8個(gè)字, { P2=zimo[i*2]; //送數(shù)據(jù)低位顯示 P4=(zimo[i*2+1]);//送數(shù)據(jù)高位顯示 這里用了單片機(jī)P4 和P5口 是LQFP48腳才有的 P5=(zimo[i*2+1])>>4;//這里行和列 都是IO口獨(dú)立驅(qū)動(dòng)的LED DelayUs(200); //延時(shí)讓LED亮起來 每列延時(shí)的時(shí)間 P2=0XFF; P4=P5=0XFF; } 最后一點(diǎn)是供電的問題,旋轉(zhuǎn)LED供電問題是比較麻煩的,這里我采用了無線供電方式,經(jīng)過實(shí)踐論證,功率很有限,需要改進(jìn)的地方還很多,電路原理是把直流轉(zhuǎn)成交流,然后經(jīng)過初級(jí)線圈 ,最后次級(jí)線圈感應(yīng)得電,經(jīng)過整流濾波后給旋轉(zhuǎn)部分供電,直流轉(zhuǎn)交流部分電路是一個(gè)自激震蕩電路。動(dòng)手能力強(qiáng)的朋友經(jīng)過改造電機(jī)電刷方法實(shí)現(xiàn),如果有條件制作的歡迎用此種方式。 另外還分享一個(gè)pov制作:
0.png (40.42 KB, 下載次數(shù): 141)
下載附件
2016-6-1 14:15 上傳
0.png (85.5 KB, 下載次數(shù): 123)
下載附件
2016-6-1 14:10 上傳
全部制作資料下載:
十字旋轉(zhuǎn)LED.rar
(5.62 MB, 下載次數(shù): 697)
2016-5-31 13:50 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|