Arduino快速移动的彩虹没有蓝色



我有一个基于Arduino的灯,通过FastLED库具有移动彩虹效果。

代码为:

void rainbow(){
hue += 2;
for (int i = 0; i < NUM_LEDS; i++)
leds[i] = CHSV((byte)(hue + i * float(255 / NUM_LEDS)), 255, 255);
}

所以我真的不喜欢彩虹中的蓝色渐变,所以我想去掉它(我想它是从135到180(。

以下假设你是一个理性的人,对紫色和水绿色很酷,但不喜欢蓝色主导

好奇你最终会做什么。下面的一般信息很有趣。

https://github.com/FastLED/FastLED/wiki/FastLED-HSV-Colorshttps://github.com/FastLED/FastLED/wiki/Pixel-reference

可能转换为RGB,将B抑制为不大于R或G,然后按原样使用(rgbNew(或再次转换为HSV(hsvNew(,具体取决于您所做的操作。

CRGB rgb;
hsv2rgb_rainbow(hsv, rgb);  // or hsv2rgb_spectrum maybe
long minBlue = min(max(rgb.r, rgb.g), rgb.b);
CRGB rgbNew =  ((long)rgb.r << 16L) | ((long)rgb.g << 8L) | (long)minBlue;
CHSV hsvNew = rgb2hsv_approximate(rgbNew);

最新更新