本帖最后由 迷你强 于 2016-9-10 14:18 编辑
前两课我们用按钮,用电位器通过PWM方式调节LED的亮度,今天我们玩个简单的,纯粹用编程的手法来让LED渐明渐暗,如同呼吸一般,所以我们给它起了一个神奇的名字,呼吸灯。
其实本课的电路是这几课中最简单的。俗称最开始的质量最好,最后的偷工减料最严重。。。。。开个玩笑。
试验用元器件列表:
ocrobot mango控制板(Arduino兼容) | 一块 | 面包板 | 一块 | 面包板专用跳线 | 一盒 | 任意颜色LED | 一个 | 220欧姆电阻 | 一个 | USB数据线 | 一根 |
准备好以上元器件,我们就着手设计电路图,如下图
同样的,因为是PWM试验,所以LED的数字接口一定要选用带#号标识的数字口,只有带#号的数字输出口才具有硬件PWM输出功能。
然后我们就依据电路连接图来搭建自己的试验电路,我搭建的电路如下:
好了,下面大家来看程序,这可是今天的主角:
希望大家自己动手调整几个延时参数,让呼吸灯的效果更真实,具有美感
- /*
- 作者:极客工坊
- 时间:2012年6月8日
- IDE版本号:1.0.1
- 发布地址:www.geek-workshop.com
- 作用:通过循环语句控制PWM来达到呼吸灯效果
- */
- void setup ()
- {
- pinMode(11,OUTPUT);
- }
- void loop()
- {
- for (int a=0; a<=255;a++) //循环语句,控制PWM亮度的增加
- {
- analogWrite(11,a);
- delay(8); //当前亮度级别维持的时间,单位毫秒
- }
- for (int a=255; a>=0;a--) //循环语句,控制PWM亮度减小
- {
- analogWrite(11,a);
- delay(8); //当前亮度的维持的时间,单位毫秒
- }
- delay(800); //完成一个循环后等待的时间,单位毫秒
- }
复制代码
然后,我们将程序下载到ocrobot mango(Arduino兼容)控制板中,就能看到效果了,下面的视频是我的试验演示效果。
==========分割线 下面为扩展阅读==========
本次实验所用到的语法请点击关键字进入极客工坊WIKI查看,词条内容在WIKI中不定期更新。
void
setup()
loop()
pinMode()
analogWrite()
int
<=
++
delay()
|