OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3348|回复: 0

【转】PWM实现呼吸灯效果

[复制链接]

4

主题

5

帖子

0

精华

新手上路

积分
26
金钱
26
注册时间
2017-7-13
在线时间
1 小时
发表于 2017-7-20 15:15:20 | 显示全部楼层 |阅读模式
转载自 亚博智能论坛


现在我们玩个有趣且简单的,纯粹用编程的手法来让LED渐明渐暗,如同呼吸一般,所以我们给它起了一个神奇的名字,呼吸灯。
试验用元器件:
Arduino一块、面包板一块、面包板专用跳线一盒、任意颜色LED一个、220欧姆电阻一个、USB数据线一根。
因为是PWM试验,所以LED的数字接口一定要选用带#号标识的数字口,只有带#号的数字输出口才具有硬件PWM输出功能。下面的示例选择的是#11口。
呼吸灯源码如下:


现在我们玩个有趣且简单的,纯粹用编程的手法来让LED渐明渐暗,如同呼吸一般,所以我们给它起了一个神奇的名字,呼吸灯。
试验用元器件:
Arduino一块、面包板一块、面包板专用跳线一盒、任意颜色LED一个、220欧姆电阻一个、USB数据线一根。
因为是PWM试验,所以LED的数字接口一定要选用带#号标识的数字口,只有带#号的数字输出口才具有硬件PWM输出功能。下面的示例选择的是#11口。
呼吸灯源码如下:
[mw_shl_code=c,true]void setup ()
{
  pinMode(11,OUTPUT);
}

void loop()
{
  //循环语句,控制PWM亮度的增加
  for (int a=0; a<=255;a++)
  {
    analogWrite(11,a);
    delay(8);//当前亮度级别维持的时间,单位毫秒
  }
  //循环语句,控制PWM亮度减小
  for (int a=255; a>=0;a--)
  {
    analogWrite(11,a);
    delay(8);//当前亮度的维持的时间,单位毫秒
  }
  delay(800);//完成一个循环后等待的时间,单位毫秒
}[/mw_shl_code]

很简单很简单的几句代码就能实现呼吸灯~
然后,我们将程序下载到Arduino板中,就能看到效果了。


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-25 06:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表