// --------------------------------------------------------------------------------
/*

05 使用開關按鈕控制 LED 開關

[學習重點]

1. 認識開關 (Push Button Switch, Slide Switch)
2. 認識 digitalRead

[挑戰]

- 現時要長按按鈕開關 LED 才會亮,能否改成按一下按鈕開關便可以改變 LED 的狀態呢?
(提示:要加入一個新的參數 - ledState)

Created by Jason on 5 Aug 2022.

*/
// --------------------------------------------------------------------------------

int ledPin = 9; // 定義 ledPin 變數並設定適合的 Pin 號
int buttonPin = 2; // 定義接收開關狀態的 Pin 號
int buttonState; // 開關的狀態 (HIGH / LOW)

void setup() {
  pinMode(ledPin, OUTPUT); // 設定 ledPin 為輸出模式
  pinMode(buttonPin, INPUT); // 設定 buttonPin 為輸入模式
}

void loop() {
  buttonState = digitalRead(buttonPin); // 讀取開關的狀態 (LOW / HIGH)

  // 檢查開關狀態,開關接觸的話亮著 LED
  if (buttonState == HIGH) {
    digitalWrite(ledPin, HIGH); // ledPin 輸出高電位
  } else {
    digitalWrite(ledPin, LOW); // ledPin 輸出低電位
  }

	delay(100); // 延時 0.1 秒
}