所谓有一个呼吸灯,就是忽闪忽灭,而不是直接亮或者直接灭。看起来有一种朦胧的美感觉。
使用数字输出就是实现了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;}