【Arduino库之:FastLED库】
第一:基础
led [ 0 ] = CRGB::Red; //为第一个灯珠设置红色
FastLED.show(); //这个作用才会显示
第二:相当于增加了批量显示
fill_solid(leds, number , CRGB::Color) ; //leds 是建立的对象起始地址,如果不想要从第一个LED开始显示,那就对应开始的地址 : leds + i ,对number个led点亮为color,这里的起始到结尾以及颜色都是可以修改的
FastLED.show(); //同样要搭配这个函数
第三:自定义颜色
CRGB myRGB( 40,50,60 ) ; //这里的40 50 60 对应RGB的值,使用时直接无缝替换Red等
//当然这里的RGB数值并不是定义了就不变量,可以通过myRGB.r = 20 ; 设置r也就是红色为20
//来修改r值,如果一直变化 ,可以达到渐变的效果
第四:直观的显示颜色的方法 HSV
CHSV myHSV ( 30 ,40 ,50 ) ; // 分别对应色调,饱和度,明亮度 范围都是0~255
//饱和度在最大值时达到本来颜色
//同样可以修改
myHSV.h++;
第五:更加灵活的显示方式彩虹rainbow显示法:
fill_rainbow( leds , 30 , 0) ; //分别对应对象起始地址,显示个数,色盘的起始色 (与360度 为一圈对应)
//上面这里命令似乎有点问题,这个彩虹渐变的间隔怎样,就是每两个灯珠之间的H 值相差多少,它是一个默认值,下面这个命令就可以修改了,只是加了一个最后的参数值
fill_ranbow( leds ,30 ,0 ,5) ; //这里的5就是差值
第六:另一个灵活的显示方式
//上面的方式其实有一个弊端,它的亮度值是不可以调节的,如果想使用渐变的过程 中亮度值也要改变,那么就推荐使用这个函数
fill_fradient_RGB(leds , start ,CRGB::Color , end ,CRGB::Color );
//这个是标记从开始灯珠以及对应颜色一直到结束灯珠以及对应颜色
//中间的fastled库会自动渐变
//改变亮度值
fill_gradient_RGB ( leds, 0 ,CRGB( 20,0,0), 30 , CRGB ( 20 , 20 , 30 ));
//这里的CRGB不可以和CHSV可以替换
//那想要替换怎么办呢
fill_gradient( leds , start , CHSV () , end , CHSV ( ) , mode ) ;
//SHORTEST_HUES 表示mode中沿着短的路线走,对应LONGEST_HUES
第七: 自带的光带模式
fill_palette ( leds ,30, start _color_number ,8 ,OceanColors_p,255,LINEARBLEND ); //就是填充色板,他有一个自带的色板
//8 是灯珠色差 255是亮度 最后一个是颜色过渡效果,比如线性 ,非NOBLEND
//RainbowColors_p
//有很多色板, OceanColors_p ,CloudColors_p,LavaColors_p,ForestColors_p
//RainbowColors_p,RainbowStripeColors_p,PartyColors_p,HeatColors_p