WS2812灯带程序
-
-
- 简介
- 示例程序
- 程序拓展(1)
- 程序拓展(2)
- 拓展程序(3)---fill_solid()函数
- 灯带颜色的设置
- (1)CRGB RGBcolorName(rVal,gVal,bVal);
- CHSV颜色设置示例
- 程序拓展(1)
- 程序拓展(2)
- fill_rainbow()函数
- 示例
- fill_gradient()函数
- 示例
- palette色板
- 示例
- 自定义色板
- ColorFromPalette()函数
- fadeToBlacBy()函数
- FastLED.setBrightness()函数
- random8()函数
- beatsin8()函数
- EVERY_N_SECONDS()函数
- 自定义addGlitter()函数
- LED灯带项目
-
简介
关于WS2812的简介看这里(https://blog.csdn.net/STCode_G/article/details/111652978?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162858277116780269855155%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=162858277116780269855155&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-1-111652978.first_rank_v2_pc_rank_v29&utm_term=ws2812%E7%81%AF%E5%B8%A6&spm=1018.2226.3001.4187)
示例程序
#include <FastLED.h>
#define DATA_PIN 3 //设置引脚
#define LED_TYPE WS2812 //灯带类型
#define NUM_LEDS 30 //灯珠数量
#define COLOR_ORDER GRB //灯珠顺序
#define BRIGHTNESS 128
uint8_t max_brightness=128; //最大亮度
CRGB leds[NUM_LEDS]; // 给灯带命名
void setup() {
// put your setup code here, to run once:
FastLED.addLeds<LED_TYPE,DATA_PIN,COLOR_ORDER>(leds,NUM_LEDS); //初始化灯带
FastLED.setBrightness(max_brightness); //设置灯带亮度
}
void loop() {
// put your main code here, to run repeatedly:
for (int i=0;i<=29;i++){
leds[i]= CRGB::Red;
FastLED.show();
delay(100);
leds[i]=CRGB::Black;
FastLED.show();
delay(100); //实例从第一个灯带起亮红色然后熄灭
}
}
程序拓展(1)
void loop() {
// put your main code here, to run repeatedly:
for (int i=0;i<=29;i++){
myled[i]=CRGB::Green;
FastLED.show();
delay(25);
}
for (int i=0;i<=29;i++){
myled[i]=CRGB::Black;
FastLED.show();
delay(25);
}
}
程序会从第一个灯依次点亮直到最后一颗灯,然后又从第一颗灯熄灭
程序拓展(2)
void loop(){
for (int i=1;i<=28;i++){
myled[i-1]=CRGB::Red;
myled[i]=CRGB::Red;
myled[i+1]=CRGB::Red;
myled[i-1]=CRGB::Green;
myled[i]=CRGB::Green;
myled[i+1]=CRGB::Green;
myled[i-1]=CRGB::Blue;
myled[i]=CRGB::Blue;
myled[i+1]=CRGB::Blue;
myled[i-1]=CRGB::Black;
myled[i]=CRGB::Black;
myled[i+1]=CRGB::Black;
}
}
示例程序每三个依次闪烁红绿蓝