「雕爺學(xué)編程」Arduino動(dòng)手做(36)——WS2812B 4位彩燈模塊

37款傳感器與模塊的提法碌燕,在網(wǎng)絡(luò)上廣泛流傳,其實(shí)Arduino能夠兼容的傳感器模塊肯定是不止37種的。鑒于本人手頭積累了一些傳感器和模塊井辜,依照實(shí)踐出真知(一定要?jiǎng)邮肿觯┑睦砟睿詫W(xué)習(xí)和交流為目的管闷,這里準(zhǔn)備逐一動(dòng)手試試做實(shí)驗(yàn)粥脚,不管成功與否,都會(huì)記錄下來---小小的進(jìn)步或是搞不定的問題包个,希望能夠拋磚引玉刷允。?

【Arduino】108種傳感器模塊系列實(shí)驗(yàn)(資料+代碼+圖形+仿真)

實(shí)驗(yàn)三十六:WS2812B智能外控集成LED四位彩燈模塊(內(nèi)置驅(qū)動(dòng)IC)

WS2813B

是一個(gè)集控制電路與發(fā)光電路于一體的智能外控LED光源。其外型與一個(gè)5050LED燈珠相同,每個(gè)元件即為一個(gè)像素點(diǎn)树灶。像素點(diǎn)內(nèi)部包含了智能數(shù)字接口數(shù)據(jù)鎖存信號(hào)整形放大驅(qū)動(dòng)電路纤怒,還包含有高精度的內(nèi)部振蕩器和12V高壓可編程定電流控制部分,有效保證了像素點(diǎn)光的顏色高度一致天通。





主要特點(diǎn)

●????智能反接保護(hù)熏挎,電源反接不會(huì)損壞IC耿焊。

●????IC控制電路與LED點(diǎn)光源公用一個(gè)電源。

●????控制電路與RGB芯片集成在一個(gè)5050封裝的元器件中,構(gòu)成一個(gè)完整的外控像素點(diǎn)邓萨。

●????內(nèi)置信號(hào)整形電路,任何一個(gè)像素點(diǎn)收到信號(hào)后經(jīng)過波形整形再輸出檩小,保證線路波形畸變不會(huì)累加罩阵。

●????內(nèi)置上電復(fù)位和掉電復(fù)位電路。

●????每個(gè)像素點(diǎn)的三基色顏色可實(shí)現(xiàn)256級(jí)亮度顯示序臂,完成16777216種顏色的全真色彩顯示蚌卤,掃描頻率不低于400Hz/s。

●????串行級(jí)聯(lián)接口奥秆,能通過一根信號(hào)線完成數(shù)據(jù)的接收與解碼逊彭。

●????任意兩點(diǎn)傳傳輸距離在不超過5米時(shí)無需增加任何電路。

●????當(dāng)刷新速率30幀/秒時(shí)构订,級(jí)聯(lián)數(shù)不小于1024點(diǎn)侮叮。

●????數(shù)據(jù)發(fā)送速度可達(dá)800Kbps。

●????光的顏色高度一致悼瘾,性價(jià)比高囊榜。


數(shù)據(jù)協(xié)議采用單線歸零碼的通訊方式,像素點(diǎn)在上電復(fù)位以后亥宿,DIN端接受從控制器傳輸過來的數(shù)據(jù)卸勺,首先送過來的24bit數(shù)據(jù)被第一個(gè)像素點(diǎn)提取后,送到像素點(diǎn)內(nèi)部的數(shù)據(jù)鎖存器烫扼,剩余的數(shù)據(jù)經(jīng)過內(nèi)部整形處理電路整形放大后通過DO端口開始轉(zhuǎn)發(fā)輸出給下一個(gè)級(jí)聯(lián)的像素點(diǎn)曙求,每經(jīng)過一個(gè)像素點(diǎn)的傳輸,信號(hào)減少24bit映企。像素點(diǎn)采用自動(dòng)整形轉(zhuǎn)發(fā)技術(shù)悟狱,使得該像素點(diǎn)的級(jí)聯(lián)個(gè)數(shù)不受信號(hào)傳送的限制,僅僅受限信號(hào)傳輸速度要求堰氓。

LED具有低電壓驅(qū)動(dòng)挤渐,環(huán)保節(jié)能,亮度高豆赏,散射角度大挣菲,一致性好富稻,超低功率,超長(zhǎng)壽命等優(yōu)點(diǎn)白胀。將控制電路集成于LED上面椭赋,電路變得更加簡(jiǎn)單,體積小或杠,安裝更加簡(jiǎn)便哪怔。


應(yīng)用領(lǐng)域

●? ???LED全彩發(fā)光字燈串,LED全彩模組向抢, LED全彩軟燈條硬燈條认境,LED護(hù)欄管

●? ?LED點(diǎn)光源,LED像素屏挟鸠,LED異形屏叉信,各種電子產(chǎn)品,電器設(shè)備跑馬燈等


只需要一個(gè)數(shù)字口就可以幾乎無限級(jí)聯(lián)的全彩RGB LED( 我這里是四位的模塊)


四位模塊電原理圖


模塊引腳

VCC---這個(gè)引腳需要由一個(gè)5V-7V的直流電源接入艘希。電壓過高(7V)的話會(huì)燒毀LED硼身,電壓太低(5V)的話則會(huì)造成亮度過低,甚至造成LED不工作覆享。

GND---公共引腳佳遂,接地,即接電源的負(fù)極撒顿。

IN---微控制器(或者是另外一個(gè)WS2812)的數(shù)據(jù)從這個(gè)引腳傳入LED丑罪。

OUT---數(shù)據(jù)從這里輸出給下一級(jí)的WS2812,如果這個(gè)WS2812是最后一級(jí)凤壁,則可直接懸空此引腳吩屹。


下載WS2812驅(qū)動(dòng)庫(kù)Adafruit_NeoPixel,有二個(gè)鏈接客扎;

https://github.com/adafruit/Adafruit_NeoPixel

https://www.tuicool.com/articles/IbaAJbE

好像需要三個(gè)庫(kù)祟峦,以適應(yīng)不同情況下的使用

Adafruit_GFX

Adafruit_NeoPixel

Adafruit_NeoMatrix

解壓縮每個(gè)庫(kù)罚斗,從文件夾名稱中刪除“-master”并將它們移動(dòng)到Arduino庫(kù)文件夾libraries里面徙鱼。重新啟動(dòng)Arduino IDE以加載庫(kù)。



/*

【Arduino】108種傳感器模塊系列實(shí)驗(yàn)(資料+代碼+圖形+仿真)

實(shí)驗(yàn)三十六:WS2812B智能外控集成LED四位彩燈模塊(內(nèi)置驅(qū)動(dòng)IC)之一

第一個(gè)實(shí)驗(yàn):一只LED的呼吸燈

*/

#include <Adafruit_NeoPixel.h>

#define PIN 6

#define MAX_LED 1

#define ADD true

#define SUB false

int val = 0;

boolean stat = ADD;

Adafruit_NeoPixel strip = Adafruit_NeoPixel( MAX_LED, PIN, NEO_RGB + NEO_KHZ800 );

void setup(){

??strip.begin();

??strip.show();

}

void loop(){

??uint32_t color = strip.Color(val, val, val);

??strip.setPixelColor(0, color);

??

??if(val>=235)

? ? stat = SUB;

??if(val<=0)

? ? stat = ADD;

??

??strip.show();

??delay(15);

??if(stat==SUB) val --;

??else if(stat==ADD) val++;

}


/*

【Arduino】108種傳感器模塊系列實(shí)驗(yàn)(資料+代碼+圖形+仿真)

實(shí)驗(yàn)三十六:WS2812B智能外控集成LED四位彩燈模塊(內(nèi)置驅(qū)動(dòng)IC)之二

第二個(gè)實(shí)驗(yàn):四只LED輪流全彩快閃

*/

#include <Adafruit_NeoPixel.h>

#define PIN 6

#define MAX_LED 4

#define ADD true

#define SUB false

int val = 0;

boolean stat = ADD;

Adafruit_NeoPixel strip = Adafruit_NeoPixel( MAX_LED, PIN, NEO_RGB + NEO_KHZ800 );

void setup()

{

??strip.begin();? ?? ?? ???

??strip.show();? ?? ?? ???

}

void loop()

{

??uint8_t i,a=0;? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?

??uint32_t color = strip.Color(0, 100, 255);? ?? ???

??while(a<10)

??{

? ?? ?for(i=0;i<9;i++)

? ?? ?{

? ?? ???if(i==a) strip.setPixelColor(i, color);? ???

? ?? ???else strip.setPixelColor(i, 0);? ?? ?? ?? ?

? ?? ?}

? ?? ? strip.show();? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???

? ?? ? delay(30);? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???

? ?? ? a++;? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???

??}

}


/*

【Arduino】108種傳感器模塊系列實(shí)驗(yàn)(資料+代碼+圖形+仿真)

實(shí)驗(yàn)三十六:WS2812B智能外控集成LED四位彩燈模塊(內(nèi)置驅(qū)動(dòng)IC)之三

第三個(gè)實(shí)驗(yàn):循序點(diǎn)亮四只綠色光LED

*/

#include <Adafruit_NeoPixel.h>

#ifdef __AVR__

#include <avr/power.h>

#endif

#define PIN? ?? ?? ?? ?6

#define NUMPIXELS? ?? ?4

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

int delayval = 500;

void setup() {

#if defined (__AVR_ATtiny85__)

??if (F_CPU == 16000000) clock_prescale_set(clock_div_1);

#endif

??pixels.begin();

}

void loop() {

??for(int i=0;i<NUMPIXELS;i++){

? ? pixels.setPixelColor(i, pixels.Color(0,150,0));

? ? pixels.show();

? ? delay(delayval);

??}

}

實(shí)現(xiàn)同一效果针姿,至少有三種編程方式袱吆,代碼+圖形+仿真,可以互為補(bǔ)充距淫,互相配合



?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末绞绒,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子榕暇,更是在濱河造成了極大的恐慌蓬衡,老刑警劉巖喻杈,帶你破解...
    沈念sama閱讀 216,997評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異狰晚,居然都是意外死亡筒饰,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門壁晒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瓷们,“玉大人,你說我怎么就攤上這事秒咐∶危” “怎么了?”我有些...
    開封第一講書人閱讀 163,359評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵携取,是天一觀的道長(zhǎng)攒钳。 經(jīng)常有香客問我,道長(zhǎng)雷滋,這世上最難降的妖魔是什么夕玩? 我笑而不...
    開封第一講書人閱讀 58,309評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮惊豺,結(jié)果婚禮上燎孟,老公的妹妹穿的比我還像新娘。我一直安慰自己尸昧,他們只是感情好揩页,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,346評(píng)論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著烹俗,像睡著了一般爆侣。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上幢妄,一...
    開封第一講書人閱讀 51,258評(píng)論 1 300
  • 那天兔仰,我揣著相機(jī)與錄音,去河邊找鬼蕉鸳。 笑死乎赴,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的潮尝。 我是一名探鬼主播榕吼,決...
    沈念sama閱讀 40,122評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼勉失!你這毒婦竟也來了羹蚣?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,970評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤乱凿,失蹤者是張志新(化名)和其女友劉穎顽素,沒想到半個(gè)月后咽弦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,403評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡胁出,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,596評(píng)論 3 334
  • 正文 我和宋清朗相戀三年离唬,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片划鸽。...
    茶點(diǎn)故事閱讀 39,769評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡输莺,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出裸诽,到底是詐尸還是另有隱情嫂用,我是刑警寧澤,帶...
    沈念sama閱讀 35,464評(píng)論 5 344
  • 正文 年R本政府宣布丈冬,位于F島的核電站嘱函,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏埂蕊。R本人自食惡果不足惜往弓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,075評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望蓄氧。 院中可真熱鬧函似,春花似錦、人聲如沸喉童。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)堂氯。三九已至蔑担,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間咽白,已是汗流浹背啤握。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留晶框,地道東北人排抬。 一個(gè)月前我還...
    沈念sama閱讀 47,831評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像三妈,于是被迫代替她去往敵國(guó)和親畜埋。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,678評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容