第七课——电位器控制LED灯亮度

来自Microduino Wikipedia
316128344@qq.com讨论 | 贡献2015年4月22日 (三) 11:39的版本 (Created page with "== 目的 == 在上一个实验的基础上,我们把按键改成电位器,用电位器来控制LED的亮暗程度。 == 原理 == LED的亮暗程度依旧是PWM控制的...")
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索

目的

在上一个实验的基础上,我们把按键改成电位器,用电位器来控制LED的亮暗程度。

原理

LED的亮暗程度依旧是PWM控制的,本实验使用电位器作输入源,其实是在电路中把电位器的电阻量改变成电压量,并用某个模拟引脚去采样这个电压,用采集的电压的大小变化去控制PWM输出。

设备

硬件搭建

  • 硬件原理图

把电位器固定在面包板上,两端端分别接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的亮暗变化;
  • 本次实验的图形化程序和代码