// [Lesson 3] 程控流水燈2
int led[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; // 10 個 LED 腳位
int sPin = 16; // 開關腳位
void setup() {
// 設定 LED 腳位為輸出
for (int i = 0; i < 10; i++) {
pinMode(led[i], OUTPUT);
}
// 設定開關腳位為 INPUT 並啟用內建上拉電阻
pinMode(sPin, INPUT_PULLUP);
}
void loop() {
// 判斷開關狀態:右邊(LOW) => 霹靂燈,左邊(HIGH) => 流水燈
if (digitalRead(sPin) == LOW) {
// 霹靂燈模式
for (int i = 0; i < 10; i++) {
digitalWrite(led[i], HIGH);
delay(random(50, 200)); // 隨機閃爍
digitalWrite(led[i], LOW);
delay(random(50, 200)); // 隨機間隔
}
} else {
// 流水燈模式
for (int i = 0; i < 10; i++) {
digitalWrite(led[i], HIGH);
delay(100); // 控制流水燈速度
digitalWrite(led[i], LOW);
}
}
}
Loading
esp32-s2-devkitm-1
esp32-s2-devkitm-1