int led = 9; // LED 接腳(需具備 PWM 功能)
int brightness = 0; // 初始亮度
int fadeAmount = 5; // 每次亮度變化的幅度
bool breathing = true; // 控制是否進行呼吸效果
void setup() {
pinMode(led, OUTPUT); // 設定 LED 接腳為輸出模式
}
void loop() {
if (breathing) {
analogWrite(led, brightness); // 設定 PWM 輸出亮度
brightness = brightness + fadeAmount;
// 若亮度達到最大或最小值,則反向變化
if (brightness <= 0 || brightness >= 255) {
fadeAmount = -fadeAmount;
// 當一次完整呼吸結束後,進入閃爍模式
breathing = false;
}
delay(30); // 呼吸變化延遲
} else {
// 閃爍效果:快速開關 LED 幾次
for (int i = 0; i < 3; i++) {
digitalWrite(led, HIGH);
delay(100);
digitalWrite(led, LOW);
delay(100);
}
// 重設亮度與狀態,回到呼吸模式
brightness = 0;
fadeAmount = 5;
breathing = true;
}
}
留言
張貼留言