1.硬體電路不變 (如下圖)
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 個一循環
}