Arduino电子小制作之呼吸灯的实现

呼吸灯

不同于LED灯的闪烁,呼吸灯的亮度不是忽明忽暗,它的亮度是在不停地变化,由最亮渐渐变换到最暗,然后又由最暗变换到最亮,以此反复,因此又被称为睡眠灯。

Arduino电子小制作之呼吸灯的实现

在上一节说到了PWM这个概念,简单来说就是控制占空比,通过控制LED灯的占空比,可以调节它的亮度,当然PWM可以控制的远不止LED,像我们上一节说讲的直流马达、 于是问题来了,怎么连续不断的让LED灯的亮度变化呢?很简单我们只需要不断地控制占空比,呼吸灯的效果就实现了。

Arduino电子小制作之呼吸灯的实现

原理图

原理图如下所示,LED灯和一个电阻串联,只用到了Arduino的一个引脚9~,也就是模拟输出引脚。

Arduino电子小制作之呼吸灯的实现

我们只需要控制9~引脚输出的占空比,就能控制LED灯的亮度,是不是听起来很神奇,好了,马上把你的想法实现吧!

程序

#define LED 9 //把LED灯连在引脚9

int i = 0;

void setup(){

pinMode(LED,OUTPUT); //设定LED为输出模式

}

Void loop(){

for(i = 0;i<=255; i++); //让LED灯亮度由最暗渐渐到最亮

{

analogWrite(LED,i);//控制LED灯的亮度

delay(10); //延时10ms

}

for(i = 255;i>=0; i—);//让LED灯亮度由最亮到最暗

{

analogWrite(LED,i);//控制LED灯的亮度

delay(10); //延时10ms

}

}

在程序中只需要用到两个for循环,第一个for循环让LED灯亮度渐渐增加;第二个for循环让LED灯亮度渐渐降低;analogWrite(LED,i)函数是控制模拟输出的,i的范围是0~255,i的值越大,LED灯亮度越亮。根据delay(5)延时的时间我们可以计算出呼吸灯的周期,如果延时为5ms,那么LED灯呼吸的周期为:5✖️(256+256)=2560ms,大约就是2.5s。

实验现象

分别为delay(5)和delay(10)的实验现象。

视频加载中...

展开阅读全文

页面更新:2024-03-15

标签:呼吸   忽明忽暗   连续不断   不同于   马达   电阻   亮度   函数   这个概念   周期   睡眠   原理图   也就是   现象   程序   电子

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top