1.硬體電路不變 (如下圖)

Smiley face

2.請在軟體程式區鍵入下列程式:

int Led = 3;

void setup(){
      pinMode(Led , OUTPUT);
}

void loop(){
      for(int i=0; i<3; i++){
            digitalWrite(Led , HIGH);
            delay(100);
            digitalWrite(Led , LOW);
            delay(100);
      }
}

在此,我們發現增加了迴圈指令,效果卻沒改變,為甚麼呢?
因為 loop 主程式,會重複執行 for 指令,然而執行 1 次 for 與
執行 2 次 for ,效果都是一樣的,如果,能讓 for 迴圈在執行中,
每次執行都不一樣,效果就會出現了。

下面針對 loop 程式稍做修改,就可看出差別。
void loop(){
      static int x=1;
      for(int i=0; i<5; i++){
            digitalWrite(Led , HIGH);
            delay(100);
            digitalWrite(Led , LOW);
            delay(100*x); //隨著 for 被執行次數,依次數延遲
      }
      x++; //每執行一次 for 迴圈, x +1
      x=(x%10)+1; //每 10 個一循環
}