愛體驗認證

顯示具有 if 標籤的文章。 顯示所有文章
顯示具有 if 標籤的文章。 顯示所有文章

2019年8月7日 星期三

if...else - arduino程式語法參考_TCweng

if...else


if...else 程式在執行時更細微的區分相對應數值的執行動作,例如當x值大於50時要讓燈泡保持明亮,而低於50時則關閉燈泡,程式可以這樣寫

if (x > 50){
  digitalWrite(13,HIGH);
}
else{
  digitalWrite(13,LOW);
}



甚至近一步區分x值是在25~50的區間要使燈泡閃爍,可以添加else if 程式,來進一步判斷x值的大小

if (x > 50){
  digitalWrite(13,HIGH);  //高於50時,保持燈泡明亮
}
else if (x>25){
  digitalWrite(13,HIGH);  //25~50區間時,讓燈泡閃爍
  delay(1000);
  digitalWrite(13,LOW);
  delay(1000);
}
else{
  digitalWrite(13,LOW);  //低於25,讓燈泡保持關閉
}


回總攬
https://tcweng.blogspot.com/2019/08/arduinotcweng.html

if - arduino程式語法參考_TCweng

if (條件)



if 配合條件,可以用來判斷某一段程式執行的時機,例如要在x值大於100的時候讓13腳位保持高電位,讓燈泡亮起,那程式可以這樣寫

if(x>100){
    digitalWrite(13,HIGH);
  }



而 if 條件式存在新手非常容易犯的錯誤!!!!在 if (條件) 裡,不能出現 if (x=60) 這樣的語法,因為這樣會導致x直接變成60,而不是判斷x是否為60,所以要這樣寫才對

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;

  }


}