博客專欄

        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

        技術專區

        關閉
        主站蜘蛛池模板: 兴化市| 达尔| 烟台市| 孙吴县| 元氏县| 黄冈市| 海城市| 巧家县| 丰镇市| 屯昌县| 泾川县| 阳泉市| 滨海县| 宁远县| 隆德县| 司法| 桓仁| 淮北市| 敦化市| 上栗县| 弥渡县| 兴义市| 成都市| 梁山县| 分宜县| 怀安县| 泸水县| 邛崃市| 颍上县| 土默特左旗| 营口市| 毕节市| 响水县| 噶尔县| 金坛市| 翁源县| 黔江区| 杭锦后旗| 巩义市| 宁蒗| 海兴县|