实验所需材料
- Arduino UNO
- 面包板
- LED灯一个
- 330Ω电阻一个
连接示意图
如图所示,实验中我们将LED连接到了带PWM功能的D9引脚。
可以在 Arduino IDE菜单>文件>示例>03.Analog>Fading 打开呼吸灯示例程序,程序如下:
int ledPin = 9; // LED connected to digital pin 9
void setup() {
// nothing happens in setup
}
void loop() {
// fade in from min to max in increments of 5 points:
for (int fadeValue = 0 ; fadeValue <= 255; fadeValue += 5) {
// sets the value (range from 0 to 255):
analogWrite(ledPin, fadeValue);
// wait for 30 milliseconds to see the dimming effect
delay(30);
}
// fade out from max to min in increments of 5 points:
for (int fadeValue = 255 ; fadeValue >= 0; fadeValue -= 5) {
// sets the value (range from 0 to 255):
analogWrite(ledPin, fadeValue);
// wait for 30 milliseconds to see the dimming effect
delay(30);
}
}
上传程序到Arduino Uno后,可以观察到LED亮灭交换渐变,好似呼吸一般的效果。
以上程序中,通过for循环,逐渐改变LED的亮度,达到呼吸的效果。在两个for循环中都有delay(30) 的延时语句,这是为了让我们肉眼能观察到亮度调节的效果。如果没有这个语句,整个变化效果将一闪而过。
视频效果展示:
Arduino呼吸灯效果展示