都在强撑罢了 发表于 2023-4-1 21:31:51

警灯电控

刚加协会的电控组,没接触过电控,这警灯代码谁能给我讲讲🤔感谢🙏
#include <FastLED.h>
#define LED_PIN   4      //arduino串口,可自行修改
#define NUM_LEDS    10      //灯珠的数量,可自行修改
CRGB leds;

void setup() {
Serial.begin(9600);
FastLED.addLeds<WS2812, LED_PIN, GRB>(leds, NUM_LEDS);    //初始化状态

}
void loop() {

for(int i=10;i>0;i--){
for(int a=0; a<NUM_LEDS/2; a++){
leds = CRGB(255, 0, 0);
FastLED.show();
}
delay(150);
FastLED.clear();
for(int b=NUM_LEDS/2; b<NUM_LEDS; b++){
leds = CRGB(0, 0, 255);
FastLED.show();

}
delay(150);
FastLED.clear();
}

for(int j=25;j>0;j--){
for(int c=0; c<NUM_LEDS/2; c++){
leds = CRGB(255, 0, 0);
FastLED.show();//显示灯

}
FastLED.clear();//关闭所有灯

for(int d=NUM_LEDS/2; d<NUM_LEDS; d++){
leds = CRGB(0, 0, 255);
FastLED.show();

}
FastLED.clear();
}
for(int k=10;k>0;k--){
for(int h=3;h>0;h--){
for(int e=0; e<NUM_LEDS/2; e++){
leds = CRGB(255, 0, 0);
FastLED.show();
//delay(150);
}
FastLED.clear();
}

for(int h=10;h>0;h--){
for(int g=NUM_LEDS/2; g<NUM_LEDS;g++){
leds = CRGB(0, 0, 255);
FastLED.show();
//delay(150);
}
FastLED.clear();
}
}
}

isdkz 发表于 2023-4-1 21:38:59

这段代码是用于驱动一个双色(红色和蓝色)警灯的Arduino程序。程序使用FastLED库来控制一个WS2812 LED灯珠阵列。这里简要介绍一下代码的功能。


[*]导入FastLED库,这是一个用于驱动LED灯珠的库。
[*]定义LED_PIN为4,这是连接Arduino的数据线的引脚。
[*]定义NUM_LEDS为10,表示灯珠的数量。
[*]创建一个数组leds,用于存储LED灯珠的颜色信息。
[*]在setup()函数中,初始化串口通信和FastLED库,设置好LED灯珠的类型和引脚。
[*]在loop()函数中,有三个循环,每个循环分别表示不同的警灯闪烁模式:

[*]第一个循环:10次,红色灯珠和蓝色灯珠交替闪烁,延迟150毫秒。
[*]第二个循环:25次,红色灯珠和蓝色灯珠快速交替闪烁,没有延迟。
[*]第三个循环:10次,红色灯珠闪烁3次,蓝色灯珠闪烁10次,没有延迟。


通过调整循环次数、延迟时间以及颜色设置,你可以实现更多的警灯闪烁效果。希望这能帮助你理解这段代码的功能。如果有任何问题,请随时提问!

都在强撑罢了 发表于 2023-4-1 22:10:01

谢谢{:5_109:}醍醐灌顶
页: [1]
查看完整版本: 警灯电控