nodeMCU制作RGB三色LED呼吸灯

视频:


nodeMCU制作RGB三色LED呼吸灯_腾讯视频


原料:

支持nodeMCU的开发板一个

三色LED一个,淘宝购买,没有的话也可以拿三个不同颜色的LED代替

杜邦线4条

面包板(可选)

接线:

LED的红、绿、蓝脚分别接板子的D1、D2、D3

LED的负极接板子的G端(随便找一个)

代码:

github源码

local r, g, b = 0, 0, 0


local _r, _g, _b = 0, 0, 0

local tick, _tick = 0

local pinR, pinG, pinB = 1, 2, 3

local MAX = 1023

function led(r,g,b)

--    print("led", r, g, b)

pwm.setduty(pinR,r)

pwm.setduty(pinG,g)

pwm.setduty(pinB,b)

end

function nextColor()

_r, _g, _b = r, g, b

r = math.random(0, 5) * MAX / 5

g = math.random(0, 5) * MAX / 5

b = math.random(0, 5) * MAX / 5

tick = 10--math.random(10, 20)

_tick = tick

end

function update()

if(tick <= 0) then

nextColor()

end

local percent = (_tick - tick) / _tick

local rr = _r + (r - _r) * percent

local gg = _g + (g - _g) * percent

local bb = _b + (b - _b) * percent

led(rr, gg, bb, percent)

tick = tick - 1

end

pwm.setup(pinR,500,MAX)

pwm.setup(pinG,500,MAX)

pwm.setup(pinB,500,MAX)

tmr.alarm(1,100,1,update)

你可能感兴趣的:(nodeMCU制作RGB三色LED呼吸灯)