这段代码第二个灯带没有变化,没有亮
时间: 2024-03-11 16:03:48 浏览: 136
Arduino多彩灯带控制.zip
非常抱歉,我的代码有误,应该将循环放在第一个循环内部。具体代码如下:
```
#include <FastLED.h>
#define LED_PIN_1 3
#define LED_PIN_2 6
#define LED_COUNT_1 42
#define LED_COUNT_2 7
#define BRIGHTNESS 255
#define LED_TYPE WS2812B
#define COLOR_ORDER GRB
CRGB leds_1[LED_COUNT_1];
CRGB leds_2[LED_COUNT_2];
void setup() {
FastLED.addLeds<LED_TYPE, LED_PIN_1, COLOR_ORDER>(leds_1, LED_COUNT_1);
FastLED.addLeds<LED_TYPE, LED_PIN_2, COLOR_ORDER>(leds_2, LED_COUNT_2);
FastLED.setBrightness(BRIGHTNESS);
}
void loop() {
int brightness_2 = 0;
int fadeAmount = 5;
for (int i = 0; i < 7680; i++) {
int brightness_1 = (exp(sin(i / 50.0 * PI)) - 0.36787944) * 108.0;
for (int j = 0; j < LED_COUNT_1; j++) {
leds_1[j].setRGB(brightness_1, brightness_1, brightness_1);
}
// 将第二个灯带的亮度设为0
for (int k = 0; k < LED_COUNT_2; k++) {
leds_2[k].setRGB(0, 0, 0);
}
FastLED.show();
delay(20);
// 在第一个灯带呼吸的同时逐渐增加第二个灯带的亮度
if (brightness_2 < 255) {
brightness_2 += fadeAmount;
if (brightness_2 > 255) {
brightness_2 = 255;
}
for (int k = 0; k < LED_COUNT_2; k++) {
leds_2[k].setRGB(brightness_2, brightness_2, brightness_2);
}
}
}
}
```
这段代码中,第二个灯带的亮度在第一个循环内部逐渐增加,一开始亮度为0,在循环内部不断增加,直到255。同时,第二个灯带的亮度设为0,以保证其不会跟随第一个灯带的变化。需要注意的是,这段代码中的呼吸效果是由第一个灯带控制的,如果需要更改呼吸效果,需要修改对第一个灯带的控制。
阅读全文