WS2812彩灯
WS2812E是一个集控制电路与发光电路于一体的智能外控LED光源。其外型与一个5050LED灯珠相同,每个元件即为一个像素点。像素点内部包含了智能数字接口数据锁存信号整形放大驱动电路,还包含有高精度的内部振荡器和可编程定电流控制部分,有效保证了像素点光的颜色高度一致。
模块来源
规格参数
工作电压:3.7-5.3V
工作电流:16MA
控制方式:单总线
管脚数量:4 Pin(2.54mm间距排针)
硬件连接
- VCC 连接到 开发板 的 5V(确保你的电源能够提供足够的电流)
- GND 连接到 开发板 的 GND
- DATA 连接到 开发板 的6号数字引脚 注意:WS2812 LED在全亮的情况下消耗的电流非常大,每个LED大约消耗60mA。因此,请确保你的电源能够提供足够的电流,尤其是当使用大量LED时。对于大型项目,推荐使用外部电源,并确保开发板的GND与WS2812的GND连接。
使用方法
安装库
- 打开Arduino IDE
- 前往 工具 -> 管理库…
- 搜索 Adafruit NeoPixel 库并安装
编写代码
c
/******************************************************************************
* 测试硬件:ColorEasyDuino开发板
* 版 本 号: V1.0
* 修改作者: www.lckfb.com
* 修改日期: 2024年04月12日
* 功能介绍:
*****************************************************************************
* 开发板软硬件资料与相关项目软硬件资料官网全部开源
* 开发板官网:www.lckfb.com
* 关注bilibili账号:【立创开发板】,掌握我们的最新动态!
* 不靠卖板赚钱,以培养中国工程师为己任
******************************************************************************/
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif
#define PIN 6 // 数据引脚连接到开发板的第6号引脚
#define NUMPIXELS 8 // 你使用的WS2812 LED的数量
// 初始化Adafruit_NeoPixel库
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
void setup() {
pixels.begin(); // 初始化NeoPixel条
}
void loop() {
for(int i=0; i<NUMPIXELS; i++) {
// 设置像素颜色(i, R, G, B)
pixels.setPixelColor(i, pixels.Color(150, 0, 0)); // 红色
pixels.show(); // 更新条上的LED颜色
delay(50); // 延时一会儿
}
delay(500); // 稍微延长停顿时间
for(int i=0; i<NUMPIXELS; i++) {
pixels.setPixelColor(i, pixels.Color(0, 150, 0)); // 绿色
pixels.show();
delay(50);
}
delay(500); // 再次延长停顿时间
// 依此类推,你可以添加更多颜色和模式
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47