Neopixel Ring 24-LED(WS2812) CN: 두 판 사이의 차이

아두위키 : Arduwiki
 
36번째 줄: 36번째 줄:
== '''库文件''' ==
== '''库文件''' ==
使用 Adafruit Neopixel 库。   
使用 Adafruit Neopixel 库。   
关于库的使用,请参考 [[Arduino库]] 页面。
关于库的使用,请参考 [[Arduino Libraries|Arduino库]] 页面。


== '''示例代码''' ==
== '''示例代码''' ==

2025년 3월 27일 (목) 18:29 기준 최신판

Neopixel 是 Adafruit 出品的一种带有 WS281x 芯片的 LED 产品。

如图所示,形状多样(单颗、环形、直条等),布线方便,适合多种应用。

通常与 Arduino 等微控制器一起使用。

规格

  • 工作电压 [V]:5
  • 每个 LED 电流:20mA ~ 80mA

示例使用硬件

  • Arduino board
  • 24位 Neopixel

连接方式

本模块默认没有接线,需要先焊接跳线后使用。

Arduino UNO Neopixel
5V 5V
GND GND
D7 DI

库文件

使用 Adafruit Neopixel 库。 关于库的使用,请参考 Arduino库 页面。

示例代码

依次点亮7种颜色的例子。

#include <Adafruit_NeoPixel.h>

#define PIN 7
#define NUMPIXELS 24
#define bright 255
#define dly 50
Adafruit_NeoPixel neo(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  neo.begin();
  neo.setBrightness(bright);
  neo.clear();
  neo.show();
  for (int i = 0; i < NUMPIXELS; i++) {
    neo.setPixelColor(i, 255, 255, 255);
    neo.show();
    delay(dly);
  }
  for (int i = 0; i < NUMPIXELS; i++) {
    neo.setPixelColor(i, 255, 0, 0);
    neo.show();
    delay(dly);
  }
  for (int i = 0; i < NUMPIXELS; i++) {
    neo.setPixelColor(i, 0, 255, 0);
    neo.show();
    delay(dly);
  }
  for (int i = 0; i < NUMPIXELS; i++) {
    neo.setPixelColor(i, 0, 0, 255);
    neo.show();
    delay(dly);
  }
  for (int i = 0; i < NUMPIXELS; i++) {
    neo.setPixelColor(i, 255, 255, 0);
    neo.show();
    delay(dly);
  }
  for (int i = 0; i < NUMPIXELS; i++) {
    neo.setPixelColor(i, 0, 255, 255);
    neo.show();
    delay(dly);
  }
  for (int i = 0; i < NUMPIXELS; i++) {
    neo.setPixelColor(i, 255, 0, 255);
    neo.show();
    delay(dly);
  }
  for (int i = 0; i < NUMPIXELS; i++) {
    neo.setPixelColor(i, 0, 0, 0);
  }
  neo.show();
}

void loop() {
}

执行结果