我們已經會基本的輸入與輸出應用後,再來就是玩些LED變化應用,最常見的就是跑馬燈(老梗…),所以這次選用8顆的LED並搭配程式碼,來做LED Shift 的來回閃爍效果。
跑馬燈的製作很簡單,先選定8個數位腳位輸出到8顆LED,依序來回進行點亮LED動作,要記得一件事,再點亮單顆LED的動作間,記得插入前面教過的固定delay()函數,不然LED來回閃的速度就太快啦。
1.LED Shift 跑馬燈 電路接法
這次一樣可以透過Autodesk TinkerCad Circuit的電路模擬來試玩,數位腳位選用編號2-9,跳過0和1的理由,前文有提過,主要是可預留電腦通訊的方式供Debug使用。接法即UNO PIN2-9分別一支一支接到LED的陽極,LED的陰極透過串聯一顆限流電阻到GND。
2.程式功能
#原始程式碼
先來看看完整程式碼:
void setup() {
// put your setup code here, to run once:
int i=0;
for(i=2;i<10;i++)
{
pinMode(i,OUTPUT); //define the pin 2-9 as output
}
}
void loop() {
// put your main code here, to run repeatedly:
int j=0;
for(j=2;j<10;j++)
{
digitalWrite(j,HIGH);
delay(100);
digitalWrite(j,LOW);
delay(100);
}
for(j=8;j>2;j--)
{
digitalWrite(j,HIGH);
delay(100);
digitalWrite(j,LOW);
delay(100);
}
}
#程式講解
- 第3行–第8行:利用pinMode()與for迴圈,設定編號2-9為數位輸出(OUTPUT)。
- 第12-26行: 依序將編號2->3->4->5->6->7->8->9 LED點亮與熄滅(digitalWrite HIGH-LOW),再來就是8->7->6->5->4->3,加上delay 200ms功能,完成跑馬燈功能。
3.總結
8顆LED的跑馬燈實驗,其實就是在複習一次輸入與輸出的概念,並加入練習程式邏輯概念, 想必朋友們應該開始感受到Arduino的好用直覺吧! 最後附上懶人包連結(Arduino IDE ino檔)供大家下載: