[开源硬件] Arduino入门教程--第七课--程序PWM控制LED亮度[呼吸灯]

liyuan66 2013-05-17

前两课我们用按钮,用电位器通过PWM方式调节LED的亮度,今天我们玩个简单的,纯粹用编程的手法来让LED渐明渐暗,如同呼吸一般,所以我们给它起了一个神奇的名字,呼吸灯。

其实本课的电路是这几课中最简单的。俗称最开始的质量最好,最后的偷工减料最严重。。。。。开个玩笑。

试验用元器件列表:


ocrobot mango控制板(Arduino兼容)   一块  
面包板   一块  
面包板专用跳线   一盒  
任意颜色LED   一个  
220欧姆电阻   一个  
USB数据线   一根  



准备好以上元器件,我们就着手设计电路图,如下图

arduino 呼吸灯  pwm

同样的,因为是PWM试验,所以LED的数字接口一定要选用带#号标识的数字口,只有带#号的数字输出口才具有硬件PWM输出功能。

然后我们就依据电路连接图来搭建自己的试验电路,我搭建的电路如下:


arduino 呼吸灯  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);                             //完成一个循环后等待的时间,单位毫秒
    }

 

转自:http://www.geek-workshop.com/forum.php?mod=viewthread&tid=1126

Global site tag (gtag.js) - Google Analytics