#include <FastLED.h> #define LED_PIN_1 3 #define LED_PIN_2 6 #define LED_COUNT_1 42 #define LED_COUNT_2 7 #define BRIGHTNESS 255 #define LED_TYPE WS2812B #define COLOR_ORDER GRB CRGB leds_1[LED_COUNT_1]; CRGB leds_2[LED_COUNT_2]; void setup() { FastLED.addLeds<LED_TYPE, LED_PIN_1, COLOR_ORDER>(leds_1, LED_COUNT_1); FastLED.addLeds<LED_TYPE, LED_PIN_2, COLOR_ORDER>(leds_2, LED_COUNT_2); FastLED.setBrightness(BRIGHTNESS); } void loop() { int brightness_2 = 0; int fadeAmount = 5; for (int i = 0; i < 7680; i++) { int brightness_1 = (exp(sin(i / 50.0 * PI)) - 0.36787944) * 108.0; for (int j = 0; j < LED_COUNT_1; j++) { leds_1[j].setRGB(brightness_1, brightness_1, brightness_1); } FastLED.show(); delay(20); } }为这段代码添加注释
时间: 2024-03-19 09:40:35 浏览: 45
/*
* 这段代码实现了两个LED灯带的控制,分别连接在3和6号引脚上。
* 第一个LED灯带有42个灯珠,第二个LED灯带有7个灯珠。
* 灯珠类型为WS2812B,颜色排序方式为GRB。
* 设置亮度为255。
*/
#include <FastLED.h>
#define LED_PIN_1 3 //第一个LED灯带连接的引脚
#define LED_PIN_2 6 //第二个LED灯带连接的引脚
#define LED_COUNT_1 42 //第一个LED灯带的LED数量
#define LED_COUNT_2 7 //第二个LED灯带的LED数量
#define BRIGHTNESS 255 //灯光亮度
#define LED_TYPE WS2812B //灯珠类型
#define COLOR_ORDER GRB //颜色排序方式
CRGB leds_1[LED_COUNT_1]; //第一个LED灯带的LED数组
CRGB leds_2[LED_COUNT_2]; //第二个LED灯带的LED数组
void setup() {
FastLED.addLeds<LED_TYPE, LED_PIN_1, COLOR_ORDER>(leds_1, LED_COUNT_1); //连接第一个LED灯带
FastLED.addLeds<LED_TYPE, LED_PIN_2, COLOR_ORDER>(leds_2, LED_COUNT_2); //连接第二个LED灯带
FastLED.setBrightness(BRIGHTNESS); //设置灯光亮度
}
void loop() {
int brightness_2 = 0; //第二个灯带的亮度
int fadeAmount = 5; //淡入淡出的步进值
for (int i = 0; i < 7680; i++) { //循环控制灯光效果
int brightness_1 = (exp(sin(i / 50.0 * PI)) - 0.36787944) * 108.0; //计算第一个灯带的亮度
for (int j = 0; j < LED_COUNT_1; j++) { //循环控制第一个灯带的每个灯珠
leds_1[j].setRGB(brightness_1, brightness_1, brightness_1); //设置灯珠颜色
}
FastLED.show(); //显示灯光效果
delay(20); //延时控制
}
}
阅读全文