不管你對(duì) “RGB性能狂升300%” 的梗認(rèn)同不認(rèn)同,不可否認(rèn),絢麗的彩色很是酷炫,在現(xiàn)在市面上帶“燈”的肯定比不帶“燈”的貴也成了商家的一致行為。
在市面上呢,其中有一種RGB LED燈珠,因?yàn)閮r(jià)格便宜一個(gè)只要幾毛錢買的多了都可能到1毛錢一個(gè),無需額外的“龐大”控制電路來驅(qū)動(dòng),用各廉價(jià)的單片機(jī)和簡單的元件,就可以單IO接口串聯(lián)讓成百上千個(gè)燈珠各自獨(dú)立的發(fā)出顏色,低功耗,而且還有不錯(cuò)的刷新率,讓DIY玩家在很是推崇。
這就是WS2812系類,它是一種“集控制電路與發(fā)光電路于一體的智能外控LED光源”。
那么它是怎么實(shí)現(xiàn)的?相關(guān)的文檔、源碼很多,但具體到實(shí)際控制方式還是不明不白。本文以WS2812B-4為例,它是WS2812的mini版本,性能上沒有標(biāo)準(zhǔn)6腳的快,但是體積小,性能也用,可以讓點(diǎn)距更小些。
讓我們了解下它,然后為我們就會(huì)知道為什么要用LOTO示波器明明白折的分析下它是怎么被單片機(jī)控制并發(fā)出絢麗顏色的吧。
先來看看官方文檔的說明~
科普下時(shí)間單位,方便后邊說明。
ms是毫秒=0.001秒 us是微秒=0.000,001秒 ns是納秒=0.000,000,001秒
現(xiàn)在開始正文,簡單總結(jié)下來就是想最快的讓一個(gè)WS2812B-4 LED亮出顏色就需要1960ns(1bit) * 24(紅綠藍(lán)3種顏色各8bit) + 280us = 47040ns(47.04us) + 280us = 327.04us。
也就是可以讓單個(gè)WS2812B-4 LED 在不考慮余輝的情況下1毫秒3次,1秒鐘約3000次的變換不同顏色。
再之后呢,每擴(kuò)展1個(gè)WS2812B-4 LED,就要多一個(gè)47.04us的顏色數(shù)據(jù),那么要1秒60次刷新需要16.66ms = 16,666us – 280us = 16,386us /47.04us = 348個(gè)LED。
這個(gè)串聯(lián)數(shù)量,讓我們?cè)O(shè)計(jì)小的DIY RGB光源的時(shí)候可以游刃有余的完成所要的設(shè)計(jì)。這也就是WS2812受到推崇的原因了。
但是這么快的速度讓我們很難看到它是怎么工作了,用萬用表什么的是絕對(duì)沒可能看到實(shí)際情況,因?yàn)樘?,電壓看來都?。那么怎么才能看到LED怎么被電路驅(qū)動(dòng)的呢,只能用示波器了。
專業(yè)人士的示波器都是很貴的,幾萬幾十萬上百萬的不在少數(shù),而這價(jià)格讓我們DIY玩家很難承受,畢竟銀子難賺嘛,二三四手的也不省錢還有可能翻車。
這里就要讓本文的主角LOTO示波器出場(chǎng)了。有了它可以讓我們只要花幾百塊就可以在電腦上了解到專業(yè)示波器的分析結(jié)果,當(dāng)然了一分錢一分貨,帶寬和采樣和價(jià)格是同比的,不過一般的DIY也用不到那么專業(yè)的嘛,所以,LOTO讓你可以不用花很多錢就可以在日常場(chǎng)景中方便的了解學(xué)習(xí)電路原理,真的是物超所值的哦。
如下圖~,這個(gè)洞洞板用一下1塊的STC8G單片機(jī),用一個(gè)IO端口驅(qū)動(dòng)了2個(gè)WS2812B-4,讓第一個(gè)發(fā)出了綠色,第二個(gè)發(fā)出了紅色,并且是呼吸閃爍的效果,不過圖片嘛,就看不出來了。
因?yàn)槭?V的高電平電路,需要用10X擋的探頭,先來用1ms時(shí)域看,只有小小的一個(gè)尖刺,1ms里看9600bps的通訊那叫清楚,現(xiàn)在看us級(jí)的只能看成這樣的尖刺,只能說,真快啊。
再來換成0.1ms擋位,已經(jīng)能看到連續(xù)的波紋了,不過還是太密集了,可以見到藍(lán)色的A通道是黃色B通道長一倍,這就是LED1收到2組24bit后轉(zhuǎn)發(fā)給LED2的1組24bit的波紋啦。