步驟1:接線
大多數(shù)WS2812板帶三線連接器。我卸下了連接器的塑料外殼,然后將電線直接連接到插針上(它們非常合適)。白色是GND,紅色是+ 5V,綠色是數(shù)據(jù)輸入。
大多數(shù)LED燈帶的兩端都有額外的電源線。這些導(dǎo)線通常是裸露的,因此請(qǐng)確保將其隔離(否則可能會(huì)導(dǎo)致其意外短路)。
請(qǐng)注意,LED需要很多功率。如果有30個(gè)LED燈帶,則可以直接從任何PC或USB電源以全亮度運(yùn)行它(它將消耗小于500mA的電流)。大約100個(gè)LED在低亮度下也能正常工作,但是如果您想要更多,最好使用單獨(dú)的電源。對(duì)于長(zhǎng)條,建議從兩端供電,對(duì)于長(zhǎng)條,建議連接額外的電源線,每個(gè)100-200個(gè)LED。
WS2812串行接收彩色數(shù)據(jù),因此您實(shí)際上可以控制任何數(shù)量的僅具有一個(gè)數(shù)據(jù)引腳的LED。您可以使用任何數(shù)字輸出引腳(不要忘記在代碼中輸入正確的數(shù)字)。
一旦連接了插排,就可以進(jìn)入編碼部分。
步驟2:編碼
該代碼在我的github存儲(chǔ)庫(kù)中可用–您可以將代碼下載為單個(gè)文件此處:https://goo.gl/abFfxz
要快速入門,請(qǐng)找到 #define PIN 0 ,并將0替換為與NeoPixel的數(shù)據(jù)輸入連接的引腳數(shù)
您可能還希望調(diào)整其他設(shè)置,如代碼注釋中所述:
#define NUMPIXELS 30 –設(shè)置數(shù)字像素控制
#define RNDPIN 2 –設(shè)置為任何具有模擬輸入的引腳(僅用于初始化隨機(jī)數(shù)生成器一次)
#define BRIGHTNESS 64 –最大LED亮度(1到255)。請(qǐng)注意,高亮度需要很多功率,因此從低值開始
#define FOCUS 65 –色斑的形狀(增加以獲得狹窄的斑點(diǎn),減少以獲得較寬的斑點(diǎn))
#define DELAY 4000 –設(shè)置動(dòng)畫的速度:降低以加快速度,增加以減慢速度(實(shí)際上并不是延遲)
#define DEBUG 0 –設(shè)置為1以顯示FPS速率
使用常規(guī)方法上傳代碼。盡情享受吧!
步驟3:故障排除
如果根本看不到任何東西,請(qǐng)檢查連接,極性和數(shù)據(jù)引腳。
如果某些LED閃爍或卡住–可能是電源問題。嘗試降低 #define BRIGHTNESS 設(shè)置,并確保您具有足夠的功能。
如果您發(fā)現(xiàn)代碼中有任何錯(cuò)誤或想要改進(jìn)–歡迎您!
第4步:如何工作
對(duì)于此項(xiàng)目,我們有三個(gè)“色斑”,它們可以向后跑沿著地帶以不同的速度前進(jìn)。當(dāng)斑點(diǎn)彼此相遇時(shí),紅色,綠色和藍(lán)色的疊加會(huì)產(chǎn)生各種顏色。我們將每個(gè)光斑的位置和速度保持在變量中,我們需要為每個(gè)重繪上的每個(gè)LED重新計(jì)算顏色。雖然我們每秒可以做很多次,但動(dòng)畫看起來(lái)會(huì)很平滑。
像素的每個(gè)顏色分量都與 exp(-d * d)成比例,其中 d 是像素與相應(yīng)顏色的光點(diǎn)中心之間的距離。換句話說(shuō),像素顏色代表正態(tài)分布(高斯分布),與在圖形編輯器中使用“高斯模糊”濾鏡完全相同。
Arduino庫(kù)中包含的指數(shù)函數(shù)看起來(lái)非常慢,因此我僅使用兩個(gè)乘法和一個(gè)除法進(jìn)行了近似: 1.0/(1.0-(0.634-1.344 * x)* x)。請(qǐng)注意,此近似值僅適用于 x 《0 。
我們計(jì)算循環(huán)中每個(gè)像素的顏色,并通過(guò)調(diào)用 strip.setPixelColor將其發(fā)送到內(nèi)存緩沖區(qū)。 ()即可。當(dāng)我們遍歷每個(gè)像素時(shí),我們調(diào)用 strip.show(),NeoPixel庫(kù)將所有數(shù)據(jù)同步發(fā)送到指定的引腳-所有像素,一個(gè)像素一個(gè)像素,一個(gè)24位彩色數(shù)據(jù)。 First NeoPixel讀取前24位數(shù)據(jù),將其本地存儲(chǔ)在寄存器中,然后將所有其他數(shù)據(jù)傳遞到下一個(gè)像素。第二個(gè)“像素”獲取其數(shù)據(jù),并將剩余的數(shù)據(jù)發(fā)送到下一個(gè)像素,依此類推,直到每個(gè)像素獲取其數(shù)據(jù)。您可以安全地發(fā)送少于條帶中的LED數(shù)量的數(shù)據(jù)-只有第一個(gè) NUMPIXELS 才可以工作。
該代碼已被詳細(xì)記錄(希望!),請(qǐng)?jiān)儐枂栴}在這里!
第5步:調(diào)整
當(dāng)然,有很多方法可以修改此想法并創(chuàng)建其他項(xiàng)目。
例如,我為我的一個(gè)項(xiàng)目制作了一個(gè)金屬環(huán),并將其中的一條膠粘到其中。現(xiàn)在,這是一個(gè)不錯(cuò)的裝飾燈,您可以將其放在墻壁或天花板上。在窗玻璃附近放置一個(gè)條帶可以產(chǎn)生很好的反射效果(如您在照片上看到的那樣)。
在技術(shù)方面,通過(guò)在定點(diǎn)計(jì)算中重寫數(shù)學(xué)運(yùn)算可以大大改善代碼。我正在使用float來(lái)保持事物的描述性和易于理解,但這非常慢。我可能稍后會(huì)發(fā)布優(yōu)化版本,或者,如果有人愿意,歡迎您!
我的另一個(gè)想法是使用麥克風(fēng)調(diào)整動(dòng)畫聲音。可能需要比ATtiny更強(qiáng)大的功能。
最后,您可以將Digispark插入任何移動(dòng)電源,并在便攜式模式下欣賞您的小工具。將條帶粘在手提包,衣服或自行車上,并用作獨(dú)特的個(gè)人配件。)
-
LED燈條
+關(guān)注
關(guān)注
2文章
100瀏覽量
13360
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
成興光 LED燈珠點(diǎn)亮壁燈,綻放獨(dú)特光彩
![成興光 LED<b class='flag-5'>燈</b>珠點(diǎn)亮壁燈,綻放獨(dú)特光彩](https://file1.elecfans.com/web2/M00/0C/5B/wKgZomdEP5GACmewAAB86PrehI0141.png)
【每天學(xué)點(diǎn)AI】一個(gè)例子帶你了解Python裝飾器到底在干嘛!
![【每天學(xué)點(diǎn)AI】一個(gè)例子帶你了解Python<b class='flag-5'>裝飾</b>器到底在干嘛!](https://file1.elecfans.com/web2/M00/08/0A/wKgaombtODuAOOmCAAAo9ZITeps802.png)
APM805F應(yīng)用于太陽(yáng)能草坪燈升壓芯片
低壓線性恒流LED恒流驅(qū)動(dòng)芯片:用于洗墻燈和線條燈
LED圣誕燈電路圖 LED圣誕燈的工作原理和特點(diǎn)
![LED圣誕<b class='flag-5'>燈</b>電路圖 LED圣誕<b class='flag-5'>燈</b>的工作原理和特點(diǎn)](https://file1.elecfans.com/web2/M00/F7/1E/wKgZomaDwjmAWgb2AAFe9tkhSOE896.png)
什么是USB聲卡?
![什么是<b class='flag-5'>USB</b>聲卡?](https://file1.elecfans.com/web2/M00/F0/EE/wKgZomZz4ACAMPFVAAATnfO73qE989.png)
ESP32-S3控制WS2812燈帶顯示異常如何解決?
制作了一個(gè)usb小pcb,在pc上總是顯示請(qǐng)求usb設(shè)備描述符失敗,為什么?
數(shù)能低壓恒流IC全集(適用于LED燈帶,車燈照明,UVC消毒燈,LED商業(yè)照明,高端軌道照明等應(yīng)用)
鴻蒙OS開發(fā)實(shí)例:【ArkTS類庫(kù)多線程@Concurrent裝飾器校驗(yàn)并發(fā)函數(shù)】
![鴻蒙OS開發(fā)實(shí)例:【ArkTS類庫(kù)多線程@Concurrent<b class='flag-5'>裝飾</b>器校驗(yàn)并發(fā)函數(shù)】](https://file1.elecfans.com/web2/M00/C5/D1/wKgZomYChGOAUaiiAADe1d8SeRY102.jpg)
鴻蒙原生應(yīng)用開發(fā)-ArkTS語(yǔ)言基礎(chǔ)類庫(kù)多線程@Concurrent裝飾器校驗(yàn)并發(fā)函數(shù)
?用于LED裝飾照明DMX512并聯(lián)驅(qū)動(dòng)控制芯片作用與應(yīng)用領(lǐng)域
![?用于LED<b class='flag-5'>裝飾</b>照明DMX512并聯(lián)驅(qū)動(dòng)控制芯片作用與應(yīng)用領(lǐng)域](https://file1.elecfans.com//web2/M00/C0/C4/wKgZomXYWfiAaVwDAAG7_B3C08o693.png)
OpenHarmony父子組件單項(xiàng)同步使用:@Prop裝飾器
![OpenHarmony父子組件單項(xiàng)同步使用:@Prop<b class='flag-5'>裝飾</b>器](https://file1.elecfans.com//web2/M00/C0/86/wKgaomW84SeAOAZ3AABeOS7Ew6M410.png)
評(píng)論