按鍵是重要的人機交互的工具,可以通過按鍵將數據輸入給計算機(此處為Arduino),讓Arduino按照人所想的方式工作,或者輸入Arduino的一些工作參數。LED燈可以作為程序調試過程中的指示燈,讓調試者清楚地知道程序現在運行到哪一步,從而可以很快的找出程序的問題所在。
在上一節的學習筆記《Arduino
首先,我們需要打開上次的Arduino UNO實驗板,如圖1所示。從下圖中,我們可以看到Arduino UNO的核心ATmega328P單片機,綠色LED燈LED-GREEN,串口通訊接口COMPIM,這個構成了Arduino的最小系統。
下面我們要在Arduino UNO實驗板上添加按鍵,在元器件選擇框中輸入“BUTTON”,如圖2所示。選擇上面一個按鍵,并點擊OK將其添加至元器件欄中。
從元器件欄中將按鍵放置到Arduino UNO實驗板的合適位置,這里我們選擇數字口8,所以放置在其附近,并放置一個10KΩ的電阻,如圖3所示。將按鍵的一端連接至數字口8,一端連接至+5V電源端,電阻的一端連接至數字口8,一端接至低端,構成一個下拉電阻【注】,連接之后的圖如圖4所示。
【注】下拉電阻的一端接至低端,因而叫做下拉電阻,即將電路節點的電平向低方向(地)拉。下拉電阻的主要作用是在電路驅動器(此處為按鍵)斷開時給線路(節點)以一個固定的低電平!疚墨I1】
圖3 在Arduino UNO實驗板上放置按鍵和電阻
最后,還需要完成Arduino軟件設計,驗證我們的設計是否可行。先打開ArduinoIDE自帶的例子,如圖5所示。
我們要對Arduino IDE自帶“BUTTON”例子進行修改,將const int buttonPin = 2;更改為const int buttonPin = 8;因為我們的按鍵連接在數字口8上面,更改之后的程序如下所示。
// set pin numbers:
const int buttonPin = 8;
const int ledPin =
// variables will change:
int buttonState = 0;
void setup() {
}
void loop(){
}
將更改之后的程序,編譯通過之后,在Protues仿真環境中單擊ATmega328P單片機,將Arduino IDE生成的HEX文件調入到Arduino UNO實驗板中運行。
當按鍵斷開時,LED熄滅,如圖6所示;當按鍵閉合時,LED點亮。如圖7所示。