esp32驱动ws2812b的代码
时间: 2023-10-10 22:08:56 浏览: 91
以下是一个ESP32驱动WS2812B的示例代码:
```cpp
#include <Adafruit_NeoPixel.h>
#define LED_PIN 5
#define LED_COUNT 8
Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
void setup() {
strip.begin();
strip.show(); // 初始化所有LED为关闭状态
}
void loop() {
// 设置所有LED为红色
for (int i = 0; i < strip.numPixels(); i++) {
strip.setPixelColor(i, strip.Color(255, 0, 0));
}
strip.show();
delay(1000);
// 设置所有LED为绿色
for (int i = 0; i < strip.numPixels(); i++) {
strip.setPixelColor(i, strip.Color(0, 255, 0));
}
strip.show();
delay(1000);
// 设置所有LED为蓝色
for (int i = 0; i < strip.numPixels(); i++) {
strip.setPixelColor(i, strip.Color(0, 0, 255));
}
strip.show();
delay(1000);
}
```
这个代码使用了 `Adafruit_NeoPixel` 库来控制WS2812B LED。它首先在 `setup()` 函数中初始化了LED,并将所有LED设置为关闭状态。然后在 `loop()` 函数中,它依次将所有LED设置为红色、绿色和蓝色,并在每次设置后使用 `strip.show()` 函数将颜色发送到LED。最后使用 `delay()` 函数来让每种颜色的LED亮起一段时间。
阅读全文