愛體驗認證

2019年5月3日 星期五

TCweng_switch,if迴圈控制LED

Arduino要讓LED點亮的方式有很多
每個專題也有不同的顯示目的
因此寫程式的方式也就百百種
所以今天TC就教大家
如何用if迴圈跟switch迴圈輪流點亮LED
提供大家寫更大專題的小地基


首先接線的部分如下圖






程式

int ledPin = 3;        // LED 接腳
int ButtonPin = 2;          // 按鈕接腳
int tc = 0;               // 定義一個按鈕狀態變數

void setup() {
  Serial.begin(9600);                           // 序列埠的速度為9600bps
  pinMode(ledPin, OUTPUT);              // 設定LED接腳為輸出模式
  pinMode(ButtonPin, INPUT);               // 設定按鈕接腳為輸入模式
  
}


void loop(){
  tc = digitalRead(ButtonPin);            // 取得按鈕的值
  delay(100);                                      // 延遲
  if (tc == HIGH) {                              // 如果按鈕被按下
    digitalWrite(ledPin, HIGH);           // 把LED輸出訊號為高電壓,點亮
  }
  else {
    digitalWrite(ledPin, LOW);            // 反之讓LED熄滅
  }

}



以上程式按著按鈕時會點亮LED
反之熄滅



接下來是switch迴圈的方式
一樣複製程式並上傳就可以了
只是程式工作的原理不同


int ledPin = 3; // LED 接腳
int ButtonPin = 2; // 按鈕接腳
int tc = 0; // 定義一個按鈕狀態變數

void setup() {

Serial.begin(9600); // 序列埠的速度為9600bps
pinMode(ledPin, OUTPUT); // 設定LED接腳為輸出模式
pinMode(ButtonPin, INPUT); // 設定按鈕接腳為輸入模式

}


void loop(){

tc = digitalRead(ButtonPin); // 取得按鈕的值

delay(100); // 延遲

switch(tc){
  case HIGH:
  digitalWrite(ledPin, HIGH); // 把LED輸出訊號為高電壓,點亮
  break; 

  case LOW: 
  digitalWrite(ledPin, LOW); // 反之讓LED熄滅
  break;

  }


}




沒有留言:

張貼留言