for (int i = 0; i < 128; 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(0, brightness_1, 0); } FastLED.show(); delay(20);怎么熄灭呼吸灯
时间: 2024-03-21 14:44:08 浏览: 58
要熄灭呼吸灯,你可以在循环中添加一个条件判断,当需要熄灭呼吸灯的时候,将 `brightness_1` 的值设置为0,这样LED就会熄灭。
例如,你可以在 `if (val == 0)` 的分支中添加一个变量 `breath`,当 `breath` 的值为1时,表示需要呼吸灯效果,当 `breath` 的值为0时,表示需要熄灭LED。
```c++
int breath = 1; // 添加一个变量,初始值为1,表示需要呼吸灯效果
void loop() {
// ...
if (val == 0) { // 如果Pin10检测的值为高电平,点亮LED
breath = 1; // 设置 breath 的值为1,表示需要呼吸灯效果
for (int i = 0; i < LED_COUNT_1; i++) {
leds_1[i] = CRGB::White;
FastLED.show();
delay(25);
}
} else { // 如果为低电平熄灭LED
breath = 0; // 设置 breath 的值为0,表示需要熄灭LED
for (int i = 0; i < 128; i++) {
int brightness_1 = breath ? (exp(sin(i / 50.0 * PI)) - 0.36787944) * 108.0 : 0; // 根据 breath 的值来确定 brightness_1 的值
for (int j = 0; j < LED_COUNT_1; j++) {
leds_1[j].setRGB(0, brightness_1, 0);
}
FastLED.show();
delay(20);
}
}
}
```
这样,当需要熄灭LED时,只需要将 `val` 的值设置为1即可。
阅读全文