發想:現在生活中的按鈕,大多當開關來用!如何修改為按一下,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關閉。