ws2812呼吸灯,fastled函数循环实现7种颜色的呼吸灯
时间: 2023-06-13 20:06:33 浏览: 535
可以使用以下代码实现:
```C++
#include <FastLED.h>
#define LED_PIN 6
#define NUM_LEDS 1
CRGB leds[NUM_LEDS];
void setup() {
FastLED.addLeds<WS2812, LED_PIN, GRB>(leds, NUM_LEDS);
}
void loop() {
// 7 colors to breathe
uint8_t hue[] = {0, 32, 64, 96, 128, 160, 192};
// breathe in and out
uint8_t breath = beatsin8(5, 0, 255);
// loop through each LED
for (int i = 0; i < NUM_LEDS; i++) {
// set LED color
leds[i] = CHSV(hue[i], 255, breath);
}
// show LEDs
FastLED.show();
// wait a little bit before updating again
delay(10);
}
```
这个代码使用FastLED库来控制WS2812呼吸灯。`hue`数组包含7种颜色的色调值,`breath`变量通过`beatsin8()`函数来实现呼吸灯的效果。然后,循环遍历每个LED,设置其颜色为当前色调和呼吸值的组合。最后,通过`FastLED.show()`函数来显示LED的颜色,并且通过`delay()`函数来暂停一段时间,以便下一次更新。
阅读全文