Arduino-LED亮度渐变
在这次实验中我们一起来做实验学习怎么让将LED灯实现渐变的光照效果。
硬件
代码:
int led = 9;
// 声明9脚作为ledPin
int brightness = 0;
// LED的亮度初始化为0
int fadeAmount = 5;
// 让LED变暗的点个数
void setup() {
pinMode(led, OUTPUT);
// 声明9 针脚为output输出状态
}
// 定义电路板的初始化方法
void loop() {
analogWrite(led, brightness);
// 设置9 针脚LED的亮度
brightness = brightness + fadeAmount;
// 用循环来修改下次LED的亮度
if (brightness == 0 || brightness == 255) {
fadeAmount = -fadeAmount ;
}
//if条件语句实现:如果LED灯此时为最暗/最亮,将fadeAmount的数值变为负值
//使LED的亮度变大/变小
delay(40);
// 每次循环结束后,将等待40毫秒延时再执行下一轮循环
}
// 无限循环程序
总结
通过上述实验,测试学习到了如何使用Arduino来实现LED闪烁。
代码说明:
将引脚9声明为LED引脚之后,在代码的setup()函数中没有操作。在代码的主循环中使用的analogWrite()函数会需要两个参数:一个告诉函数要写入哪个引脚,另一个表示要写入的PWM值。
为了使LED渐变熄灭和亮起,将PWM值从0(一直关闭)逐渐增加到255(一直开启),然后回到0,以完成循环。其中,PWM值使用称为brightness的变量设置。每次通过循环时,它增加变量fadeAmount的值。
analogWrite()可以快速地改变PWM值,因此结束时的delay控制了渐变的速度。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!