项目简介
本项目是一个基于Node.js的库,为控制WS2812b地址可寻址RGB LED灯条提供接口。WS2812 LED灯条常被称为Neo Pixels(从Adafruit购买时),任何WS2812b LED灯条都能使用此库进行控制。
项目的主要特性和功能
- 多种设置方式:可使用自定义版本的Firmata与LED灯条通信,也能通过I2C消息,利用I2C“背包”(如Arduino Pro Mini或Nano)控制LED灯条。
- 兼容性良好:支持Johnny - Five和Node Firmata,适用于任何提供I2C支持的IO接口板,例如Raspberry Pi。
- 多灯条支持:可在单个Arduino或背包上连接多个LED灯条,最多支持8个独立灯条。每个灯条长度可不同,但总像素数有限制(Firmata模式下最多192个像素,背包模式下约500个像素)。
- 丰富的API功能:提供
Strip
和Pixel
对象,可控制整个灯条或单个像素,支持设置颜色、亮度、移动像素、显示帧等操作。
安装使用步骤
1. 安装依赖
bash
npm install node-pixel
npm install -g nodebots-interchange
2. 安装Firmata固件
bash
注意:在Windows上,可能需要显式指定端口,例如:
bash
3. 初始化灯条
使用Johnny - Five或Firmata初始化灯条。示例代码如下: ```javascript pixel = require("node-pixel"); five = require("johnny-five");
var board = new five.Board(opts); var strip = null;
board.on("ready", function() { strip = new pixel.Strip({ board: this, controller: "FIRMATA", strips: [ {pin: 6, length: 4}, ], gamma: 2.8, });
strip.on("ready", function() {
// 灯条初始化完成后的操作
});
}); ```
4. 控制灯条
- 使用
strip.show()
显示当前帧。 - 使用
strip.color()
设置灯条颜色。 - 使用
strip.shift()
移动像素。 - 使用
strip.pixel(address)
访问单个像素并设置其颜色。
通过以上步骤,可轻松使用本项目控制WS2812 LED灯条,实现各种动态效果。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】