如何讓麵包板上的按鈕(pushButton)  按下後,送訊號給arduino處理?mini-push-button-switch

 

成果展示: 

最簡單的按鈕(pushButton)-按下按鈕
按下圖中箭頭所指的按鈕

 

最簡單的按鈕(pushButton)-Serial Monitor視窗觀察到按鈕被按下      
Serial Monitor視窗觀察被按下(本範例中總共按下2次)

 

基本配備:

電子零件:

  • 按鈕開關(PushButton或是Switch) *1
  • 10K 電阻 * 1

 

模型圖

 最簡單的按鈕(pushButton)_bb 

 

 電路圖

button_sch  

高應大 蕭竹源 彰化師範大學

arduino程式碼


 /*

arduino偵測外部按鈕
=>藉由讀取第2腳位的數位訊號,輸出結果到'serial monitor'視窗
2013/01/10 jwu
*/

int pushButton = 2; // 變數,偵測麵包板上按鈕(button)之arduino腳位
int buttonState = 0; //變數,定義按鈕目前狀態

void setup() { //初始化程序setup,在開機或重置時只會執行一次
Serial.begin(9600); //指定Arduino從電腦交換訊息的速率,一般使用9600 bps,可在'Serial Monitor'視窗檢視結果
pinMode(pushButton, INPUT);// 把 buttonPin 變數值設置成輸入
}

void loop() { //無限迴圈loop,在此程序內的動作將持續進行,直至斷電

buttonState = digitalRead(pushButton); // 取得外部按鈕狀態

if (buttonState == HIGH) { // 偵測到buttonState 的值若變為 'HIGH' ,則表示按鈕被按下
Serial.print("click! buttonState="); //輸出被按下的文字,可在'Serial Monitor'視窗觀察
Serial.println(buttonState); //輸出buttonState 的值

buttonState == LOW; //將'按鈕目前狀態'之變數改成沒有被按下
delay(200); // 採用延遲200毫秒可讓偵測穩定些,不會太過敏感,導致按下沒立即放開會輸出上百筆訊號,可修改此值並可在'Serial Monitor'視窗觀察
}

}


 

 

延伸做法:

如何透過按鈕按下後讓LED或其他元件動作?

 

<<回到arduino總目錄>>