ws2812b白色呼吸灯代码
时间: 2023-07-09 08:41:26 浏览: 94
呼吸灯代码
下面是一个使用FastLED库实现的WS2812B白色呼吸灯的代码示例:
```c++
#include <FastLED.h>
#define LED_PIN 5
#define LED_COUNT 60
#define BRIGHTNESS 255
#define LED_TYPE WS2812B
#define COLOR_ORDER GRB
CRGB leds[LED_COUNT];
void setup() {
FastLED.addLeds<LED_TYPE, LED_PIN, COLOR_ORDER>(leds, LED_COUNT);
FastLED.setBrightness(BRIGHTNESS);
}
void loop() {
int brightness = 0;
int fadeAmount = 5;
while (brightness <= 255) {
for (int i = 0; i < LED_COUNT; i++) {
leds[i].setRGB(brightness, brightness, brightness);
}
FastLED.show();
brightness += fadeAmount;
delay(30);
}
while (brightness >= 0) {
for (int i = 0; i < LED_COUNT; i++) {
leds[i].setRGB(brightness, brightness, brightness);
}
FastLED.show();
brightness -= fadeAmount;
delay(30);
}
}
```
该代码使用了FastLED库来控制一个60个WS2812B LED灯珠的灯带。在`setup()`函数中,它将LED灯带的类型、引脚和颜色顺序传递给FastLED库,并设置了亮度为255。
在`loop()`函数中,它使用了一个`while`循环,逐渐增加LED灯带的亮度,然后再逐渐降低亮度,以实现呼吸灯效果。在每个循环中,它使用一个`for`循环,将LED灯带中的所有LED的颜色设置为相同的亮度值,从而实现白色呼吸灯效果。然后使用`FastLED.show()`函数将颜色数据发送到LED灯带,使用`delay()`函数暂停一段时间等待下一次循环。
阅读全文