本次實作將使用 開關元件 ,並運用 Arduino 的 數位輸入 功能偵測信號,依照輸入信號執行 LED 燈號程序。內容比較複雜,將分次分階段進行。 本次實作每個同學需要抄寫「實作目的」、「線路說明」、「程式說明」與「進階」作為實作報告。 實作目的: 正確使用開關元件,並架構電位測量電路 正確使用 Arduino 數位輸入電路 使用 IF 語法,偵測數位輸入信號進行 LED 程序 階段一:認識開關元件 零件包內附的開關是4支腳位,分成兩組,從背面觀察(上圖下),從條紋來辨識,左邊2支腳位是互通的,右邊2支也是;而必須按下開關,左右兩邊才會連通。 階段二:Arduino 數位輸入與電位測量電路 Arduino 數位輸入是電位訊號而非電流,所以 不可以直接將電流直接導入 Arduino 腳位 。必須架構電位測量電路來達成數位訊號輸入。 本階段使用 Arduino UNO 的 6 號腳位 作為數位輸入,按下開關之後控制 內建 LED 。 digitalRead(6) :讀取 6 號腳位的訊號,高電位 HIGH,低電位 LOW 階段三:由開關控制 LED 程序 現在開始要結合前兩階段以及上個實作,由開關來啟動 LED 閃動程序。由 6 號腳位 接受數位輸入訊號。利用 IF 語法控制 LED 程序。LED 電路和程序和上一個實作相同。 電路圖: 線路說明: 8、10、12號腳位組成共陰極 LED 線路 6 號腳位連接由開關元件所組成的電位測量線路,作為數位輸入端 程式截圖: 程式說明: int var = 0; 表示宣告一個變數 var 作為後續讀取輸入訊號用 在 setup 區塊設定 6 號腳位為數位輸入端,8號、10號、12號腳位為數位輸出端 在 loop 區塊中,利用 var = digitalRead(6); 讀取 6 號腳位訊號到變數 var 中 利用 IF 語法,判斷變數 var 是否為 HIGH (高電位)。若是則開始執行 LED 程序 進階: 變更間隔時間與次數 增加 LED 或 燈號變化 使用雙分支結構增加變化 補充說明:IF 語法 if (判斷式){ … (成立時執行的程序) … } 雙分支結構 if (判斷式){ … ...