如何提升网站百度权重,wordpress批量获取七牛外链,wordpress集成关注公众和登陆,网页设计网站规划报告FastLED 是一款功能强大#xff0c;简单易用的控制WS2812, LPD8806, 等LED光带的Arduino第三方库。 第一#xff1a;基础显示 led [ 0 ] CRGB::Red; //为第一个灯珠设置红色 FastLED.show(); //这个作用才会显示
示例程序#xff1a;
此程序展示了FASTLED库控制WS2821…FastLED 是一款功能强大简单易用的控制WS2812, LPD8806, 等LED光带的Arduino第三方库。 第一基础显示 led [ 0 ] CRGB::Red; //为第一个灯珠设置红色 FastLED.show(); //这个作用才会显示
示例程序
此程序展示了FASTLED库控制WS2821灯带的基本程序结构。
#include FastLED.h
#define NUM_LEDS 8
#define DATA_PIN 7
#define CLOCK_PIN 13
CRGB leds[NUM_LEDS];
CRGB myGRBcolor(0, 0, 255);
void setup() { FastLED.addLedsWS2812, DATA_PIN, RGB(leds, NUM_LEDS); FastLED.setBrightness(255);
}
void loop() { for (int i 0; i 255; i) { myGRBcolor.r 0; myGRBcolor.g i; myGRBcolor.b 0; fill_solid(leds, NUM_LEDS, myGRBcolor); FastLED.show();//更新灯带显示。 } delay(1000);
}
第二批量显示 fill_solid(leds, number , CRGB::Color) ; //leds 是建立的对象起始地址如果不想要从第一个LED开始显示那就对应开始的地址 leds i 对number个led点亮为color这里的起始到结尾以及颜色都是可以修改的 FastLED.show(); //同样要搭配这个函数
示例程序
#include FastLED.h // 此示例程序需要使用FastLED库
#define NUM_LEDS 21 // LED灯珠数量
#define LED_DT 7 // Arduino输出控制信号引脚
#define LED_TYPE WS2812 // LED灯带型号
#define COLOR_ORDER GRB // RGB灯珠中红色、绿色、蓝色LED的排列顺序
uint8_t max_bright 255 ; // LED亮度控制变量可使用数值为 0 255 数值越大则光带亮度越高
CRGB leds[NUM_LEDS]; // 建立光带leds
//HSV方法定义颜色
CHSV myHSVcolor(80,255,255); //HSV方法定义颜色 myHSVcolor色调饱和度明亮度
void setup() { LEDS.addLedsLED_TYPE, LED_DT, COLOR_ORDER(leds, NUM_LEDS); // 初始化光带 FastLED.setBrightness(max_bright); // 设置光带亮度
}
void loop () { //以下演示变色条反复摆动 for (int i 0; i NUM_LEDS; i){ myHSVcolor.h10; //修改HSV定义颜色的单一数值 fill_solid(ledsi, 3, myHSVcolor); FastLED.show(); delay(50); } for (int i NUM_LEDS; i 0 ; i--){ myHSVcolor.h10; //修改HSV定义颜色的单一数值 fill_solid(ledsi, 3, myHSVcolor); FastLED.show(); delay(50); }
}
第三自定义颜色 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_RGBleds , 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,255LINEARBLEND ); //就是填充色板他有一个自带的色板 //leds是灯带对象的名字。 //30代表灯带的灯珠数量。 //start_color_number 起始颜色的序号 //8 是灯珠色差 255是亮度 //RainbowColors_p 色板的名称 //有很多色板 OceanColors_p ,CloudColors_p,LavaColors_p,ForestColors_p //RainbowColors_p,RainbowStripeColors_p,PartyColors_p,HeatColors_p //255是亮度。 //LINEARBLEND 最后一个是颜色过渡效果LINEARBLEND是一种线性过渡效果 非NOBLEND。
第八逐渐熄灭灯带
fadeToBlackBy( leds, 30, 10); 以上语句将leds光带的30个灯珠亮度调低10。注LED亮度值可选数值范围为0 – 255
第九设置灯带亮度
FastLED.setBrightness(128); 以上语句将LED亮度设置为128。该亮度为最大亮度(255)的一半左右。