所谓有一个呼吸灯,就是忽闪忽灭,而不是直接亮或者直接灭。看起来有一种朦胧的美感觉。
使用数字输出就是实现了LED灯直接亮或直接灭。
使用模拟输出就是实现了LED灯忽闪忽灭。
其中在数字接口中具有波浪线的就是可以当成模拟输出使用的接口。
主要用到analogWrite()函数来控制模拟输出。
以下为源代码:
void setup() {
// put your setup code here, to run once:
pinMode(11,OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
for(int i=0;i<=30;i++)
{
analogWrite(11,i);
delay(10);
}
for(int i=30;i>=0;i--)
{
analogWrite(11,i);
delay(10);
}
}
改进版的呼吸流水灯:
void setup() {
pinMode(3,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
pinMode(11,OUTPUT);
}
int level = 0;
int ports[6] = {3,5,6,9,10,11};
int idx = 0;
void loop() {
analogWrite(ports[idx],level);
delay(10);
++level %= 7;
++idx %= 6;
}