Lab4
Button 按鈕開關
[材料]
[材料]
Arduino主板 x 1
麵包板 x 1
Led x 1
按鈕開關 x 1
/* Lab4 Button 程式碼 */
int led1 = 11; //Led設定為pin 11
int button1 = 2; //按鈕設定為pin 2
int buttonState = 0; //按鈕預設的狀態
void setup() {
pinMode(led1, OUTPUT); //設定led1為輸出訊號
pinMode(button1, INPUT); //設定button1為輸入訊號
}
void loop(){
buttonState = digitalRead(button1); //讀取按鈕的狀態
if (buttonState == HIGH) {
digitalWrite(led1, HIGH); //LED亮
}
else {
digitalWrite(led1, LOW); //LED暗
}
}
[解釋]
[解釋]
1. pin1~13可以利用pinMode() 來設定INPUT或OUTPUT模式;
2. digitalRead() :數位輸入,"讀取"電壓狀態為 HIGH、 LOW 或是 1、0。
digitalWrite() :數位輸出,""寫入"電壓狀態為 HIGH、LOW 或是 1、0。
analogRead() :類比輸入,""讀取"電壓狀態為 0~1023的數值。
analogWrite() :類比輸出,""寫入"電壓狀態為 0~255的數值。
3. if 的用法:
if (條件1)
{ }
else if (條件2)
{ }
else if (條件3)
{ }
.
.
.
else
{ }
[基本問題]
[基本問題]
1. 請改寫程式,按下為關燈,放開為開燈。
2. 使用兩個按鈕,分別控制兩個LED。
[挑戰問題]
[挑戰問題]
1. 原本程式是按住按紐時才會亮燈。
請改寫程式:按了按鈕後放開,持續亮燈;再按一次後,燈又熄滅。
( 提示:可以加入一個變數,來記錄LED的狀態)