彩色LED模塊 - 12位
從 YFRobotwiki
產品簡介
彩色LED模塊採用12顆 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 12 // 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 電子工作室