欢迎光临
我们一直在努力

基础部分-呼吸灯

这个示例用到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);

}

未经允许不得转载:Arduino-Maker » 基础部分-呼吸灯

支付宝扫码打赏 微信打赏

原创文章,若帮到您,欢迎打赏

分享到:更多 ()

评论 抢沙发

评论前必须登录!

 

线上商城

中贝斯特创客空间蘑菇云创客教育