材料
- Arduino
- LED
- 10KΩ
- 按鈕
使用按鈕設計一個開關系統,每按一次按鈕就改變LED燈的狀態,程式的邏輯很簡單,利用偵測PIN 2的值,如果按下按鈕時PIN2將會讀到HIGH,亦即,每讀到一次HIGH代表使用者按下了按鈕,此時便可以改變LED的開關狀態。
試著多按幾次按鈕,會發現,執行的結果與我們預期的似乎不一樣,這究竟是甚麼原因呢?
/*
*/
const byte buttonPin=2 ;
const byte ledPin = 13 ;
int ledState = LOW ;
void setup() {
// put your setup code here, to run once:
pinMode(buttonPin,INPUT);
pinMode(ledPin,OUTPUT);
digitalWrite(ledPin,ledState) ;
}
void loop() {
// put your main code here, to run repeatedly:
int reading = digitalRead(buttonPin) ;
if( reading == HIGH) { //偵測到使用者按下按鈕,改變LED狀態
ledState = !ledState ;
}
digitalWrite(ledPin,ledState) ;
}