boolean state = false;//一開始假設沒有人按這顆按鈕
boolean btn_up = true;//flag旗標:按鈕放開了嗎?true
void setup()//初始化工作,進入loop迴圈
{
pinMode(13, OUTPUT);
digitalWrite(13, LOW);
pinMode(2, INPUT);
digitalWrite(2, HIGH);
}
void loop()
{//有人按了按鈕LOW 而且 按鈕曾經被放開過,就切換led狀態一次
if(digitalRead(2) == LOW && btn_up == HIGH)//條件判斷
{
state = 1^state;
digitalWrite(13, state);
btn_up = false;//轉態完之後,變按鈕還沒有放開,就不會chg led的狀態
}//按鈕壓下是LOW 被放開是LOW
else if (digitalRead(2) == HIGH && btn_up == LOW)//還沒有被放開
{
btn_up = HIGH;//按鈕被放開了
}
delay(10);
}
沒有留言:
張貼留言