基础部分-呼吸灯

这个示例用到analogWrite()来使LED有呼吸灯效果。AnalogWrite用到的是脉宽调制技术PWM功能。用快速开关不同比率,来点亮LED创造呼吸灯效果。

硬件需求
—Arduino控制板
—LED
—220欧电阻
—面包板
—杜邦线

电路
把LED的正极(长的引脚)通过一个220欧的电阻,连接到数字输出引脚9。把LED的负极连接到GND。
clip_image002

原理图
clip_image004

代码
在把数字引脚9定义为ledPin只有,setup()里面就没有其他代码了。
analogWrite()函数将会被用在loop里面,有两个参数,一个告诉函数哪个引脚,另一个告诉PWM值。
为了是你的LED有呼吸灯效果,提高你的PWM值从0到255之后再往复这个循环。在下面的代码中,PWM值设置在一个叫brightness的变量里。通过每一次循环,它的值通过一个叫fadeAmount的变量来增加。
如果brightness达到极端的时候(0-255),fadeAmount就会变为负数。打个比方,如果fadeAmount的值是5,它就会变为-5.下次循环的时候,这个变化将使brightness改变变化方向。
Brightness()可以非常快速的改变PWM值,所以在程序最后的delay函数就是控制呼吸灯的速度,试着改变这个数值来看不同的效果。

int led = 9; // 带有PWM功能的引脚9设置为LED引脚
int brightness = 0; // LED亮度
int fadeAmount = 5; // 呼吸灯每次变化的跨度
void setup() {
// 把引脚9设置为输出模式
pinMode(led, OUTPUT);
}
void loop() {
// 设置引脚9 的亮度
analogWrite(led, brightness);
// 在每次循环改变亮度值:
  brightness = brightness + fadeAmount;
// 在亮度值达到两个极端的时候,使其改变变化方向。
if (brightness <= 0 || brightness >= 255) {
fadeAmount = -fadeAmount;
}
// 等待30毫秒
delay(30);
}
0
分享到:

评论0

请先

原Arduino365.com域名更改为品牌域名ultirobot.com,承载内容要将更丰富,网站也进行了改版,改善阅读体验。
没有账号? 忘记密码?