arduino 警灯DIY教程

这篇博客介绍了如何利用Arduino开发板和ws2812B灯珠制作LED灯串,并通过FastLED库实现动态灯光效果。首先安装arduinoIDE和FastLED库,然后焊接灯珠并正确连接电源。在代码中设置LED数量,通过循环控制实现红蓝交替闪烁的动画模式。注意在上传代码时避免触碰板子按键,以确保上传成功。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

材料准备:

ws2812B灯珠偶数个。

arduino开发板任意一个。

锡焊工具和导线若干。(也可以直接买网上的ws2812灯条,贵了些但不用焊了。)

具体步骤如下:

安装arduino IDE。CSDN教程很多且很详细,不再赘述。

给arduino IDE安装fastled库。CSDN教程很多且很详细,不再赘述。(博主好懒啊~~)

记得要给ws2812B灯串接5负,接3负是不亮的。

买回来的灯珠按如下方式焊接起来。图中灯珠是正面朝上的,别焊反了。

GDN接负极,VDD接正极 (接反了是会烧的),D1是通信串口对应代码中的D4。选择左端作为输入,右端可以不用管。

验证成功后,直接上传代码即可(温馨提示:在上传的过程中千万不要乱按arduino板子上的任何按键,否则会上传失败的)。

就这么简单。想要其它模式的可以自己尝试做。欢迎大佬一起讨论。

#include <FastLED.h>
#define LED_PIN     D4        //arduino串口,可自行修改
#define NUM_LEDS    10        //灯珠的数量,可自行修改
CRGB leds[NUM_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[a] = CRGB(255, 0, 0);
  FastLED.show();
  }
  delay(150);
  FastLED.clear();
  for(int b=NUM_LEDS/2; b<NUM_LEDS; b++){
  leds[b] = 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[c] = CRGB(255, 0, 0);
  FastLED.show();//显示灯
 
  }
  FastLED.clear();//关闭所有灯
  
  for(int d=NUM_LEDS/2; d<NUM_LEDS; d++){
  leds[d] = 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[e] = 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[g] = CRGB(0, 0, 255);
  FastLED.show();
  //delay(150);
  }
  FastLED.clear();
  }
}
}

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值