【Arduino入門】LED霹靂燈製作

Arduino UNO作為一個多功能且易於使用的開源微控制平台,已經成為眾多電子愛好者和創客的首選工具。在本篇文章中,我們將探討如何利用Arduino UNO來設計一款獨特的霹靂燈。無論你是Arduino初學者還是有經驗的開發者,這個項目都會提供一個富有創意且實用的學習機會。從基本的電路連接到程式碼編寫,我們將一步步引導你完成這個充滿樂趣的燈飾創作。加入我們,讓我們一起打造一個光彩奪目、能為你的居家或工作空間帶來獨特氛圍的霹靂燈。

實驗準備材料

  • LED x 5顆
  • 220Ω電阻 x 5顆
  • 杜邦線 x  6條
  • 麵包板 x 1片

設計邏輯想法

  1. 將5顆LED分別接線在Arduino UNO的8,9,10,11,12號腳位,使得8號燈依次亮暗至12號燈。
  2. 到12號燈亮完後,再由12號燈開始往回亮滅至8號燈,成為5顆LED燈左右來回亮滅。

程式流程圖

程式設計

在上一篇”LED跑馬燈設計教程“,我們使用了”for”迴圈設計出一個單方向的LED輪流亮滅的程式,此篇我們再設計一段for迴圈,讓這LED燈組能來回亮滅,設計出霹靂燈效果。

程式解釋

  1.  在開始時,再宣告一個整數”j”,做為另一組計數
  2. 直接在loop程式中,再增加一組for迴圈,設定j=LED5,當它大於LED1時,j將會計數減1,直到LED1
  3. 此時不知大家有沒有注意到原上篇中的i<=LED5,修改為i<LED5;而另一段for迴圈中,設定j也只有>LED1,原因當我們再讓計數等於最初和最後的LED燈時,計數將會再計算一次,停留多亮一秒再往下一個LED燈亮,大家可以試著修改這運算式,觀察這情形
				
					const byte LED1 = 8;  //宣告變數給LED1~5
const byte LED5 = 12;
int i;         //宣告一個整數i,以做為計數用
int j;         //宣告另一個整數j,做為計數用
int dt = 1000;  //宣告dt為1000,做為delay time用

void setup() {
  // put your setup code here, to run once:
  for (i = LED1; i <= LED5; i++) {  //使用for迴圈指令依次將LED1~5設定為輸出
    pinMode(i, OUTPUT);
  }
}

void loop() {
  // put your main code here, to run repeatedly:
  for (i = LED1; i < LED5; i++) {  //用for迴圈指令將LED1~5依次亮暗
    digitalWrite(i, HIGH);
    delay(dt);
    digitalWrite(i, LOW);
  }
  for (j = LED5; j > LED1; j--) {  //用for迴圈指令將LED5亮滅回到LED1
    digitalWrite(j, HIGH);
    delay(dt);
    digitalWrite(j, LOW);
  }
}

				
			

實物接線

實物執行影片

結論

經過一系列的學習和實踐,我們成功利用for迴圈創造了一款個性化的霹靂燈。這個項目不僅提升了我們對Arduino編程和電子硬體的理解,也為創造性思維和技術創新提供了一個絕佳的展示平台。從基礎到實踐的過程中,我們體驗到了自製燈飾的樂趣與成就感。希望這篇文章能激發更多人對Arduino和DIY項目的興趣,開啟你們自己的創客之旅。

有主意,就動手!下一篇見~

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

返回頂端