一般的按鈕有兩腳和四腳兩種。兩腳的是按下去就會形成通路,沒按則是斷路。

四腳的則是原本紅線的地方就是通路,按下後黃線會形成通路。
我們目的是偵測按鈕是否被按下去,按下去以後會傳送「有通電」的訊號給Arduino。

先將5V連接到GND已形成一個通路,中間加上一個按鈕和電阻。

注意訊號線不能代替GND的作用,因此為了避免電流過強損壞Arduino,電流仍然必須經過一個電阻後回到GND



電流從5V(紅線)經過按鈕,經過電阻,最後回到GND(黑線)。而黃線則在按鈕和電阻中間負責傳送訊號回Arduino。

新概念:
有通電的訊號顯示為1,未通電的訊號顯示未0。
偵測按鈕狀態
int pinIn = 7;
int buttonState = 0;

void setup() {
pinMode(pinIn, INPUT);
Serial.begin(9600);
}
void loop() {
buttonState = digitalRead(pinIn);
Serial.println(buttonState);
}
設定變數pinIn等於7
設定變數butttonState等於0

初始設定{
腳位模式(pinIn[也就是7]腳位,負責輸入)
序列埠設定鮑率為9600
}
重複執行
變數buttonState等於數位腳位pinIn讀取的訊號
序列埠輸出變數buttonState的值
}
按鈕點亮LED燈泡
int pinIn = 7;
int pinOut = 8;
int buttonState = 0;

void setup() {
pinMode(pinIn, INPUT);
pinMode(pinOut, OUTPUT);
Serial.begin(9600);
}
void loop() {
buttonState = digitalRead(pinIn);
if(buttonState==1){
digitalWrite(pinOut,HIGH);
}
else{
digitalWrite(pinOut,LOW);
}
}
設定變數pinIn等於7
設定變數pinOut等於8
設定變數butttonState等於0

初始設定{
腳位模式(pinIn[也就是7]腳位,負責輸入)
腳位模式(pinOut[也就是8]腳位,負責)輸出
序列埠設定鮑率為9600
}
重複執行
變數buttonState等於數位腳位pinIn讀取的訊號
如果變數buttonState等於1
設定腳位pinOut輸出高電位
}
否則
腳位pinOut輸出低電位
}
}
新概念:
程式的語法規定,「=」是「變成」;「==」是「相等」
例如:a=8是指將a變成8。a==8是指a等於8,且通常用在檢查條件的時候。