Arduino-LED亮度渐变
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亮度渐变相关推荐
- LED亮度渐变(Fade)
本示例展示了使用analogWrite() 来实现LED亮度的渐变.AnalogWrite采用脉冲宽度调制(PWM),以开关之间的不同比例快速打开和关闭一个数字引脚,来打造出渐变效果. 所需硬件 Ar ...
- PWM调光方法在LED亮度调节中的应用
LED 是一种固态电光源, 是一种半导体照明器件,其电学特性具有很强的离散性.它具有体积小.机械强度大.功耗低.寿命长, 便于调节控制及无污染等特征,有极大发展前景的新型光源产品.LED 调光方法的实 ...
- 光敏电阻控制led亮度程序_单片机开发系统学习LED亮度控制原理
早期控制LED亮度的方法一般是采用模拟电路来调节LED的工作电流来实现,这种方式灵活性较差,很难达到智能控制的效果.本文将介绍如何通过一个普通MCS51单片机来产生PWM信号,达到调节LED的亮度的目 ...
- 控制led亮度C语言程序,单片机pwm控制led亮度原理图
单片机pwm控制led亮度原理图 用51产生PWM去控制LED,首先要确定PWM的周期T和占空比D,确定了这些以后,可以用定时器产生一个时间基准t,比如定时器溢出n次的时间是PWM的高电平的时间,则D ...
- 51单片机_15-1 LED亮度调节
文章目录 要求 资源 main函数 要求 通过独立按键调节LED灯亮度 资源 工程文件压缩包 链接:https://pan.baidu.com/s/1wF4UhANu4yHbSXCM7_ugKA 提取 ...
- Arduino LED灯随着蜂鸣器音乐闪烁
Arduino LED灯随着蜂鸣器音乐闪烁 所需组件: 开发板 面包板 LED灯 蜂鸣器 连接线 示意图: 接线方式: 3脚蜂鸣器: 1.GND接开发板的一个地口 2.VCC线接5V开发板5v电源 3 ...
- linux pwm 调屏_PWM调光方法在LED亮度调节中的应用
LED 是一种固态电光源, 是一种半导体照明器件,其电学特性具有很强的离散性.它具有体积小.机械强度大.功耗低.寿命长, 便于调节控制及无污染等特征,有极大发展前景的新型光源产品.LED 调光方法的实 ...
- 单片机学习笔记(二)51单片机采用PWM(脉宽调制)方式调节LED亮度的原理及程序详解
采用PWM方式调节LED亮度的原理 调节LED亮度的两种方式: 1.改变LED流过的电流大小来调节亮度,流过的电流越大,LED亮度越亮 2.改变LED通电时间长短来调节亮度,通电时间长,亮度高 (1) ...
- FPGA 20个例程篇:4.串行DAC输出模拟电压控制LED亮度
二.常用通信协议,摸索探究: 4.串行DAC输出模拟电压控制LED亮度 TLC5615是一颗在实战项目中广泛使用的串行DAC,通过这个例程的学习实践,一方面我们可以掌握SPI通信的底层逻辑,另一方面D ...
最新文章
- Maple Warrior 个人简历
- 常用数据库优化方案(三)
- 机器学习之数学基础(一)~maximum likelihood
- 机器学习笔记 时间序列预测(最基本的方法【benchmark】)
- C#项目打包,并自动安装SQL数据库(转)
- Hadoop--MapReduce_Hadoop序列化
- 【0xC1900101】BOOT过程中的SAFE_OS阶段安装win10失败的解决方法
- XYGame-AI设计3-行为树-第1版本
- grep命令--文件过滤分割与合并
- 还在忍受磁力搜索网站不忍直视的广告么?18年最新最好用的bt磁力搜索网站介绍
- 商品档案,文具五金服装鞋帽酒店烟酒饰品,日用百货超市,批发零售进销存收银财务一体管理软件
- MEGA-X 3D打印机教程:05_更换步进电机驱动
- Mysql查询性能优化-善用Explain语句
- Java中Arrays.sort()的三种常用用法(自定义排序规则)
- FFmpeg 音视频截取
- pandas取出特定行列数据
- 权限系统表 | 全方位认识 mysql 系统库(一)
- 如何对复杂的项目工作进行分解?
- ckeditor粘贴上传图片
- 实施参照完整性的作用
热门文章
- C语言 | 快速了解C的发展史
- 关于JsBarcode.all.js
- VMware虚拟机 桥接模式 无法上网 校园网
- 马尔萨斯 ( Malthus)人口指数增长模型Logistic 模型
- 基于知识图谱的DNS Query Flood攻击检测研究
- 华硕b85主板进不去linux系统,华硕b85主板装不上win7怎么办_华硕b85主板无法安装win7怎么解决-系统城...
- [笔记] JSP 与 JSPX 语法差异对比 [草稿,待续]
- matlab中常微分方程数值计算的方法
- snakeyaml 简介、中文文档、中英对照文档 下载
- SQL server求移动平均、rolling sum滚动前多少行求和