物聯網開發硬體應用

提升國內高職學生物聯網開發硬體應用入門技術 待進入科技大學再升級為物聯網開發硬體設計人員


您沒有登錄。 請登錄註冊

A28. WS2812: RGB 彩色燈條

向下  內容 [第1頁(共1頁)]

1 A28. WS2812: RGB 彩色燈條 于 周四 9月 20, 2018 8:34 pm

Admin


Admin
控制一個串了 60 顆 WS2812 的 RGB 彩色燈條,發出紅/綠/藍的呼吸燈效果

此為 LinkIt 7697 BlocklyDuino v3 新功能, 預計於七月初發佈

此積木適用於 WS2812 和 SK6812 的 三色 LED 光條。此類光條最有名的就是 Adafruit 出 NeoPixel 系列,也是本積木底層採用的驅動程式庫

電路圖
LinkIt 7697
WS2812 彩色燈條
麵包板
杜邦線

WS2812 可以多棵一直串接下去,LinkIt 7697 透過 1-wire (一根 GPIO) 的方式和一串的 WS2812 溝通。每顆 WS2812 拿走收到的第一筆訊號後,把後面的訊號原封不動地傳給一下個 WS2812

下面範例連接方式

5V :接 5V 電源供應
GND : 接 GND
DIN : 接 P2
WS2812 的亮度非常亮,為避免傷害眼睛,建議先用 Default 亮度 30,再依需求慢慢調亮

積木畫布



產生的 Arduino 程式如下

#include <Adafruit_NeoPixel.h>

int i;
int color;
int add;
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(60,2,NEO_GRB + NEO_KHZ800);

void setup()
{
pixels.begin();
pixels.setBrightness(30);
color = 0;
add = 1;
Serial.begin(9600);
}

void loop()
{
for (i = 0; i <= 19; i++) {
pixels.setPixelColor(i, pixels.Color(color,0,0));
}
for (i = 20; i <= 39; i++) {
pixels.setPixelColor(i, pixels.Color(0,color,0));
}
for (i = 40; i <= 59; i++) {
pixels.setPixelColor(i, pixels.Color(0,0,color));
}
pixels.show();

color = color + add;
if (color >= 255) {
add = -1;
} else if (color <= 0) {
add = 1;
}

Serial.println(color);
delay(10);
}

RGB LED 燈條輸出效果,1~20 顆顯示紅色呼吸燈,21~40 顆顯示綠色呼吸燈,41~60 顆顯示藍色呼吸燈


檢視會員個人資料 http://iotboard.666forum.com

回頂端  內容 [第1頁(共1頁)]

這個論壇的權限:
無法 在這個版面回復文章