【雕爺學(xué)編程】Arduino動手做(86)---4*4位 WS2812 全彩模塊

37款傳感器與執(zhí)行器的提法溢陪,在網(wǎng)絡(luò)上廣泛流傳,其實(shí)Arduino能夠兼容的傳感器模塊肯定是不止這37種的。鑒于本人手頭積累了一些傳感器和執(zhí)行器模塊,依照實(shí)踐出真知(一定要動手做)的理念功氨,以學(xué)習(xí)和交流為目的,這里準(zhǔn)備逐一動手嘗試系列實(shí)驗(yàn)手幢,不管成功(程序走通)與否捷凄,都會記錄下來---小小的進(jìn)步或是搞不掂的問題,希望能夠拋磚引玉围来。

【Arduino】168種傳感器模塊系列實(shí)驗(yàn)(資料代碼+仿真編程+圖形編程)
實(shí)驗(yàn)八十六:WS2812B-4*4位 RGB LED 全彩驅(qū)動16位彩燈開發(fā)板模塊

06.jpg

WS2812B
是一個集控制電路與發(fā)光電路于一體的智能外控LED光源跺涤。其外型與一個5050LED燈珠相同,每個元件即為一個像素點(diǎn)监透。像素點(diǎn)內(nèi)部包含了智能數(shù)字接口數(shù)據(jù)鎖存信號整形放大驅(qū)動電路桶错,還包含有高精度的內(nèi)部振蕩器和12V高壓可編程定電流控制部分,有效保證了像素點(diǎn)光的顏色高度一致胀蛮。數(shù)據(jù)協(xié)議采用單線歸零碼的通訊方式院刁,像素點(diǎn)在上電復(fù)位以后,DIN端接受從控制器傳輸過來的數(shù)據(jù)粪狼,首先送過來的24bit數(shù)據(jù)被第一個像素點(diǎn)提取后退腥,送到像素點(diǎn)內(nèi)部的數(shù)據(jù)鎖存器,剩余的數(shù)據(jù)經(jīng)過內(nèi)部整形處理電路整形放大后通過DO端口開始轉(zhuǎn)發(fā)輸出給下一個級聯(lián)的像素點(diǎn)再榄,每經(jīng)過一個像素點(diǎn)的傳輸狡刘,信號減少24bit。像素點(diǎn)采用自動整形轉(zhuǎn)發(fā)技術(shù)困鸥,使得該像素點(diǎn)的級聯(lián)個數(shù)不受信號傳送的限制颓帝,僅僅受限信號傳輸速度要求。

0.jpeg
01 (1).jpg
03.jpg
04.jpg
04-.jpg

主要特點(diǎn)
● 智能反接保護(hù)窝革,電源反接不會損壞IC购城。
● IC控制電路與LED點(diǎn)光源公用一個電源。
● 控制電路與RGB芯片集成在一個5050封裝的元器件中虐译,構(gòu)成一個完整的外控像素點(diǎn)瘪板。
● 內(nèi)置信號整形電路,任何一個像素點(diǎn)收到信號后經(jīng)過波形整形再輸出漆诽,保證線路波形畸變不會累加侮攀。
● 內(nèi)置上電復(fù)位和掉電復(fù)位電路。
● 每個像素點(diǎn)的三基色顏色可實(shí)現(xiàn)256級亮度顯示厢拭,完成16777216種顏色的全真色彩顯示兰英,掃描頻率不低于400Hz/s。
● 串行級聯(lián)接口供鸠,能通過一根信號線完成數(shù)據(jù)的接收與解碼畦贸。
● 任意兩點(diǎn)傳傳輸距離在不超過5米時無需增加任何電路。
● 當(dāng)刷新速率30幀/秒時,級聯(lián)數(shù)不小于1024點(diǎn)薄坏。
● 數(shù)據(jù)發(fā)送速度可達(dá)800Kbps趋厉。
● 光的顏色高度一致,性價比高胶坠。

05.jpg

WS2812B-4*4位 RGB LED 全彩驅(qū)動16位彩燈開發(fā)板模塊

5050高亮LED君账,內(nèi)置控制芯片,僅需1個IO口即可控制多個LED

芯片內(nèi)置整形電路沈善,信號畸變不會累計乡数,穩(wěn)定顯示

三基色256級亮度調(diào)劑,16萬色真彩顯示效果闻牡,掃描頻率不低于400Hz/S

串行連級接口净赴,能通過一根信號線完成數(shù)據(jù)的接收與解碼

刷新速率30幀/秒時,低速連級模式連級數(shù)不小于512點(diǎn)

數(shù)據(jù)收發(fā)速度最高可達(dá)800Kbps

高亮LED澈侠,光色亮度一致性高

兩端有l(wèi)聯(lián)級接口,可以直接插接

07.jpg

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

實(shí)驗(yàn)八十六: WS2812B-4*4位 RGB LED 全彩驅(qū)動16位彩燈開發(fā)板

項目一埋酬,點(diǎn)亮矩陣LED模塊哨啃,循環(huán)快閃綠色光

實(shí)驗(yàn)開源代碼

/*

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

實(shí)驗(yàn)八十六: WS2812B-4*4位 RGB LED 全彩驅(qū)動16位彩燈開發(fā)板

項目一,點(diǎn)亮矩陣LED模塊写妥,循環(huán)快閃綠色光

*/



#include <Adafruit_NeoPixel.h>

#define PIN 7

#define MAX_LED 16

#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(255, 100, 0);    

  while(a<17)  {

    for(i=0;i<16;i++) {

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

      else strip.setPixelColor(i, 0);        

    }

    strip.show();                      

    delay(20);                        

    a++;                            

  }

}

實(shí)驗(yàn)場景圖


08.jpg
/*

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

實(shí)驗(yàn)八十六: WS2812B-4*4位 RGB LED 全彩驅(qū)動16位彩燈開發(fā)板

項目二拳球,依次點(diǎn)亮不同色彩燈

*/



#include <FastLED.h>

#define LED_PIN    7

#define NUM_LEDS  16

CRGB leds[NUM_LEDS];



void setup() {

  FastLED.addLeds<WS2812, LED_PIN, GRB>(leds, NUM_LEDS);

}



void loop() {

  leds[0] = CRGB(255, 0, 0);

  FastLED.show();

  delay(500);  

  leds[1] = CRGB(0, 255, 0);

  FastLED.show();

  delay(500);

  leds[2] = CRGB(0, 0, 255);

  FastLED.show();

  delay(500);

  leds[3] = CRGB(150, 0, 255);

  FastLED.show();

  delay(500);

  leds[4] = CRGB(255, 200, 20);

  FastLED.show();

  delay(500);

  leds[5] = CRGB(85, 60, 180);

  FastLED.show();

  delay(500);

  leds[6] = CRGB(150, 255, 20);

  FastLED.show();

  delay(500);

  leds[7] = CRGB(0, 50, 255);

  FastLED.show();

  delay(500);

  leds[8] = CRGB(255, 255, 0);

  FastLED.show();

  delay(500);  

  leds[9] = CRGB(20, 25, 255);

  FastLED.show();

  delay(500);

  leds[10] = CRGB(255, 0, 20);

  FastLED.show();

  delay(500);

  leds[11] = CRGB(50, 0, 55);

  FastLED.show();

  delay(500);

  leds[12] = CRGB(55, 200, 20);

  FastLED.show();

  delay(500);

  leds[13] = CRGB(85, 160, 180);

  FastLED.show();

  delay(500);

  leds[14] = CRGB(20, 255, 0);

  FastLED.show();

  delay(500);

  leds[15] = CRGB(150, 150, 60);

  FastLED.show();

  delay(500);

}

實(shí)驗(yàn)場景圖


09.jpg
/*

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

實(shí)驗(yàn)八十六: WS2812B-4*4位 RGB LED 全彩驅(qū)動16位彩燈開發(fā)板

項目之三,簡單漸變彩虹色

*/



#include <Adafruit_NeoPixel.h>

#ifdef __AVR__

#include <avr/power.h>

#endif

#define PIN        7

#define NUMPIXELS    16

float  RDE1=0;

float  GRE1=0;

float  BLE1=0;

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() {

  GRE1=0;

for(int o=0;o<255;o++){

  RDE1=255;

  GRE1=GRE1+1;

  BLE1=0;

  for(int l=0;l<NUMPIXELS;l++){

  pixels.setPixelColor(l, pixels.Color(RDE1,GRE1,BLE1));

  pixels.show();

  }

  delay(20);

}

  RDE1=255;

for(int p=0;p<255;p++){

  RDE1=RDE1-1;

  GRE1=255;

  BLE1=0;

  for(int l=0;l<NUMPIXELS;l++){

  pixels.setPixelColor(l, pixels.Color(RDE1,GRE1,BLE1));

  pixels.show();

  }

  delay(20);

}

BLE1=0;

for(int k=0;k<255;k++){

  RDE1=0;

  GRE1=255;

  BLE1=BLE1+1;

  for(int l=0;l<NUMPIXELS;l++){

  pixels.setPixelColor(l, pixels.Color(RDE1,GRE1,BLE1));

  pixels.show(); }

  delay(20);

}

GRE1=255;

for(int k=0;k<255;k++){

  RDE1=0;

  GRE1=GRE1-1;

  BLE1=255;

  for(int l=0;l<NUMPIXELS;l++){

  pixels.setPixelColor(l, pixels.Color(RDE1,GRE1,BLE1));

  pixels.show();

  }

  delay(20);

}

RDE1=0;

for(int h=0;h<150;h++){

  RDE1=RDE1+1;

  GRE1=0;

  BLE1=255;

  for(int l=0;l<NUMPIXELS;l++){

  pixels.setPixelColor(l, pixels.Color(RDE1,GRE1,BLE1));

  pixels.show();

  }

  delay(20);

}

}

實(shí)驗(yàn)開源仿真編程(Linkboy V4.5)


15.jpg
16.jpg
17.jpg
18.jpg

實(shí)驗(yàn)開源圖形編程(Mind+珍特、Mixly祝峻、編玩邊學(xué))


10.jpg
11.jpg
12.jpg
13.jpg
14.jpg
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市扎筒,隨后出現(xiàn)的幾起案子莱找,更是在濱河造成了極大的恐慌,老刑警劉巖嗜桌,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件奥溺,死亡現(xiàn)場離奇詭異,居然都是意外死亡骨宠,警方通過查閱死者的電腦和手機(jī)浮定,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來层亿,“玉大人桦卒,你說我怎么就攤上這事∧溆郑” “怎么了方灾?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長碌更。 經(jīng)常有香客問我迎吵,道長躲撰,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任击费,我火速辦了婚禮拢蛋,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蔫巩。我一直安慰自己谆棱,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布圆仔。 她就那樣靜靜地躺著垃瞧,像睡著了一般。 火紅的嫁衣襯著肌膚如雪坪郭。 梳的紋絲不亂的頭發(fā)上个从,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天,我揣著相機(jī)與錄音歪沃,去河邊找鬼嗦锐。 笑死,一個胖子當(dāng)著我的面吹牛沪曙,可吹牛的內(nèi)容都是我干的奕污。 我是一名探鬼主播,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼液走,長吁一口氣:“原來是場噩夢啊……” “哼碳默!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起缘眶,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤嘱根,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后巷懈,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體儿子,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年砸喻,在試婚紗的時候發(fā)現(xiàn)自己被綠了柔逼。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,503評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡割岛,死狀恐怖愉适,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情癣漆,我是刑警寧澤维咸,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響癌蓖,放射性物質(zhì)發(fā)生泄漏瞬哼。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一租副、第九天 我趴在偏房一處隱蔽的房頂上張望坐慰。 院中可真熱鬧,春花似錦用僧、人聲如沸结胀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽糟港。三九已至,卻和暖如春院仿,著一層夾襖步出監(jiān)牢的瞬間秸抚,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工歹垫, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留剥汤,地道東北人。 一個月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓县钥,卻偏偏與公主長得像秀姐,于是被迫代替她去往敵國和親慈迈。 傳聞我的和親對象是個殘疾皇子若贮,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評論 2 359

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