徹底理解帶IC的彩色燈珠控制器WS2812B以及使用ESP8266對(duì)其進(jìn)行控制的要點(diǎn)
彩色LED燈珠,目前有2種主流類型,一種是燈珠內(nèi)布置了R/G/B3種顏色LED,通過(guò)3路PWM分別控制3種LED亮度進(jìn)行混色,另一種是燈珠內(nèi)部除了3色LED還直接內(nèi)置了燈控制器,稱為IC燈珠,你只需要輸入24bit的RGB控制信號(hào),它內(nèi)部會(huì)自動(dòng)產(chǎn)生驅(qū)動(dòng)pwm信號(hào),并且自帶信號(hào)轉(zhuǎn)發(fā),對(duì)連續(xù)的輸入信號(hào),截取前24bit后,后面的數(shù)據(jù)自動(dòng)從DOUT口輸出轉(zhuǎn)發(fā)到下一顆燈珠。
在封裝上兩者都是4腳的,如果是不帶ic的,則每顆燈珠需要3路控制信號(hào),數(shù)目一多,想搞個(gè)點(diǎn)陣屏什么的,連驅(qū)動(dòng)ic都要排陣列,簡(jiǎn)直要打人,所以在彩色LED方面,如果成本沒(méi)有要壓到極限的,還是選擇IC燈珠來(lái)做陣列會(huì)比較省心。
(看看下面的512像素彩色led點(diǎn)陣屏,只需要4根線就可以流暢控制,可達(dá)30 fps的刷新率)
WS2812的詳細(xì)參數(shù)詳見(jiàn)其官網(wǎng)datasheet,網(wǎng)上也大把中文資料,我們著重在其數(shù)字信號(hào)控制上。
PIN-MAP 見(jiàn)下圖所示,非常簡(jiǎn)單,VDD , VSS 分別為電源和地, DIN為數(shù)據(jù)輸入,DOUT為數(shù)據(jù)輸出 ,每顆燈珠須要24bit的控制數(shù)據(jù),超過(guò)24bit的數(shù)據(jù)會(huì)通過(guò)DOUT流到下一個(gè)燈珠
所以多個(gè)WS2812燈珠串接時(shí)候,將前一個(gè)的DOUT接到下一個(gè)的DIN即可,參考下圖WS官方推薦的LED燈帶原理圖和PCB。所以也可以理解為啥上圖的512 LED點(diǎn)陣屏只需要4根線就能控制了吧,它只是把燈帶折疊起來(lái)做成正方形屏幕的樣子,本質(zhì)上是連續(xù)的燈帶。
WS2812B數(shù)據(jù)輸入只需要一個(gè)管腳,它使用的是自定義的脈寬控制協(xié)議,下表摘自 ws2812 datashee
總結(jié)一下就是:
bit 1 ?。?先輸出 0.8us 高電平,然后輸出 0.45us 低電平
bit 0 ?。?先輸出 0.4us 高電平,然后輸出 0.85us 低電平
輸出一個(gè)bit需時(shí) 1.25us ,通過(guò)控制2種脈沖寬度來(lái)進(jìn)行1和0位編碼,如果持續(xù)輸出超過(guò)50us以上的低電平,就表示reset,也可以理解為幀結(jié)束.
如此短的脈寬保證了ws2812的高刷新率,其通訊數(shù)據(jù)速率可達(dá)800kbps,
那很明顯,調(diào)試這種器件,你起碼要有個(gè)邏輯分析儀來(lái)調(diào)整你的輸出時(shí)序.
那接下來(lái)結(jié)合ESP8266來(lái)對(duì)WS2812燈帶驅(qū)動(dòng),通過(guò)實(shí)例了解驅(qū)動(dòng)一個(gè)led燈和驅(qū)動(dòng)一條燈帶
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。