使用以下代码,我可以将WS2812b RGB LED灯条从蓝色渐变为红色。如果currentTemp低于30°C,则条带已经是蓝色的。如果CurrentTemp大于currentTemp-5°C,则为白色(空闲模式)。
annotationProcessor
我想在void LEDanimation(double currentTemp, double targetTemp) {
if (currentTemp < 30) {
for(int x = 0; x < NUM_LEDS; x++){
leds[x] = CRGB(0,0,255);
}
return;
}
if (currentTemp > targetTemp - 5) {
for(int x = 0; x < NUM_LEDS; x++){
leds[x] = CRGB(255,255,255);
}
return;
}
for( int colorStep=0; colorStep<256; colorStep++ ) {
int r = colorStep;
int b = 255-colorStep;
int g = 0;
for(int x = 0; x < NUM_LEDS; x++){
leds[x] = CRGB(r,g,b);
}
FastLED.show();
delay(10);
}
}
所控制的蓝色和红色之间淡入淡出。现在,currentTemp
时它正逐渐消失。但是它应该参考currentTemp来完成。如果currentTemp由于某种原因降低了,它也应该淡出。