|
前段時間做了個自行車風火輪,這個東西現在市面上很多。我做的這個用32個LED,加上了無線遙控功能,算是一點點創新吧。我會把資料都放出來,說實話并不算很完美。
先看成品圖:
143630oq8zd2nq8z8qzvfu.jpg.thumb.jpg (36.34 KB, 下載次數: 2132)
下載附件
2013-6-26 03:02 上傳
再看下效果視頻,用數碼相機錄的,實際效果要比視頻效果好很多
用的是STC89C54,74HC595鎖存器,霍爾傳感器A3144,PT2262/2272無線遙控模塊。
用STC89C54的原因是它有16K的ROM,能存的畫面數據比較多,這個設計我存了10個畫面。再有STC的比AT更人性化,比如說EA腳不用給高電平也行。
595是串口輸入并口輸出的鎖存器,其實用74HC573也可以,可能會更好。因為573的輸出電流比595要低一些,595的輸出電流是35mA,這個電流驅動一個LED燈是有點大了,用573會比較合適。另外控制上573比595簡單一些,573是并口輸入并口輸出。或者用595的話就每個輸出口加200歐電阻限流,我設計的時候沒有加。這些留給大家驗證吧。
A3144沒什么可說的,再簡單不過了,正常高電平,有磁場就輸出低電平,用來觸發單片機的外部中斷,很好用。
PT2262/PT2272其實也挺簡單的,因為是做成模塊了,只需要編程控制它,這個芯片有兩種,一種是點動輸出,一種是持續輸出,就是按下遙控的時候,接收端的輸出方式不同,一種按著就一直輸出,放手就停止輸出,另一種是按下后放手了也繼續輸出。它的接收端芯片有一個信號腳和4個數據腳,數據腳用來判斷按鍵的,信號腳可以用來觸發中斷,我就是用它的VT腳的負跳變來觸發單片機外部中斷,實現遙控功能。
電源方面,我用的是6個1.5V的干電池串成的9V電源供電,進過7805,前面說到595的輸出電流是35mA,在這個情況下,如果32個燈同時亮起來的電流其實也是蠻大的,所以如果是普通的電池,折騰不了多久的,如果真的要使用的話,建議還是換9V的鋰電池。我就遇到一個情況就是電池電壓降得太厲害,雖然單片機不受影響,但是遙控的接收模塊卻不行,遙控會失靈的,或者另外一個解釋是電流太大,會干擾影響接收端的解碼,從而使遙控無問題。
硬件設計方面,我用99se設計的,
155551l80tcadu98gzag6l.jpg.thumb.jpg (74.74 KB, 下載次數: 1533)
下載附件
2013-6-26 03:02 上傳
PCB長24cm,寬4cm。
155603sccjjurbb96cyonr.jpg.thumb.jpg (24.54 KB, 下載次數: 1426)
下載附件
2013-6-26 03:02 上傳
軟件方面
這個設計非常重要的一個環節就是畫面的取模,我用的取模軟件來自互聯網。
150116btzxlegenhedgsls.jpg.thumb.jpg (24.4 KB, 下載次數: 1405)
下載附件
2013-6-26 03:02 上傳
軟件可以將位圖取模,就是按一排32個LED燈的模式,從圓心向外把一個圖分成256個扇形,每個扇形4份,每份8位二進制數,這樣一個圖像取模成1024個16進制數據存于單片機的ROM里。
接下來說說編程思路。
當風火輪固定在自行車輻條上,隨著車輪轉動,怎么樣才能讓畫面顯示成完整的一個圓呢。我用的方法是延時,在256份里,每份延時一定的時間,顯示完256份以后剛好是一個完整的圓。具體是這樣的,用霍爾傳感器提供給單片機的外部中斷1,配合T0定時器,就可以計算出上一圈車輪轉一圈用的時間,因為自行車的加速度不大,可以認為上一圈的時間和將要轉動的這一圈的時間是一樣的。另外用軟件仿真的方式計算出單片機把一個圖像的數據送給鎖存器顯示需要的時間是多少,用之前算出的車輪轉動的時間減去一個圖像的時間,得出的時間差再256等份,然后沒顯示1份就延時一次,這樣下來,畫面就形成一個圓了。
主函數的流程圖:
154749fjxx50z20x5nnb5j.jpg.thumb.jpg (30 KB, 下載次數: 1396)
下載附件
2013-6-26 03:02 上傳
我設計了一個功能是轉一圈排燈增加一個亮,滿了之后再一個個減少。
再一個是根據車輪轉動的速度,速度越快亮的燈數越多,不過這里有個問題是,程序運行需要時間,所以這個功能只是速度在一定范圍內的顯示,太快或太慢都不行。
還有一個功能就是自動換畫面,每轉20圈換下一個。
遙控這一塊,當遙控器按下,接收端解碼成功,數據管腳輸出相應的數據,信號管腳由低變高。這個不管,我要用的是放手之后,信號管腳產生下降沿,觸發外部中斷0,數據口連著單片機的P1口,中斷程序開始就讀取P1口的值,然后判斷鍵值,再執行相應的控制。
外部中斷0的流程圖:
154840e4eq7ddo4qq8x44x.jpg.thumb.jpg (34.11 KB, 下載次數: 1337)
下載附件
2013-6-26 03:02 上傳
介紹得差不多了,最后要說的一點是,單片機的中斷優先級要改一下,最高的是外部0,次外部1,再定時器T0中斷。默認是外部1比T0低,因為我要遙控是最高級,然后霍爾是次級,但是這兩個都是外部中斷,所以要改一下。
這個東西說實話也挺簡單的,就用到幾個鎖存器,和一個遙控,這個遙控編程也超簡單,然后就是把數據送給鎖存器了。
做板子的話,條件有限,只能做到這樣子了。
看看大家喜歡的話,過兩天我就把程序,原理圖都放上來。效果不好的話,沒激情,我只好自己擼了。
軟件、硬件設計.rar
(349.78 KB, 下載次數: 719)
2013-8-11 14:28 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
取模.rar
(223.61 KB, 下載次數: 519)
2013-8-11 14:28 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|
評分
-
查看全部評分
|