發想:現在生活中的按鈕,大多當開關來用!如何修改為按一下,LED開,再按一下,LED關閉呢?
const int sw=12; const int led=13; boolean ledStatus=LOW; int val; void setup() { Serial.begin(9600); pinMode(led,OUTPUT); pinMode(sw,INPUT_PULLUP); } void loop() { val=digitalRead(sw); if(val==LOW) { ledStatus=!ledStatus; digitalWrite(led,ledStatus); } }
按下去放開,並不會很穩定的切換狀態,請問是為什麼?怎麼修改?
原來是機械式按鈕,會有彈跳問題
須加以修改,才能穩定的呈現按鈕功能
範例程式:
深入討論:http://yhhuang1966.blogspot.tw/2016/09/arduino_11.html
Arduino IDE 有內建的 debounce code 的範本,可直接拿來修改使用
如何修改為目前常見手電筒的模式呢?按一下LED開,再按一下LED閃爍,再按一下LED關閉。