上一篇介紹了Arduino數(shù)字I/O引腳及相關(guān)函數(shù),并點亮了板載LED燈。本篇將使用面包板搭建電路,多個LED燈配合顯示流動效果。
1. 實驗材料
- Uno R3開發(fā)板
- 配套USB數(shù)據(jù)線
- 面包板及配套連接線
- 6個LED燈
- 6個220Ω電阻
2. 實驗步驟
-
根據(jù)原理圖搭建電路
直插式LED燈有兩個引腳,長引腳為正極,短引腳為負(fù)極。LED燈點亮就是電流從正極流入,從負(fù)極流出。6個LED燈的負(fù)極連接到開發(fā)板的GND引腳,正極分別連接220Ω限流電阻連接到開發(fā)板的數(shù)字I/O引腳。
實驗原理圖如下圖所示:
流水燈電路連接圖實物連接圖如下圖所示:
實物連接圖
-
新建sketch,拷貝如下代碼替換自動生成的代碼并進(jìn)行保存。
/* * Led_Flash * 依次點亮1~6號LED燈,依次熄滅6~1號LED燈,如此循環(huán) */ int delayTime = 200; int ledPin; void setup() { for (ledPin = 1; ledPin < 7; ledPin++) //依次設(shè)置1~6個數(shù)字引腳為輸出模式 { pinMode(ledPin, OUTPUT); //設(shè)置第ledPin個引腳為輸出模式 } } void loop() { for (ledPin = 1; ledPin < 7; ledPin++) //每隔delayTime依次點亮1~6引腳相連的led燈 { digitalWrite(ledPin, HIGH); //點亮ledPin引腳相連的led燈 delay(delayTime);//延時delayTime } for (ledPin = 6; ledPin > 0; ledPin--) //每隔delayTime依次熄滅6~1引腳相連的led燈 { digitalWrite(ledPin, LOW); //熄滅ledPin引腳相連的led燈 delay(delayTime);//延時delayTime } } -
連接開發(fā)板,設(shè)置好對應(yīng)端口號和開發(fā)板類型,進(jìn)行程序下載。
程序下載
3. 實驗現(xiàn)象
LED燈依次點亮,依次熄滅,達(dá)到流動效果。

流水燈效果
4. 程序分析
在setup部分通過for循環(huán)將1 ~ 6號引腳設(shè)置為輸出模式。在loop部分,通過兩個for循環(huán)依次點亮1 ~ 6號LED燈,依次熄滅6 ~ 1號LED燈,使用的依然是digitalWrite函數(shù)。
延時時間定義為200,你可以改變它來控制流動速度。還可以通過修改程序中引腳的輸出順序來嘗試更多不同的點亮LED的方式。


