2015年5月3日 星期日

課程2-跑馬燈

目的:

使用多的LED組成一排的LED燈,製作成跑馬燈的效果。


電子元件:

麵包板 x 1
Arduino 主板 x 1
LED x 5
220 ohm 電阻 x 5
單心線 x N


接線圖:


把 5 顆 LED 接到 pin3 到 pin7 腳 。LED 的接法為: 長腳(陽極)接到 pin 腳,短腳(陰極)接到 GND。

程式碼:


  1. const int ledCount=5;
  2. int ledPins[] = {3,4,5,6,7};
  3. void setup(){
  4. for(int thisLed=0;thisLed <ledCount;thisLed++){
  1.   pinMode(ledPins[thisLed],OUTPUT);
  2. }
  3. }
  4. void loop(){
  5. for(int thisLed = 0;thisLed <=ledCount;thisLed++){
  6.   digitalWrite(ledPins[thisLed],HIGH);
  7.   delay(600);
  8.   digitalWrite(ledPins[thisLed],LOW);
  9. }  
  10. for(int thisLed=ledCount;thisLed>=0;thisLed--){
  11.   digitalWrite(ledPins[thisLed],HIGH);
  12.   delay(600);
  13.   digitalWrite(ledPins[thisLed],LOW) ;
  14. }
  15. delay(1000);
  16. }


程式碼說明:

第一行 定義ledCount 整數變數為,代表有5個LED。
第二行 使用整數陣列ledPins[]來定義五個接腳Pin ,分別為pin3、pin4、pin5、pin6、pin7。
第三~七行 為初始定義 。
第四行 使用For迴圈 整數變數thisLed 從0~ledCount(5) ,每次thisLed 加一。
第五行 設定腳位模式(pinMode)為輸出腳位 。
第八~二十行 為程式迴圈。
第九~十三行 讓LED 重第一個亮起,並停留0.6秒熄滅,並換到第二個LED亮起,
         並熄滅,持續到第五個LED。
第九行 使用For迴圈 整數變數thisLed 從0~ledCount(5) ,每次thisLed 加一。
第十行 設定數位輸出5V(HIGH)到腳位ledPins[thisLed],會導致LED 燈號亮起 。
第十一行 延遲(delay) 0.6秒(600 ms)。
第十二行 設定數位輸出0V(LOW)到腳位ledPins[thisLed] ,會導致LED 燈號關閉 。
第十四~十八行 讓LED 重第五個亮起,並停留0.6秒熄滅,並換到第四個LED亮起,
          並熄滅,持續到第一個LED。
第十四行 使用For迴圈 整數變數thisLed 從ledCount(5)~0 ,每次thisLed 減一。
第十五行 設定數位輸出5V(HIGH)到腳位ledPins[thisLed],會導致LED 燈號亮起 。
第十六行 延遲(delay) 0.6秒(600 ms)。
第十七行 設定數位輸出0V(LOW)到腳位ledPins[thisLed] ,會導致LED 燈號關閉 。
第十九行 當LED 從一跑到五,再從五跑第一,停留1秒在繼續跑。

實驗影片:



關鍵字:Arduino Uno LED 跑馬燈


沒有留言:

張貼留言

Arduino、Raspberry Pi、System Integration,如有問題或建議,可以互相討論喔~