彩色LED模塊 - 24位
出自YFRobotwiki
產品簡介
彩色LED模塊採用24顆 WS2812(RGB全彩高亮LED)設計製作完成。WS2812是一個集控制電路與發光電路於一體的智能外控LED光源,內置信號整形電路,任何一個像素點收到信號後經過波形整形再輸出,保證線路波形畸變不會累加,且每個像素點的三基色顏色可實現256級亮度顯示,完成16777216種顏色的全真色彩顯示,掃描頻率不低於400Hz/s,內置上電複位和掉電複位電路。串列級聯介面,能通過一根信號線完成數據的接收與解碼。可以用於彩色提示燈等。
規格參數
- 供電電壓:DC3.3 - 5V
- 色彩顯示:16777216種顏色的全真色彩顯示
- 亮度調節:256級亮度調節
- 掃描頻率:>=400Hz/s
- 數據傳輸速率:800Kbps
- 串列級聯:<5M時,不需要外接電路 / 刷新速率30幀/秒時,低速模式下 >=512個,高速模式下 >=1024個
引腳說明
- 1. G -- Gnd(地)
- 2. V -- Vcc(電源+5V)
- 3. S -- Sign(信號)
應用示例
- 電路連接示意圖
- LED模塊的 G、V、S分別連接 Arduino UNO的GND、VCC(+5V)、D5引腳。
- 示例代碼
#include <Adafruit_NeoPixel.h>
#define Red Color(255,0,0)
#define Green Color(0,255,0)
#define Blue Color(0,0,255)
#define PIN 5
#define NUMPIXELS 24
// Parameter 1 = number of pixels in strip
// Parameter 2 = pin number (most are valid)
// Parameter 3 = pixel type flags, add together as needed:
// NEO_KHZ800 800 KHz bitstream (most NeoPixel products w/WS2812 LEDs)
// NEO_KHZ400 400 KHz (classic 'v1' (not v2) FLORA pixels, WS2811 drivers)
// NEO_GRB Pixels are wired for GRB bitstream (most NeoPixel products)
// NEO_RGB Pixels are wired for RGB bitstream (v1 FLORA pixels, not v2)
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
int delayval = 500; // delay for half a second
void setup() {
// This is for Trinket 5V 16MHz, you can remove these three lines if you are not using a Trinket
#if defined (__AVR_ATtiny85__)
if (F_CPU == 16000000) clock_prescale_set(clock_div_1);
#endif
// End of trinket special code
pixels.begin(); // This initializes the NeoPixel library.
pixels.show();
}
void loop() {
lightLED(pixels.Red); //Order lit the red light
lightLED(pixels.Green); //Order lit the green light
lightLED(pixels.Blue); //Order lit the blue light
}
void lightLED(uint32_t c) {
// For a set of NeoPixels the first NeoPixel is 0, second is 1, all the way up to the count of pixels minus one.
for (int i = 0; i < NUMPIXELS; i++) {
// pixels.Color takes RGB values, from 0,0,0 up to 255,255,255
pixels.setPixelColor(i, c); // Moderately bright green color.
pixels.show(); // This sends the updated pixel color to the hardware.
delay(delayval); // Delay for a period of time (in milliseconds).
}
}
參考資料
- WS2812說明書-英文 備用地址
- WS2812說明書-中文 備用地址
- 規格表合集 - 5050LED/WS2801/WS2811/WS2812 下載:LED_Specification_sheets
- Arduino-WS2812庫-FastLED
- Arduino-WS2812庫-Adafruit_NeoPixel
更多建議和問題歡迎反饋至 YFRobot論壇
購買方式:YFRobot 電子工作室