int minlight = 0;//最小亮度
int maxlight = 255;//最大亮度
float breatheStep = 0.5;//亮度变化值
int delayTime = 1;//每个亮度保持时间,这其实也是一个一个阶梯型电平组成的大连续信号
void setup()
{
pinMode(3, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);//接上三个LED
}
void loop()
{
breathing(3);
breathing(5);
breathing(6);//三个LED依次亮度变化
}
void breathing(int pincode )
{
for (float light = 0; light <= maxlight ; light = light + breatheStep )//逐渐变亮,电压由0到百分之百
{
analogWrite(pincode, light);
delay(delayTime);
}
for (float light = 255; light >= minlight; light = light - breatheStep)//逐渐变暗,电压由百分之百到0
{
analogWrite(pincode, light);
delay(delayTime);
}
}