breath light
上面的這個連結講的很好。
int ledPin = 10;
void setup() {
// put your setup code here, to run once:
pinMode(ledPin, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
fadeOn(1000,5);
fadeOff(1000,5);
}
void fadeOn(unsigned int time, int increment){
for(byte value = 0; value< 255; value += increment){
analogWrite(ledPin,value); //采用PWM pulse Width Modulation 來實作模拟資訊的輸出
delay(time/(255/increment)); //通過函數獲得的兩個變量time 和 increment 來擷取LED燈的延遲
}
}
void fadeOff(unsigned int time, int decrement){
for(byte value = 255; value > 0; value-= decrement){
analogWrite(ledPin, value);
delay(time/(255/decrement));
}
}
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIyVGduV2QvwVe0lmdhJ3ZvwFM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2LcZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39TM1ADN1YzMxETNycDM1EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)