ws2812 - 幻彩灯带RGB控制器(WS2812系列)#
已适配 Air780E Air780EP
备注
本页文档由这个文件自动生成。如有错误,请提交issue或帮忙修改后pr,谢谢!
示例
-- 本库尚在开发阶段
ws2812.create(mode, count, id)#
创建上下文
参数
传入值类型 |
解释 |
---|---|
int |
传输模式, 例如 ws2812.GPIO, ws2812.PWM, ws2812.SPI |
int |
RGB灯总个数 |
int |
主参数id, 对于不同的模式有不同的值 |
返回值
返回值类型 |
解释 |
---|---|
userdata |
创建成功返回上下文,否则返回nil |
例子
-- GPIO模式, 64个灯, 使用GPIO9
local leds = ws2812.create(ws2812.GPIO, 64, 9)
-- SPI模式, 32个灯, 使用SPI1
local leds = ws2812.create(ws2812.SPI, 32, 1)
-- PWM模式, 16个灯, 使用PWM4
local leds = ws2812.create(ws2812.PWM, 16, 4)
-- HW模式, 64个灯, 使用硬件专用实现,具体id需要对照手册
local leds = ws2812.create(ws2812.RMT, 64, 2)
-- 注意: 并非所有模块都支持以上所有模式
-- 而且, 固件需要开启对应的GPIO/SPI/PWM功能才能使用对应的模式
ws2812.set(leds,index, R, G, B)#
设置灯的颜色
参数
传入值类型 |
解释 |
---|---|
userdata |
通过ws2812.create获取到的上下文 |
int |
灯的编号,从0开始 |
int |
RGB值中的R值 |
int |
RGB值中的G值 |
int |
RGB值中的B值 |
返回值
返回值类型 |
解释 |
---|---|
boolean |
设置成功返回true,否则返回nil |
例子
-- RGB逐个颜色传递
ws2812.set(leds, 5, 0xFF, 0xAA, 0x11)
-- 也支持一个参数传完, 与前一条等价
ws2812.set(leds, 5, 0xFFAA11)
ws2812.send(leds)#
发送数据到设备
参数
传入值类型 |
解释 |
---|---|
userdata |
通过ws2812.create获取到的上下文 |
返回值
返回值类型 |
解释 |
---|---|
boolean |
设置成功返回true,否则返回nil |
例子
-- 没有更多参数, 发就完事了
ws2812.send(leds)
ws2812.args(leds, arg0, arg1, arg2, arg3, arg4)#
配置额外参数
参数
传入值类型 |
解释 |
---|---|
userdata |
通过ws2812.create获取到的上下文 |
int |
额外参数0 |
int |
额外参数1 |
int |
额外参数2 |
int |
额外参数3 |
int |
额外参数4 |
返回值
返回值类型 |
解释 |
---|---|
boolean |
设置成功返回true,否则返回nil |
例子
-- 本函数与具体模式有关
--GPIO模式可调整T0H T0L, T1H T1L 的具体延时
ws2812.send(leds, t0h, t0l, t1h, t1l)