|
本程序最大可獨(dú)立控制8路LED燈按照不同的腳本(最大亮度,閃爍時(shí)間)進(jìn)行呼吸燈效果的顯示。
并且按照非線性函數(shù)曲線輸出,使得呼吸燈的效果更好,比單純線性控制更為自然。
首先對(duì)多路PWM輸出進(jìn)行單獨(dú)控制是非常消耗單片機(jī)資源的,特別是還要控制每一路信號(hào)都按照函數(shù)曲線進(jìn)行顯示。顯然通過函數(shù)實(shí)時(shí)計(jì)算太過消耗MCU的資源,是根本行不通的。所以本程序是通過預(yù)先計(jì)算好的數(shù)值進(jìn)行查表操作來實(shí)現(xiàn)COS曲線輸出的。方法很簡單,用EXCEL拉一個(gè)公式就都有了。
每一路都可以按照預(yù)先設(shè)定好的若干個(gè)執(zhí)行腳本循環(huán)執(zhí)行,只要讓每一路的腳本執(zhí)行時(shí)間不同,就可以做到無數(shù)種組合效果,目前代碼中每個(gè)IO口設(shè)置了6個(gè)腳本,如果大家選用的芯片F(xiàn)LASH比較大的話,可以多設(shè)一些腳本,是非常適合大家DIY制作螢火蟲瓶。
簡單的用手頭上的sct15f104e做了一個(gè)6路的螢火蟲。
試驗(yàn)的時(shí)候不小心燒掉一個(gè)LED,所以實(shí)際只有5只了。
具體效果可以看下面的視頻。
DSC_0182_small.jpg (211.24 KB, 下載次數(shù): 192)
下載附件
2014-6-1 15:35 上傳
DSC_0181_small.jpg (133.99 KB, 下載次數(shù): 404)
下載附件
2014-6-1 15:35 上傳
視頻
firefly.zip
(2.23 KB, 下載次數(shù): 30819)
2014-6-1 15:40 上傳
點(diǎn)擊文件名下載附件
代碼 下載積分: 黑幣 -5
|
|