第六课——按键控制LED亮度
316128344@qq.com(讨论 | 贡献)2015年4月22日 (三) 11:12的版本 (Created page with "== 目的 == 在第二课LED呼吸灯实验的基础上,我们增加一个按键,用按键来控制LED的亮暗程度。 == 原理 == LED的亮暗程度是由于加在它...")
目的
在第二课LED呼吸灯实验的基础上,我们增加一个按键,用按键来控制LED的亮暗程度。
原理
LED的亮暗程度是由于加在它两端的电压大小不同导致的。因此我们可以通过调节PWM(脉冲宽度)在一个周期时间内各占的时间即占空比,来让某个引脚输出不同的电压,实现led亮度逐渐亮与逐渐灭。关于PWM详细参考: http://www.geek-workshop.com/thread-125-1-1.html
设备
- Microduino-Core/zh
- Microduino-USBTTL/zh
- 面包板跳线
- 面包板
- LED发光二极管 一个
- 按键 二个
硬件搭建
- 硬件原理图
把两个按键固定在面包板上,按键的一端分别接Microduino-core数据控制端D4、D5,另一端用杜邦线接到core的GND上;LED的阴极(引脚短)接Microduino的GND,阳极(引脚长)接Microduino数据控制口D11
- 搭建好硬件电路
软件调试
- 打开Arduino IDE, 根据你使用的核心板在Tools里面选择好Board(本次实验使用Microduino Core 328P@16M 5V),选择Serial Port,如果未能选择串口,可能是USB线接触不好或损坏,或者没安装USBTTL驱动。
- 在Tools里打开ArduBlock,开始编程。
- 在Control里使用“program”控件。函数说明参考前面课程
- 在setup中,选择Pins里面的“input pullup”控件,并在后面输入4,表示把D4引脚设置为上拉输入;
- 在loop中,我们需要对两个按钮做不同的控制,一个按钮用作调亮另一个用作调暗。因此需要选择两个if控件。
- 注意:
- 使用PWM控制11号口输出,变量n的取值范围是0-255 ,所以要在大于255的时候依旧保持255不变,在小于0的时候保持0不变。
结果
- 按up键,LED变亮;
- 按down键,LED变暗;
- 本次实验的图形化程序