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
完整程式如下:
沒有留言:
張貼留言