上一篇介紹了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的方式鼻疮。