当前位置: 首页 > article >正文

【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


http://www.kler.cn/a/155937.html

相关文章:

  • 【深度解析】CSS工程化全攻略(1)
  • 安全生产管理的重要性:现状、痛点与改进之路
  • Linux设置Nginx开机启动
  • 初探鸿蒙:从概念到实践
  • 论软件维护及其应用子问题
  • 生成模型——PixelRNN与PixelCNN
  • SCAU:数字字符序列2
  • Linux(13):例行性工作排程
  • 前后端分离部署https
  • qt-C++笔记之组件-分组框QGroupBox
  • C/C++ 快速排序
  • Python 错误 TypeError: __str__ Returned Non-String but Printing Output
  • 【源码解析】聊聊线程池 实现原理与源码深度解析(一)
  • 从零构建属于自己的GPT系列3:模型训练2(训练函数解读、模型训练函数解读、代码逐行解读)
  • 算法复习,数据结构 ,算法特性,冒泡法动态演示,复杂度,辗转相除法*,寻找最大公因数
  • Win中Redis部署与配置
  • SCAU:判断点是否在圆上
  • QWebChannel 是 Qt 框架中用于在 Web 页面和 Qt 应用程序之间进行通信的类
  • 【doccano】文本标注工具——属性级情感分析标注自己的业务数据
  • 使用SLS日志服务采集Kong网关的日志
  • c语言编程题经典100例——(41~45例)
  • Android textView 显示: STRING_TOO_LARGE
  • 23.12.3日总结
  • 鸿蒙工具DevEco Studio调试Build task failed. Open the Run window to view details.
  • 讲一讲redis的使用
  • WordPress外贸站优化工具,WordPress外贸SEO优化方法