按鍵控制LED實驗電路(二)

按鍵控制 LED 電路原理圖

電路說明:

    1. R2 為限流電阻。一般的 LED 最大能承受的電流為 25 mA,若直接將 LED 連接到電路中,則當點亮 LED 時很容易將其燒毀。
    2. R1 為下拉電阻。在 Arduino 開發板的 2 號引腳到 GND 之前,連接了一個阻值很大的電阻 ( 10KΩ )。如果沒有該電阻,則未按下按鍵時,2 號引腳會一直處於“懸空” 狀態,此時使用 digitalRead( ) 函數讀取 2 號引腳的狀態會得到一個不穩定的值 ( 可能是高,也可能是低 )。添加這個 R1 電阻到 GND 就是為了穩定引腳的電位。當該引腳懸空時,就會被識別為低電位。而這種將某節點通過電阻接地的做法稱為下拉,這個電阻就稱為下拉電阻。

程式碼

int buttonPin = 2;    // 連接按鍵的引腳
int ledPin = 13;        // 連接 LED 的引腳
int buttonState = 0; // 儲存按鍵狀態的變數

void setup() {
  // 初始化按鍵引腳為輸入狀態
  pinMode(buttonPin,INPUT);
 // 初始化 LED 引腳為輸入狀態
  pinMode(ledPin,OUTPUT);
}

void loop() {
  // 讀取按鍵狀態並儲存在變數中
  buttonState = digitalRead(buttonPin);
  // 檢查按鍵是否被按下
  // 如果按鍵被按下,則 buttonState 應該為高電位
  if(buttonState==HIGH)
  {
    // 點亮 LED
    digitalWrite(ledPin,HIGH);
  }
  else
  {
    // 熄滅 LED
    digitalWrite(ledPin,LOW);
  }
}

實驗結果