設備與材料
個人電腦 × 1
arduino Uno × 1
麵包板 × 1
LED × 16
9pin A型 331排阻 × 2
連接線 若干
電路圖
Arduino 實體接線圖
功能
程式碼
//全域變數
const int LED[8] = {2, 3, 4, 5, 6, 7, 8, 9};
int delayTime;
void setup() {
//設定 Arduino 接腳 為輸出狀態
for (int i = 0; i < 8; i++) {
pinMode(LED[i], OUTPUT);
}
}
void loop() {
delayTime = 100;
for (int i = 0; i < 7; i++) {
digitalWrite(LED[i], HIGH);
delay(delayTime);
digitalWrite(LED[i], LOW);
}
for (int i = 7; i > 0; i--) {
digitalWrite(LED[i], HIGH);
delay(delayTime);
digitalWrite(LED[i], LOW);
}
}
上述示範程式為單燈來回,共有8顆 LED 燈,請你自行修改程式變成單燈來回,共有16顆 LED 燈
進階
可以變成2燈跑馬燈來回(16燈),3燈跑馬燈來回(16燈),4燈跑馬燈來回(16燈)
相關知識
陣列
for 迴圈
Arduino 複合運算子
const
Arduino Uno 硬體
int
void
setup() 函式
loop() 函式
pinMode() 函式
digitalWrite() 函式
delay() 函式
學習目標
1.了解 陣列
2.了解 for 迴圈
3.了解 複合運算子
4.了解 全域變數與區域變數的差別
Arduino 輸出實習(單燈閃爍)
Arduino 輸出實習(跑馬燈-愚公移山)
Arduino 輸出實習(跑馬燈-for迴圈)
Arduino 數位輸入實習
Arduino 數位輸入實習(INPUT_PULLUP)
Arduino 類比輸入實習
Arduino PWM 實習 (呼吸燈)
Arduino PWM 實習 (光感應調光燈)
Arduino 8×8 LED Matrix MAX7219 實習
Arduino 紅綠燈小綠人 實習
Arduino 計時器 實習
Arduino 音樂盒
Arduino 電子琴(鍵盤掃描)
Arduino DHT11 溫濕度感應器
Arduino OLED 顯示
Arduino 超音波測距模組 HC-SR04
Arduino 執行時間實習
Arduino 電容測試器
Arduino 紅外線接收實習
Arduino 紅外線發射實習 EPSON 投影機控制
ESP-12F 網路智慧開關(MQTT)
ESP-12F 雲端記錄型 K-Type 溫度計(MQTT ThingSpeak)
ESP-12F 手機雲端紅外線控制
ESP-12F 網路電台收音機
ESP-12F 電子鼓
5 Responses
抱歉我想詢問一下,光條的寶馬燈程式也和LED一樣嗎?
那一種光條?
你好, 請問可以告訴我如何能做到 2燈/3燈跑馬燈嗎? 我確實想不到 T-T 謝謝你
Arduino 輸出實習(跑馬燈-for迴圈)
進階
可以變成2燈跑馬燈來回(16燈),3燈跑馬燈來回(16燈),4燈跑馬燈來回(16燈)
有些作業還是要自己想喔!
以下是8燈每次2燈跑馬燈,你可以試試看看 16燈要自己改
for (int i = 0; i <6 ; i++) {
digitalWrite(LED[i], HIGH);
digitalWrite(LED[i+1], HIGH);
delay(delayTime);
digitalWrite(LED[i], LOW);
digitalWrite(LED[i+1], LOW);
}
for (int i = 7; i > 1; i--) {
digitalWrite(LED[i], HIGH);
digitalWrite(LED[i-1], HIGH);
delay(delayTime);
digitalWrite(LED[i], LOW);
digitalWrite(LED[i-1], LOW);
}
非常謝謝你, 我會試試看地, 謝謝