按鈕

程式

請從「檔案/範例/02Digital/Button」下載範例程式,這個程式是「按鈕按一下,LED燈就亮一下」。預設是亮pin 13的LED,但是因為會被擴充版遮住,所以請先改成亮pin12,先自己試試看怎麼改,不會的話,底下有範例。

可以切換狀態的按鈕

上面的程式是按鈕按的時候燈才會亮,一放開燈就不亮了。但如果我們需要按鈕按了會亮燈,放開的時候燈能夠持續亮,當我再次按下按鈕,燈就會熄滅(就像家中電燈開關那樣),我們需要的是新增一個能夠紀錄狀態的變數,按鈕按下的時候就去把變數改相反(1變0,0變1)。至於燈的開關,就是去檢查那個變數是1還是 0,這樣一來,按鈕就可作為切換狀態使用。

備註:有時會發現按鈕反應不靈敏,明明按了卻沒反應,那是按鈕的物理問題,其實按鈕按下的時候,在短短的幾十毫秒內,它會彈跳,不斷產生開開關關,要解決這個問題,可以看範例「檔案/範例/02Digital/Debounce」