NodeMcu使用WS2812可以控制每一个LED灯珠显示255*255*255种颜色,用法也比较多,具体可以参考官方文档。
ws2812是一款编程控制的led彩灯,使用rgb颜色空间,可以合成不同亮度和颜色的灯光。
注意:WS2812的data固定接到nodemcu的D4
使用前先初始化ws2812.init()
最简单的用法
ws2812.init()
--让第一个灯显示红色
ws2812.write(string.char(0,255,0))
--让第一个灯显示红色,第二个灯显示绿色
ws2812.write(string.char(0,255,0, 255,0,0))
--让第一个灯显示红色,第二个灯显示绿色,第三个灯显示蓝色
ws2812.write(string.char(0,255,0, 255,0,0, 0,0,255))
--依次类推
下面是一个有30个灯珠的ws2812灯带实现彩色变色流水灯的代码
ws2812.init()
i, buffer = 0, ws2812.newBuffer(30,3)
buffer:fill(0,0,0)
r = 255
b = 0
g = 255
tmr.alarm(0,30,1,function()
i = i + 1
buffer:fade(2)
buffer:set(i % buffer:size() + 1, g , r , b )
r = r - 4
b = b + 8
g = g - 8
ws2812.write(buffer)
end)
不流水,且显示纯色的代码
ws2812.init()
i, buffer = 0, ws2812.newBuffer(30,3)
tmr.alarm(0,30,1,function()
buffer:fill(0, 255, 0)--红色
ws2812.write(buffer)
end)
本文介绍如何使用NodeMCU控制WS2812 LED灯带,展示通过编程实现丰富的颜色变化效果。包括基本设置、示例代码及如何创建流水灯和纯色显示效果。
3万+

被折叠的 条评论
为什么被折叠?



