2018年1月19日 星期五

[Tinkercad arduino程式設計] 設計按鈕監控程式

按鈕(Push Button)是常見使的輸入裝置,透過開與關(On and Off)來控制輸出設備的狀態,上面影片很清楚地說明控鈕有四個接點,分別是11,12,21,22,其中11和12始終是連接在一起,21和22也是,因此其實只有2個接點。接下來用它來當做數位輸入,接到arduino 第2支腳,其接法如下:

程式如下:
int buttonState = 0;

void setup()
{
  pinMode(2, INPUT); //第2支腳為輸入
  pinMode(13, OUTPUT); //第13支腳為輸出
}

void loop()
{

  buttonState = digitalRead(2);//讀取第2支腳的訊號

  if (buttonState == HIGH) { //檢查狀態是高電位?
    //LED ON
    digitalWrite(13, HIGH);
  } else {
    // LED Off
    digitalWrite(13, LOW);
  }
  delay(10); // 延遲10ms
}
上面程式很簡單使用digitalRead()來讀取第2支腳的訊號,儲存在buttonState的變數中,檢查狀態是高電位,若是則點亮LED否則熄滅LED。

開關是屬於機器結構,會有所謂彈跳現象,因此我們必須撰寫消除彈跳現象的程式,如下:

(millis() - lastDebounceTime) > debounceDelay

完整程式如下:


沒有留言:

張貼留言