今天我们尝试用analogWrite()函数输出PWM波来制作一个带呼吸效果的LED灯
(1)实验所需要的材料
实验需要用到的材料有:Arduino UNO板、面包板、1个LED、1个220Ω电阻。
实验中,我们将LED 连接到了带PWM功能的D9引脚上。
(2)示例代码:
第一种呼吸灯arduino写法
[ccen_cpp]
/*
Fading
通过analogWrite()函数实现呼吸灯效果
*/
int ledPin = 9; // LED连接在9号引脚上
void setup() {
// Setup部分不进行任何处理
}
void loop() {
// 从暗到亮,以每次加5的形式逐渐亮起来
for(int fadeValue = 0 ; fadeValue <= 255; fadeValue +=5) {
// 输出PWM
analogWrite(ledPin, fadeValue);
// 等待30ms,以便观察到渐变效果
delay(30);
}
//从亮到暗,以每次减5的形式逐渐暗下来
for(int fadeValue = 255 ; fadeValue >= 0; fadeValue -=5) {
//输出PWM
analogWrite(ledPin, fadeValue);
//等待30ms,以便观察到渐变效果
delay(30);
}
}
[/ccen_cpp]
第二种呼吸灯代码写法:
[ccen_cpp]
/*
另一种呼吸灯写法
*/
int led = 9; // LED灯连接在9号引脚
int brightness = 0; // LED灯亮度
int fadeAmount = 5; // 亮度渐变值
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
analogWrite(led, brightness);
brightness = brightness + fadeAmount;
if (brightness == 0 || brightness == 255) {
fadeAmount = -fadeAmount ;
}
delay(30);
}
[/ccen_cpp]
|