Arduino-LED亮度渐变

在这次实验中我们一起来做实验学习怎么让将LED灯实现渐变的光照效果。

硬件

软件

arduino-1.8.9

电路连接图

按照如下电路图对电路进行链接


在arduino中编写代码

打开Arduino的IDE,新建Arduino项目。

代码:

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控制了渐变的速度。

Arduino-LED亮度渐变相关推荐

  1. LED亮度渐变(Fade)

    本示例展示了使用analogWrite() 来实现LED亮度的渐变.AnalogWrite采用脉冲宽度调制(PWM),以开关之间的不同比例快速打开和关闭一个数字引脚,来打造出渐变效果. 所需硬件 Ar ...

  2. PWM调光方法在LED亮度调节中的应用

    LED 是一种固态电光源, 是一种半导体照明器件,其电学特性具有很强的离散性.它具有体积小.机械强度大.功耗低.寿命长, 便于调节控制及无污染等特征,有极大发展前景的新型光源产品.LED 调光方法的实 ...

  3. 光敏电阻控制led亮度程序_单片机开发系统学习LED亮度控制原理

    早期控制LED亮度的方法一般是采用模拟电路来调节LED的工作电流来实现,这种方式灵活性较差,很难达到智能控制的效果.本文将介绍如何通过一个普通MCS51单片机来产生PWM信号,达到调节LED的亮度的目 ...

  4. 控制led亮度C语言程序,单片机pwm控制led亮度原理图

    单片机pwm控制led亮度原理图 用51产生PWM去控制LED,首先要确定PWM的周期T和占空比D,确定了这些以后,可以用定时器产生一个时间基准t,比如定时器溢出n次的时间是PWM的高电平的时间,则D ...

  5. 51单片机_15-1 LED亮度调节

    文章目录 要求 资源 main函数 要求 通过独立按键调节LED灯亮度 资源 工程文件压缩包 链接:https://pan.baidu.com/s/1wF4UhANu4yHbSXCM7_ugKA 提取 ...

  6. Arduino LED灯随着蜂鸣器音乐闪烁

    Arduino LED灯随着蜂鸣器音乐闪烁 所需组件: 开发板 面包板 LED灯 蜂鸣器 连接线 示意图: 接线方式: 3脚蜂鸣器: 1.GND接开发板的一个地口 2.VCC线接5V开发板5v电源 3 ...

  7. linux pwm 调屏_PWM调光方法在LED亮度调节中的应用

    LED 是一种固态电光源, 是一种半导体照明器件,其电学特性具有很强的离散性.它具有体积小.机械强度大.功耗低.寿命长, 便于调节控制及无污染等特征,有极大发展前景的新型光源产品.LED 调光方法的实 ...

  8. 单片机学习笔记(二)51单片机采用PWM(脉宽调制)方式调节LED亮度的原理及程序详解

    采用PWM方式调节LED亮度的原理 调节LED亮度的两种方式: 1.改变LED流过的电流大小来调节亮度,流过的电流越大,LED亮度越亮 2.改变LED通电时间长短来调节亮度,通电时间长,亮度高 (1) ...

  9. FPGA 20个例程篇:4.串行DAC输出模拟电压控制LED亮度

    二.常用通信协议,摸索探究: 4.串行DAC输出模拟电压控制LED亮度 TLC5615是一颗在实战项目中广泛使用的串行DAC,通过这个例程的学习实践,一方面我们可以掌握SPI通信的底层逻辑,另一方面D ...

最新文章

  1. Maple Warrior 个人简历
  2. 常用数据库优化方案(三)
  3. 机器学习之数学基础(一)~maximum likelihood
  4. 机器学习笔记 时间序列预测(最基本的方法【benchmark】)
  5. C#项目打包,并自动安装SQL数据库(转)
  6. Hadoop--MapReduce_Hadoop序列化
  7. 【0xC1900101】BOOT过程中的SAFE_OS阶段安装win10失败的解决方法
  8. XYGame-AI设计3-行为树-第1版本
  9. grep命令--文件过滤分割与合并
  10. 还在忍受磁力搜索网站不忍直视的广告么?18年最新最好用的bt磁力搜索网站介绍
  11. 商品档案,文具五金服装鞋帽酒店烟酒饰品,日用百货超市,批发零售进销存收银财务一体管理软件
  12. MEGA-X 3D打印机教程:05_更换步进电机驱动
  13. Mysql查询性能优化-善用Explain语句
  14. Java中Arrays.sort()的三种常用用法(自定义排序规则)
  15. FFmpeg 音视频截取
  16. pandas取出特定行列数据
  17. 权限系统表 | 全方位认识 mysql 系统库(一)
  18. 如何对复杂的项目工作进行分解?
  19. ckeditor粘贴上传图片
  20. 实施参照完整性的作用

热门文章

  1. C语言 | 快速了解C的发展史
  2. 关于JsBarcode.all.js
  3. VMware虚拟机 桥接模式 无法上网 校园网
  4. 马尔萨斯 ( Malthus)人口指数增长模型Logistic 模型
  5. 基于知识图谱的DNS Query Flood攻击检测研究
  6. 华硕b85主板进不去linux系统,华硕b85主板装不上win7怎么办_华硕b85主板无法安装win7怎么解决-系统城...
  7. [笔记] JSP 与 JSPX 语法差异对比 [草稿,待续]
  8. matlab中常微分方程数值计算的方法
  9. snakeyaml 简介、中文文档、中英对照文档 下载
  10. SQL server求移动平均、rolling sum滚动前多少行求和