ws2812b从第一个LED灯和最后一个LED灯同时向中间流水亮起,速度由快变慢
时间: 2024-03-17 07:41:47 浏览: 24
要实现从第一个LED灯和最后一个LED灯同时向中间流水亮起的效果,可以使用以下代码:
```
#include <FastLED.h>
#define LED_PIN 6
#define LED_COUNT 60
CRGB leds[LED_COUNT];
void setup() {
FastLED.addLeds<WS2812B, LED_PIN, GRB>(leds, LED_COUNT);
}
void loop() {
int center = (LED_COUNT - 1) / 2; // 计算LED灯带的中间位置
int delayTime = 50; // 初始化延时时间为50毫秒
// 从两端向中间流水亮起
for (int i = 0; i <= center; i++) {
leds[i] = CRGB::Green; // 第一个LED灯设置为绿色
leds[LED_COUNT - 1 - i] = CRGB::Green; // 最后一个LED灯设置为绿色
FastLED.show(); // 发送颜色信息到LED灯带
delay(delayTime); // 延时
delayTime -= 1; // 延时时间逐渐减少
}
delayTime = 50; // 重置延时时间为50毫秒
// 从中间向两端流水熄灭
for (int i = center; i >= 0; i--) {
leds[i] = CRGB::Black; // 第一个LED灯设置为黑色
leds[LED_COUNT - 1 - i] = CRGB::Black; // 最后一个LED灯设置为黑色
FastLED.show(); // 发送颜色信息到LED灯带
delay(delayTime); // 延时
delayTime += 1; // 延时时间逐渐增加
}
}
```
在这段代码中,使用了FastLED库来控制WS2812B LED灯带。在循环中,从两端向中间流水亮起,每次循环中同时点亮第一个和最后一个LED灯,并且使用delay()函数来控制延时时间,使得速度逐渐变慢。在第二个循环中,从中间向两端流水熄灭,也是同样的道理。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)