ws2812b灯带掉落亮起代码
时间: 2023-07-09 17:46:29 浏览: 77
Mixly编程控制WS2812B灯带
掉落亮起的效果通常是让一束或多束灯珠从上方向下掉落,并在掉落过程中逐渐点亮,最后全部点亮。以下是一个基于 WS2812B 灯带实现的掉落亮起效果的示例代码:
```
#include <FastLED.h>
#define LED_PIN 6
#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() {
for (int i = 0; i < LED_COUNT; i++) {
// 计算灯珠当前的亮度值
int brightness = map(i, 0, LED_COUNT, 0, BRIGHTNESS);
// 逐个点亮灯珠
leds[i] = CRGB(brightness, brightness, brightness);
FastLED.show();
// 控制掉落速度和亮度变化速度
delay(10);
}
// 延迟一段时间,让掉落效果停留一会儿
delay(1000);
// 清空所有灯珠
for (int i = 0; i < LED_COUNT; i++) {
leds[i] = CRGB(0, 0, 0);
}
FastLED.show();
// 延迟一段时间,让所有灯珠都熄灭
delay(1000);
}
```
这段代码实现了一个简单的掉落亮起效果:先将所有灯珠熄灭,然后逐个点亮灯珠,掉落过程中灯珠的亮度逐渐增加,最后全部点亮。等待一段时间后,再将所有灯珠熄灭,等待一段时间后重新开始掉落亮起过程。
阅读全文