第七课——电位器控制LED灯亮度
316128344@qq.com(讨论 | 贡献)2015年4月22日 (三) 11:39的版本 (Created page with "== 目的 == 在上一个实验的基础上,我们把按键改成电位器,用电位器来控制LED的亮暗程度。 == 原理 == LED的亮暗程度依旧是PWM控制的...")
目的
在上一个实验的基础上,我们把按键改成电位器,用电位器来控制LED的亮暗程度。
原理
LED的亮暗程度依旧是PWM控制的,本实验使用电位器作输入源,其实是在电路中把电位器的电阻量改变成电压量,并用某个模拟引脚去采样这个电压,用采集的电压的大小变化去控制PWM输出。
设备
- Microduino-Core/zh
- Microduino-USBTTL/zh
- 面包板跳线
- 面包板
- LED发光二极管 一个
- 电位器 一个
硬件搭建
- 硬件原理图
把电位器固定在面包板上,两端端分别接Microduino-core数据控制端Vcc、GND,中间端用杜邦线接到core的A0上;LED的阴极(引脚短)接Microduino的GND,阳极(引脚长)接Microduino数据控制口D3,core上需要选择有3、5、11、9、10、11数字口才能PWM控制
- 搭建好硬件电路
软件调试
- 打开Arduino IDE, 根据你使用的核心板在Tools里面选择好Board(本次实验使用Microduino Core 328P@16M 5V),选择Serial Port,如果未能选择串口,可能是USB线接触不好或损坏,或者没安装USBTTL驱动。
- 在Tools里打开ArduBlock,开始编程。
- 在Control里使用“loop”控件。函数说明参考前面课程
- 在math中选择map控件,函数说明:
- 功能:将某个区间范围值映射到另外一个区间范围;
- 语法:map(value, fromLow, fromHigh, toLow, toHigh)
- value:函数返回值
- fromLow:父本区间下限值
- fromHigh:父本区间上限值
- toLow:映射区间下限值
- toHigh:映射区间上限值
- 设置map函数的参数,第一个参数就是模拟引脚A0,后面的参数上固定的,从0-1024映射到0-255
- 把map的返回值送给数字引脚D3,即PWM输出
结果
- 调节电位器可以看到LED的亮暗变化;
- 本次实验的图形化程序和代码