NodeMcu LED闪烁 自带LED闪烁 点灯仪式
程序员文章站
2022-03-23 12:27:14
-- 2020年10月10日 刘庆 lqjava.com-- 该工具类可以帮助大家快速的使用led闪烁功能LEDBlinker = { LED1 = { pin = 0, timer = tmr.create(), bright = function() LEDBlinker.bright(LEDBlinker.LED1.pin,LEDBlinker.LED1.timer); end, bli...
-- 2020年10月10日 刘庆 lqjava.com
-- 该工具类可以帮助大家快速的使用led闪烁功能
LEDBlinker = {
LED1 = {
pin = 0,
timer = tmr.create(),
bright = function()
LEDBlinker.bright(LEDBlinker.LED1.pin,LEDBlinker.LED1.timer);
end,
blink = function(rate,num)
LEDBlinker.blink(LEDBlinker.LED1.pin,LEDBlinker.LED1.timer,rate,num);
end,
},
LED2 = {
pin = 4,
timer = tmr.create(),
bright = function()
LEDBlinker.bright(LEDBlinker.LED2.pin,LEDBlinker.LED2.timer);
end,
blink = function(rate,num)
LEDBlinker.blink(LEDBlinker.LED2.pin,LEDBlinker.LED2.timer,rate,num);
end,
},
init = function()
gpio.mode(LEDBlinker.LED1.pin, gpio.OUTPUT);
gpio.mode(LEDBlinker.LED2.pin, gpio.OUTPUT);
gpio.write(LEDBlinker.LED1.pin,gpio.HIGH);
gpio.write(LEDBlinker.LED2.pin,gpio.HIGH);
end,
unregister = function(pin,timer)
timer:unregister();
gpio.write(pin,gpio.HIGH);
end,
bright = function(pin,timer)
LEDBlinker.unregister(pin,timer);
gpio.write(pin,gpio.LOW);
end,
blink = function(pin,timer,rate,num)
if(rate == nil) then rate = 500; end;
LEDBlinker.unregister(pin,timer);
timer:register(rate, tmr.ALARM_AUTO, function (t)
gpio.write(pin,gpio.LOW);
tmr.delay(1000 * (rate / 2));
gpio.write(pin,gpio.HIGH);
if(num ~= nil) then
num = num - 1;
if(num == 0) then
LEDBlinker.unregister(pin,timer);
end
end
end)
timer:start()
end
}
LEDBlinker.init();--gpio初始化
LEDBlinker.LED1.bright(); --LED1 常亮
LEDBlinker.LED1.blink(); --LED1 闪烁 (每0.5秒闪烁一次)
LEDBlinker.LED1.blink(1000); --LED1 闪烁 (每1秒闪烁次)
LEDBlinker.LED1.blink(1000,3); --LED1 闪烁 (每1秒闪烁次,闪烁3次后停止)
本文地址:https://blog.csdn.net/lq545209147/article/details/108992656
上一篇: Django基础第六天-视图层