最接接觸了WS2812 LED,相信有不少人都用過。大家對(duì)這款彩色LED肯定是又愛又恨,愛的是它使用簡(jiǎn)單,采用單總線通信方式,節(jié)約IO口,而且可以多級(jí)串聯(lián)。而普通的彩色LED不是共陰就是共陽,每個(gè)顏色一個(gè)引腳,一般都是用PWM驅(qū)動(dòng),想要控制亮度、顏色就要分別控制每個(gè)引腳上的PWM占空比,想要驅(qū)動(dòng)多個(gè)LED就更麻煩了。恨的是WSws2812對(duì)時(shí)序的要求比較高,對(duì)低速單片機(jī)不太友好。今天我就詳細(xì)談一談WS2812的驅(qū)動(dòng),以及使用時(shí)遇到的一個(gè)問題。
拿到一款芯片,第一件事就是找Datasheet。找Datasheet很簡(jiǎn)單,直接上官網(wǎng)或者上專門的datasheet網(wǎng)站。
其實(shí)該LED的控制時(shí)序比較簡(jiǎn)單:
1、數(shù)據(jù)0、1和Ret碼
該時(shí)序說名我們?cè)撊绾蝹鬏?、0以及如何結(jié)束傳輸
2、LED數(shù)據(jù)
該款LED顯示的是24位RGB數(shù)據(jù),位順序如下。傳輸時(shí)高位(G7)先發(fā)送,低位(B0)后后發(fā)送
3、連接模式
該款LED的連接模式比較簡(jiǎn)單,串行模式,上一個(gè)LED的輸出接下一個(gè)LED的輸入。
4、串行LED時(shí)序
整個(gè)連續(xù)的數(shù)據(jù)發(fā)送如下,即發(fā)送數(shù)據(jù)和Ret信號(hào)。當(dāng)然,在這里會(huì)有一個(gè)疑問,到底是先發(fā)數(shù)據(jù)還是先發(fā)ret信號(hào)。
經(jīng)過本人自己測(cè)試驗(yàn)證,應(yīng)當(dāng)先發(fā)ret信號(hào)再發(fā)數(shù)據(jù)信號(hào)。原因如下:
數(shù)據(jù)在傳輸?shù)倪^程中,當(dāng)LED接收到完整的24bit數(shù)據(jù)時(shí),才會(huì)對(duì)該24Bit數(shù)據(jù)進(jìn)行處理,是當(dāng)前LED數(shù)據(jù),還是需要轉(zhuǎn)發(fā)至下一個(gè)LED的數(shù)據(jù)。而實(shí)際發(fā)送過程中(尤為上電時(shí))我們有時(shí)很難判定他第一個(gè)LED是否已經(jīng)接收數(shù)據(jù)。而Ret信號(hào)相當(dāng)于將所有的傳輸狀態(tài)復(fù)位,之后再進(jìn)行新的數(shù)據(jù)傳輸。
5、演示示例
做了一個(gè)板子,焊了4個(gè)LED。做了一個(gè)紅綠藍(lán)黃的流水燈演示。拍攝的原因,蓋了一張白紙。
6、使用存在問題
在實(shí)際使用的過程中發(fā)現(xiàn),實(shí)際驅(qū)動(dòng)時(shí),第一個(gè)LED的燈顯示異常。在網(wǎng)上也查找過一些資料,也存在遇到這個(gè)問題。解決方法如下:
1)、發(fā)送REST
2)、發(fā)送LED數(shù)據(jù),先發(fā)的為第一個(gè)LED數(shù)據(jù),后發(fā)的一次往后遞增
3)、發(fā)送REST
4)、重復(fù)發(fā)送第一個(gè)LED的數(shù)據(jù)
以上是該款LED使用的一個(gè)簡(jiǎn)單總結(jié)。
-
led
+關(guān)注
關(guān)注
242文章
23617瀏覽量
669335 -
單片機(jī)
+關(guān)注
關(guān)注
6059文章
44828瀏覽量
644990 -
PWM
+關(guān)注
關(guān)注
116文章
5320瀏覽量
217468 -
RGB
+關(guān)注
關(guān)注
4文章
803瀏覽量
59441 -
WS2812
+關(guān)注
關(guān)注
0文章
33瀏覽量
6474
發(fā)布評(píng)論請(qǐng)先 登錄
WS2812實(shí)時(shí)時(shí)鐘程序
講講WS2812的數(shù)據(jù)協(xié)議
Arduino控制WS2812燈帶的方法
WS2812驅(qū)動(dòng)的總結(jié)和時(shí)序的詳細(xì)資料分析

如何進(jìn)行WS2812的面板燈制作詳細(xì)資料合集免費(fèi)下載

STM32使用LL庫PWM的DMA模式驅(qū)動(dòng)ws2812

WS2811/WS2812擴(kuò)展器

帶WS2812 LED燈條的DIY Arduino 1D乒乓球游戲

如何使用智能手機(jī)控制16x16 WS2812 Led矩陣

WS2812 RGB LED開源分享

論如何使用WS2812以及類似燈珠

評(píng)論