博客專欄

        EEPW首頁 > 博客 > 徹底理解帶IC的彩色燈珠控制器WS2812B以及使用ESP8266對其進行控制的要點

        徹底理解帶IC的彩色燈珠控制器WS2812B以及使用ESP8266對其進行控制的要點

        發布人:電子禪石 時間:2024-08-22 來源:工程師 發布文章

        彩色LED燈珠,目前有2種主流類型,一種是燈珠內布置了R/G/B3種顏色LED,通過3路PWM分別控制3種LED亮度進行混色,另一種是燈珠內部除了3色LED還直接內置了燈控制器,稱為IC燈珠,你只需要輸入24bit的RGB控制信號,它內部會自動產生驅動pwm信號,并且自帶信號轉發,對連續的輸入信號,截取前24bit后,后面的數據自動從DOUT口輸出轉發到下一顆燈珠。

        在封裝上兩者都是4腳的,如果是不帶ic的,則每顆燈珠需要3路控制信號,數目一多,想搞個點陣屏什么的,連驅動ic都要排陣列,簡直要打人,所以在彩色LED方面,如果成本沒有要壓到極限的,還是選擇IC燈珠來做陣列會比較省心。

         

         

        (看看下面的512像素彩色led點陣屏,只需要4根線就可以流暢控制,可達30 fps的刷新率)

         

         

         

         

        WS2812的詳細參數詳見其官網datasheet,網上也大把中文資料,我們著重在其數字信號控制上。

        PIN-MAP 見下圖所示,非常簡單,VDD , VSS 分別為電源和地, DIN為數據輸入,DOUT為數據輸出 ,每顆燈珠須要24bit的控制數據,超過24bit的數據會通過DOUT流到下一個燈珠

         

         

         

        所以多個WS2812燈珠串接時候,將前一個的DOUT接到下一個的DIN即可,參考下圖WS官方推薦的LED燈帶原理圖和PCB。所以也可以理解為啥上圖的512 LED點陣屏只需要4根線就能控制了吧,它只是把燈帶折疊起來做成正方形屏幕的樣子,本質上是連續的燈帶。

         

         

        WS2812B數據輸入只需要一個管腳,它使用的是自定義的脈寬控制協議,下表摘自 ws2812 datashee

         

         

           

         總結一下就是:

                bit 1  : 先輸出 0.8us 高電平,然后輸出 0.45us 低電平

           bit 0  : 先輸出 0.4us 高電平,然后輸出 0.85us 低電平 

         

        輸出一個bit需時 1.25us ,通過控制2種脈沖寬度來進行1和0位編碼,如果持續輸出超過50us以上的低電平,就表示reset,也可以理解為幀結束.

        如此短的脈寬保證了ws2812的高刷新率,其通訊數據速率可達800kbps,

         

        那很明顯,調試這種器件,你起碼要有個邏輯分析儀來調整你的輸出時序.

        那接下來結合ESP8266來對WS2812燈帶驅動,通過實例了解驅動一個led燈和驅動一條燈帶

         

         

         

         

         

         

         


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: WS2812B

        技術專區

        關閉
        主站蜘蛛池模板: 水城县| 南涧| 会东县| 遵化市| 英吉沙县| 嘉善县| 石柱| 三江| 肃北| 波密县| 准格尔旗| 荣昌县| 文山县| 宣汉县| 柞水县| 威宁| 新兴县| 治县。| 汶上县| 梨树县| 黑龙江省| 孙吴县| 米林县| 泰来县| 静宁县| 宁海县| 额敏县| 洮南市| 盈江县| 兰坪| 辽宁省| 汝南县| 会泽县| 阳原县| 潍坊市| 定陶县| 扶绥县| 砚山县| 双流县| 武隆县| 胶州市|