NodeMcu使用WS2812

本文介绍如何使用NodeMCU控制WS2812 LED灯带,展示通过编程实现丰富的颜色变化效果。包括基本设置、示例代码及如何创建流水灯和纯色显示效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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(0255, 0)--红色
    ws2812.write(buffer)
end)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值