Arduino if 條件判斷

學習如何學習!

if(條件){
  //條件成立 要執行的程式
}
條件成立時(1),if 大括號內的程式會執行 ,條件不成立時(0),if 大括號內的程式不會執行

例:
if(i>0){ 
  digitalWrite(13,HIGH); 
}
//如果 i > 0 會執行 digitalWrite(13,HIGH);  這行程式

if(條件){
  //條件成立 要執行的程式
}else{
  //條件不成立 要執行的程式
}

條件成立時(1),if 大括號內的程式會執行 ,條件不成立時(0),else 大括號內的程式會執行

if(i>0){ 
  digitalWrite(13,HIGH); 
}
else{
  digitalWrite(13,LOW); 
}
//如果 i > 0 會執行 digitalWrite(13,HIGH);     這行程式
//如果 i 不大於 0 時會執行 digitalWrite(13,LOW);  這行程式

if(條件1){
  //條件1成立 要執行的程式
}else if(條件2){
  //條件1不成立 且條件2成立 要執行的程式
}

條件1成立時(1),if 大括號內的程式會執行 ,條件1不成立時(0)且條件2成立時(1),else if大括號內的程式會執行

if(i>0){ 
  digitalWrite(13,HIGH); 
}else if(j>0){
  digitalWrite(13,LOW); 
}
//如果 i > 0 會執行 digitalWrite(13,HIGH);     這行程式
//如果 i 不大於 0 且 j>0 時會執行 digitalWrite(13,LOW);  這行程式

入門
知識
語法
流程
函式
實習

4 Responses

  1. 伍宜德表示:

    int i;
    If(I=1){
    myservo.write(0);
    delay(3000);
    myservo.write(60);
    else
    myservo.write(60);
    delay(3000);
    myservo.write(0);
    在編譯產生錯誤在if(I=1)
    我不知道錯在那裡,謝謝前輩的指教

  2. 表示:

    您好,我是位剛入門的新手,最近在研究arduino的程式語法,
    我有個急迫想知道的小問題不知您可否協助解惑,
    我想利用判斷式if else來判斷高低電位狀況,並執行成立的條件大括號內的動作,
    若此動作包含delay的延遲(如將led從暗至亮) 且同時在delay工作完成前 電位高低改變,
    是否判斷式會立即跳過上一個括號內的delay動作,改立刻執行新的判斷結果呢?

    另外if else 判斷式放在set up 和 loop 區域會有不同的差異嗎? (例如放set up只會判斷一次就停止判斷…
    望您能百忙之中不吝回答
    感謝~

    • mcu表示:

      1.if else 裡面有delay 會影響判斷
      2.不能放在setup()函式裡面,要在loop()裡面才能一直去判斷
      3.你可以建立自已的delay函式,假設自己的delay函式的名稱叫 myDelay(),裡面也有判斷,如果條件成立,myDelay函式就提早結束

發佈留言