BV1AL 之無所不記

2015-11-08

ESP8266 nodemcu 多功能單按鍵

一般按鍵大都只做一件事,但是nodemcu 可以利用 tmr.alarm 這個功能
在指定時間內讀取按鍵被按了幾次,
這樣一個按鍵就可以執行多種不同的功能。
(nodemcu 一共可以設 6個alarm)

在 init.lua 裡定義 b=0
並 dofile('button.lua')
在button.lua 裡定義如下

function buttdo()
  if b == 1 then
     do something as 1
  elseif b == 2 then 
     do something as 2
  elseif b == 3 then 
     do something as 3
  elseif b == 4 then 
     do something as 4
  else
     print(b)
  end
  b=0
end

function buttcheck()
  if b == 0 then
    tmr.alarm(4,1100,0, function() buttdo() end)
    -- 利用 alarm 1100(1.1 秒) 時間來累積按鍵次數
    -- 時間到,由buttdo() 去查總共按了幾次,執行對應的事
  end
end

gpio.trig(2,"down", function() buttcheck() b=b+1 tmr.delay(200000) end)
-- 如果按鍵已經被按下,按鍵在接下來的1.1 秒之間只用來累積次數
-- tmr.delay(200000) 是用來避免按鍵按下時在極短時間內被算成按很多次
-- 200000 是 0.2 秒,這是我自己試的經驗值,或許你的狀況不一樣

標籤: , ,

國旗 賣國賊 內褲

「你們這幾天不斷罵我去見習主席像小媳婦,
不斷罵我是賣國賊,
完全否定我很愛國的事實!   
告訴你們,
其實那天我有偷偷穿了一件
印著中華民國青天白日滿地紅國旗
的         
內褲   
你們都沒發現,對吧!
本來是想翻出來給習主席看的,
但是現場記者先生小姐很多,
我怕她們會跟我索取
原汁內褲,
由於我當天來回,只能穿一件       
一定不夠
所以就一直沒提到這件內褲
相信我,我確實帶了中華民國旗去見習主席,
國旗還跟我貼身24小時,
看,我多愛國啊!
你們以後不能再罵我小媳婦、罵我賣國賊了」

標籤: , ,