只有一個LED燈似乎不是那么有吸引力,所以這期的Arduino教程,我們將在多加幾個LED燈在面包板上。
需要的材料:
- Arduino 編程軟件
- Arduino UNO卡
- 面包板
- 10 x 不同顏色的連接線
- 5 x LED燈
- 5 x 220 - 1000歐的電阻
第一步 連接電路
我們只需要在上一章已經(jīng)連接好的電路稍作修改就能得到一個有更多LED燈的新電路。
注意連接的順序應(yīng)該是UNO卡的輸出口 -> LED長引腳 -> LED短引腳 -> 電阻 -> 面包版負(fù)極豎條。
第二步 編輯程序
讓我們來做一個類似于跑馬燈似的程序,讓LED燈交替點(diǎn)亮。
首先我們要定義出第一個和最后一個LED燈的位置以及每個燈點(diǎn)亮的時間。
int FirstLED = 9; // 第一個輸出口
int LastLED = 13; // 最后一個輸出口
int timer = 300; // 每個燈點(diǎn)亮的時間
然后在loop()函數(shù)里,我們用兩個for循環(huán)來實現(xiàn)跑馬燈的效果。
void loop() {
// 這里從9號燈到13號燈
for (int thisPin = FirstLED; thisPin <= LastLED; thisPin++) {
// 點(diǎn)亮
digitalWrite(thisPin, HIGH);
delay(timer);
// 熄滅
digitalWrite(thisPin, LOW);
}
// 這里從13號燈到9號燈
for (int thisPin = LastLED; thisPin >= FirstLED; thisPin--) {
// 點(diǎn)亮
digitalWrite(thisPin, HIGH);
delay(timer);
// 熄滅
digitalWrite(thisPin, LOW);
}
}
完整代碼:
int FirstLED = 9; // 第一個輸出口
int LastLED = 13; // 最后一個輸出口
int timer = 300; // 每個燈點(diǎn)亮的時間
void setup() {
// use a for loop to initialize each pin as an output:
for (int thisPin = FirstLED; thisPin <= LastLED; thisPin++) {
pinMode(thisPin, OUTPUT);
}
}
void loop() {
// 這里從9號燈到13號燈
for (int thisPin = FirstLED; thisPin <= LastLED; thisPin++) {
// 點(diǎn)亮
digitalWrite(thisPin, HIGH);
delay(timer);
// 熄滅
digitalWrite(thisPin, LOW);
}
// 這里從13號燈到9號燈
for (int thisPin = LastLED; thisPin >= FirstLED; thisPin--) {
// 點(diǎn)亮
digitalWrite(thisPin, HIGH);
delay(timer);
// 熄滅
digitalWrite(thisPin, LOW);
}
}
第三步 上傳程序

如果你細(xì)心觀察就會發(fā)現(xiàn)其實有兩盞燈的點(diǎn)亮?xí)r間會比其他的燈更長,這是為什么呢?