彩色LED模塊 - 24位

出自YFRobotwiki
跳轉到: 導覽搜尋
彩色LED_24


產品簡介


彩色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引腳。


neopixel_24_750


示例代碼
#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).
  }
}


參考資料





返回首頁

更多建議和問題歡迎反饋至 YFRobot論壇

購買方式:YFRobot 電子工作室