WS2812B多彩流水呼吸Keli程序
时间: 2024-03-01 10:55:27 浏览: 64
ws2812程序
下面是一个使用WS2812B LED灯带实现多彩流水呼吸效果的Keli程序,使用Keli编写:
```
#include <Keli_RGB.h>
Keli_RGB rgb;
void setup() {
rgb.begin();
}
void loop() {
for (int i = 0; i < 60; i++) {
for (int j = 0; j < 256; j++) {
int value = (exp(sin(j / 256.0 * PI)) - 0.36787944) * 108.0;
rgb.setColor(i, value, value/3, value/10);
rgb.show();
delay(5);
}
}
}
```
在程序中,我们首先创建了一个Keli_RGB对象,用于控制WS2812B LED灯带。
在setup()函数中,我们初始化了LED灯带。
在loop()函数中,我们使用两个for循环来遍历每个LED,然后在内部循环中,使用呼吸灯算法来生成不同的颜色,并将其设置为当前LED的颜色,最后使用rgb.show()函数将颜色输出到LED灯带上,再通过delay()函数来控制呼吸的速度。
在呼吸灯算法中,我们使用了正弦函数和指数函数来生成一个0到255的值,然后根据这个值来计算RGB颜色,从而实现不同颜色的流水呼吸效果。具体的颜色计算公式为:
```
rgb.setColor(i, value, value/3, value/10);
```
其中,i为当前LED的索引,value为呼吸灯算法生成的0到255的值,用来控制亮度。我们将其分别作为RGB三个分量的值,来生成多彩的流水呼吸效果。
阅读全文