本篇介紹ESP8266使用NeoPixel庫來驅動IOT Kit板載WS2812彩燈。
1. WS2812彩燈介紹
WS2812是一個集控制電路與發(fā)光電路于一體的智能外控LED光源,外型與5050LED燈珠相同,每個燈珠都是一個像素點。像素點內包含數字接口、數據鎖存、信號整形放大驅動電路,還包含高精度的內部振蕩器和12V高壓可編程定電流控制部分。
數據協(xié)議采用單線歸零碼的通訊方式,像素點在上電復位以后,DIN端接受從控制器傳輸過來的數據,首先送過來的24bit數據被第一個像素點提取后,送到像素點內部的數據鎖存器,剩余的數據經過內部整形處理電路整形放大后通過DO端口開始轉發(fā)輸出給下一個級聯(lián)的像素點,每經過一個像素點的傳輸,信號減少24bit。像素點采用自動整形轉發(fā)技術,使得該像素點的級聯(lián)個數不受信號傳送的限制,僅僅受限信號傳輸速度要求。

時序波形
按照數據傳輸協(xié)議即可對WS2812進行驅動,當然對于WS2812有許多開源的驅動庫,下面進行Adafruit_NeoPixel驅動庫的安裝。
2. 安裝驅動庫
在Arduino IDE中點擊「項目」—「加載庫」—「管理庫」,查找Adafruit_NeoPixel庫,選擇最新版本,點擊安裝。

查找?guī)?/p>
在彈出的對話框中選擇Install all,安裝全部的關聯(lián)庫。

安裝關聯(lián)庫
3. 硬件連接及程序下載
在IOT Kit上,WS2812通過跳線帽連接到ESP8266的GPIO0。

硬件連接
在Arduino IDE中新建sketch,拷貝如下代碼保存并下載到開發(fā)板。
/*
* ws2812b
* ESP8266驅動WS2812彩燈
* 板載接口GPIO0
*/
#include
上傳成功后,板載WS2812彩燈將紅綠藍交替顯示。

實驗現(xiàn)象
4.常用庫函數介紹
下面對Adafruit_NeoPixel庫常用函數進行介紹:
- Adafruit_NeoPixel led(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800):創(chuàng)建對象,包括信號引腳以及像素點數量,最后一個參數是像素類型標志,一般默認即可。
- led.begin():對象初始化。
- led.show():顯示刷新,每次設置完畢必須調用此函數。
- led.clean():將顏色值清除到0。
- led.setBrightness():設置亮度。范圍0~255。
- led.setPixelColor():設置顏色值,第一個參數為像素點序號。
- led.Color():將RGB單獨顏色值打包成32位顏色值。
-
led
+關注
關注
243文章
24425瀏覽量
686933 -
彩燈
+關注
關注
4文章
67瀏覽量
35397 -
驅動電路
+關注
關注
158文章
1608瀏覽量
111118 -
Arduino
+關注
關注
190文章
6514瀏覽量
195831 -
ESP8266
+關注
關注
51文章
966瀏覽量
48966
發(fā)布評論請先 登錄
使用ESP8266驅動WS2812B型RGB LED智能燈制作分享
如何用ATtiny85控制WS2812燈珠
【BPI-Pico-RP2040 開發(fā)板】Banana BPI-Pico-RP2040 驅動WS2812 彩燈
Linklt ONE開發(fā)板如何利用Adafruit_NeoPixel庫驅動WS2812彩燈?
利用ESP8266 WiFi模塊打造科進行遙控的圣誕之星
WS2812驅動的總結和時序的詳細資料分析
如何使用智能手機控制WS2812吸頂燈
STM32使用LL庫PWM的DMA模式驅動ws2812
STM32F103C8T6+PWM+DMA驅動 WS2812燈帶
PWM+DMA 驅動 WS2812
最簡單DIY基于ESP8266的智能彩燈②(在網頁用按鍵和滑動條控制RGB燈)
帶有ESP8266和WS2812BLED的3d可打印wifi情緒燈
ESP8266 Art Net DMX轉WS2812開源
迪文屏控制WS2812氛圍燈

使用ESP8266驅動WS2812彩燈
評論