本課程將進一步探討上拉電阻的概念,並介紹 Arduino 開發板內建的上拉電阻功能,避免外加電阻,達到簡化電路的目的。學生將從實際電路中理解上拉與下拉電阻的操作方式,並實踐如何透過 Arduino 內建指令啟用上拉電阻,精簡按鈕開關控制 RGB LED 的電路。
課程大綱
- 課程背景介紹:
- 簡單回顧先前課程中使用外部上拉電阻的 RGB LED 控制電路,介紹上拉電阻如何協助按鈕判斷狀態。
- 總結按鈕按下、放開時的電壓讀取行為與邏輯:按下時接地 (0V, digital 0),放開時接 5V (digital 1)。
- 上拉電阻與下拉電阻的比較:
- 上拉電阻:簡單說明為何按鈕放開時會讀取到 5V,以及這種設計在數位系統中代表按鈕放開時為高電位。
- 下拉電阻:解釋如何將電阻與按鈕間接地,達到按鈕放開時讀取 0V 的效果,便於理解不同電路邏輯下的應用。
- 簡單比較兩者的效果,並分享在實踐中偏好使用上拉電阻的原因。
- Arduino 內建上拉電阻介紹:
- 介紹 Arduino 的數位輸入腳位內建上拉電阻的功能,以及如何利用內建功能進一步精簡電路。
- 說明如何在
pinMode()
指令中加入INPUT_PULLUP
參數,輕鬆啟動內建上拉電阻。
- 程式碼實踐:
- 新建 Arduino 程式,設定按鈕腳位(數位腳位 6)為
INPUT_PULLUP
模式以啟用上拉電阻。 - 撰寫程式讀取按鈕狀態,透過 Serial Monitor 印出按鈕按下、放開的數位訊號(1 表示放開,0 表示按下),驗證內建上拉電阻的運作。
- 新建 Arduino 程式,設定按鈕腳位(數位腳位 6)為
- 課堂作業:
- 將先前 RGB LED 控制電路的外部上拉電阻替換為內建上拉電阻。
- 要求學生拍攝並提交包含電路連接、程式碼和操作演示的影片,證明電路無外接上拉電阻情況下仍能正常運作。
- 課堂建議與提示:
- 鼓勵學生在構建電路時保持整潔,使用合適長度的接線並規劃電路佈局以便於除錯,減少線路混亂。
- 鼓勵建立緊湊而有序的電路,並說明隨著電路的複雜度增加,良好的佈線習慣能顯著提高電路的穩定性與可讀性。