基于Arduino使用WS2812B全彩灯带
产品特性
一个IC芯片控制一颗LED灯珠组成一个回路,控制器通过控制IC芯片对FPCB线路板上面的电路进行控制来达到LED发出不同的效果:追逐,流水,跑动,变色,呼吸,爆闪,顺时针流水跑马,逆时针流水跑马,模拟闪电等等;剪裁、焊接方便自由:没有一个LED即可组成一个回路,可以沿着上面切线任意截断和焊接达到想要的各种灯条长度需求。
产品参数
- 重要提示:灯带一定是DC 5V供电,且配全彩控制器使用
- 产品型号:WS2812B全彩
- 工作电压:DC 5V
- IC:一个IC驱动一个LED芯片
- 功耗:每颗灯珠最大0.3W
- 工作温度:-15至50°
- 控制方式:外控
- 颜色:全彩RGB,梦幻色彩变化
- 光源:SMD 5050 LED
- 板材:FPCB黑/白软板
- LED:每个LED单独控制
- 灰度等级:256级
- 发光角度:180°
- 裁剪:每个LED都可裁剪
- IC类型:5050RGB(内置IC WS2812B)
- 像素:每米(30灯/30段、60灯/60段、144灯/144段)
- 灯带厚度: 2mm
- FPCB宽度:(60灯:10mm)
- 出线方式:SM3pin端子头和2根电源线
- 红色:5V正极(VCC)/白色:5V负极(GND)/绿色:信号线(DATA)
- (多出来的两根线是备用电源线,红色:5V正极/白色:5V负极)
- 防水等级:
- IP30裸板:灯珠裸露在外不防水(背面有双面胶)
- 包装:防静电袋,裸版、滴胶背面带双面胶,套管无双面胶。
产品应用
1. 点亮多彩家居生活,DIY家用灯的走廊,楼梯,频道,Windows 2. 酒店装修使用,剧院,KTV酒吧,舞台灯光,俱乐部,节日,购物中心。 3. 建筑装饰照明,拱门,冠桥边缘照明,安全照明和应急 4. 广泛应用于标牌字母背光,隐蔽照明和广告标识照明。 5. 使用与汽车和飞机模型装饰,轮廓照明或边境。
接线方式
Arduino Nano <------> WS2812B全彩灯带 5V <------> 5V GND <------> G 7 <------> D
WS2812B全彩灯带基础小案例
案例一:3颗灯珠依次点亮熄灭
Mixly图形化编程程序
Mixly软件中带有WS2812B全彩灯带库,3颗灯珠依次点亮熄灭,首先要先对全彩灯带进行管脚连接,灯数与亮度进行初始化。全彩灯带与Nano板连接时,是连接7号数字管脚,所以管脚号设为7就可以了,并且,因为只想让3颗灯珠亮起,就设置灯数为3,亮度设为20.
(全彩灯带初始化设置)
使用步长模块,编写3颗灯珠依次点亮程序。i从1-3步长为1,这里的变量i表示的是全彩灯带上的灯号,即灯号1到灯号3,步长为1表示每次增加1。如程序第一次执行时,i为1,1号灯珠亮红色(R:255,G:0,B:0),1秒之后,1号灯珠熄灭(R:0,G:0,B:0),熄灭时间为也为1秒。然后i增加1,即变成了灯号2,2号灯珠也执行1秒的亮灭。同理,2号灯珠1秒亮灭之后,3号灯珠开始1秒亮灭。这样3颗灯珠就会循环的一次点亮熄灭,更改灯珠颜色可更改RGB数值。 - #include <Adafruit_NeoPixel.h>
- Adafruit_NeoPixel rgb_display_7= Adafruit_NeoPixel(3,7,NEO_GRB + NEO_KHZ800);
- void setup(){
- rgb_display_7.begin();
- rgb_display_7.setBrightness(20);
- }
- void loop(){
- for (int i = 1; i <= 3; i = i + (1)) {
- rgb_display_7.setPixelColor(i-1, rgb_display_7.Color(255,0,0));
- rgb_display_7.show();
- delay(1000);
- rgb_display_7.setPixelColor(i-1, rgb_display_7.Color(0,0,0));
- rgb_display_7.show();
- delay(1000);
- }
- }
复制代码
案例二:3颗灯珠同时点亮熄灭
Mixly图形化编程程序
3颗同时点亮熄灭,首先还要先对全彩灯带进行管脚连接,灯数与亮度进行初始化。
(全彩灯带初始化设置)
同样,可使用步长模块,编写该程序,i从1-3步长为1,这里的变量i依旧表示的是全彩灯带上的灯号,在步长模块中编写灯珠颜色为红色的程序,添加延时模块,这里的延时模块要添加在步长的外面,即1号到3号灯珠同时亮起之后,延时1000毫秒。再编写1号到3号灯珠同时熄灭程序,熄灭时间为1000毫秒。
(3课灯带同时点亮熄灭程序)
- #include <Adafruit_NeoPixel.h>
- Adafruit_NeoPixel rgb_display_7= Adafruit_NeoPixel(3,7,NEO_GRB + NEO_KHZ800);
- void setup(){
- rgb_display_7.begin();
- rgb_display_7.setBrightness(20);
- }
- void loop(){
- for (int i = 1; i <= 3; i = i + (1)) {
- rgb_display_7.setPixelColor(i-1, rgb_display_7.Color(255,0,0));
- rgb_display_7.show();
- }
- delay(1000);
- for (int i = 1; i <= 3; i = i + (1)) {
- rgb_display_7.setPixelColor(i-1, rgb_display_7.Color(0,0,0));
- rgb_display_7.show();
- }
- delay(1000);
复制代码 |