欢迎光临散文网 会员登陆 & 注册

Arduino第三方库FastLED库使用笔记

2022-05-02 20:16 作者:大一_新生  | 我要投稿

First(最基础)

        led [ 0 ] = CRGB::Red;  //为第一个灯珠设置红色

        FastLED.show();   //这个作用才会显示

second(相当于增加了批量处理的功能)

        fill_solid(leds, number , CRGB::Color) ; //leds 是建立的对象起始地址,如果不想要                从第一个LED开始显示,那就对应开始的地址 : leds + i ,对number个led点亮                    为color,这里的起始到结尾以及颜色都是可以修改的

        FastLED.show();  //同样要搭配这个函数

third(发现上面两个颜色太单调,这里自定义颜色)

    CRGB myRGB( 40,50,60 ) ;  //这里的40 50 60 对应RGB的值,使用时直接无缝替换Red等

    //当然这里的RGB数值并不是定义了就不变量,可以通过myRGB.r = 20 ; 

    //来修改r值,如果一直变化 ,可以达到渐变的效果

fourth(上面的RGB其实时并不直观的,这里介绍一种更加直观的方法 HSV)

    CHSV myHSV ( 30 ,40 ,50 ) ;   //   分别对应色调,饱和度,明亮度 范围都是0~255

    //使用时和Green等无缝替换

    //饱和度在最大值时达到本来颜色

    //同样可以修改

    myHSV.h++;

fifth(上面的颜色显示方法还是有点呆板,下面介绍一些更加灵活)

    fill_rainbow( leds , 30 , 0) ;  //分别对应对象起始地址,显示个数,色盘的起始色                (与360度 为一圈对应)

    //上面这里命令似乎有点问题,这个彩虹渐变的间隔怎样,就是每两个灯珠之间的H                值相差多少,它是一个默认值,下面这个命令就可以修改了,只是加了一个最后的参数值

    fill_ranbow( leds ,30 ,0 ,5) ; //这里的5就是差值

sixth(另一个灵活的方式)

    //上面的方式其实有一个弊端,它的亮度值是不可以调节的,如果想使用渐变的过程                中亮度值也要改变,那么就推荐使用这个函数

    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

seventh( 相当于自带的光带模式)

    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

使用platformio快捷

tab/shifr+tab


Arduino第三方库FastLED库使用笔记的评论 (共 条)

分享到微博请遵守国家法律