上面的这个链接讲的很好。
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));
}
}