2011年4月22日 星期五

用 millis() 量測 button 被按了多久

實驗目的

練習用 millis() 函式來量測 button 被按了多久的時間。

這次所需的材料與接線跟「用 pulseIn() 量測 button 被按了多久」這篇的實驗是一樣的。

材料
  • Arduino 主板 x 1
  • Pushbutton x 1
  • 10K 歐姆電阻 x 1
  • 麵包板 x 1
  • 單心線 x N
接線
  • 把 pushbutton 一支腳接到 +5V,另一支腳接到 pin 2 同時接一顆 10K 電阻連到 GND

image

程式

底下就是這個實驗的範例程式(durationAndmillis.pde),功能是印出 button 被按了多久的時間(duration):

millis() 函式會回傳 Arduino 從開始執行程式一直到目前為止的千分之一秒數值(number of milliseconds),這個數值在大約 50 天後會溢位(overflow),屆時會從 0 開始計數。

要計算按鈕被按了多久,只要把目前的時間(用 millis() 函式取得)減掉開始時間(startTime)就可以算出來了:

執行結果

底下這張圖是測試結果,button 我每次都是按大約 5 秒鐘:

image 
▲ 用 Serial Monitor 觀察到的執行結果

延伸閱讀

0 意見: