Esp8266学习之旅④ 了解PWM,更为深入地用PWM控制一盏LED的亮度变化。(附带demo)


  • 本系列博客学习由非官方人员 半颗心脏 潜心所力所写,不做开发板。仅仅做个人技术交流分享,不做任何商业用途。如有不对之处,请留言,本人及时更改。

很多人怎么联系我一起学习进步,下面打个小小公告:
玩转带你飞、加群付费群,提高门槛,不喜的朋友勿喷勿加:434878850
esp8266源代码免费学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp8266
esp32源代码免费学习汇总(持续更新,欢迎star):https://github.com/xuhongv/StudyInEsp32

文章目录

    • @[toc]
    • 一、了解PWM的原理。
    • 二、8266硬件。
    • 三、电路图。
      • 3.1、电路图。
      • 3.2、代码。
        • 3.2.1 代码思路。

一、了解PWM的原理。


说到PWM,绝对大多数人的第一反应就是 方波 ,一折又一折的,看起来蛮有意思的,哈哈。不过,的确如此。

下面我大概地讲下PWM调光的原理。

  • 一般的,涉及到调光的亮度,大家都是想着用改变其通过其的驱动电流大小来改变亮度大小,的确如此,电流越小,那么其的亮度就越暗;反而,电流越大,亮度越亮。但是,不要超过最大电流,在额定电流±5%为好,小心您的灯会被烧坏。
  • 电阻调光时候,不知道大家有没有发现,每当你改变电阻大小,通过灯的电流都是瞬间改变的,所以您是无法想要你特定的亮度。
  • 而PWM调光是通过啥来调节灯的亮度呢实也是驱动电流大小。我们可以通过一个控制电压来惯性的成比例地控制LED的驱动电流来控制亮度,与上文说的方波就是一样的道理,占空比越大,亮度越暗。

所以,一句话:发射光的特性要随着驱动电流的大小改变而改变,而PWM就是有比例地控制电压来控制电流,从而稳定性地、平滑地控制驱动电流来控制灯的亮度。


二、8266硬件。


  • 下面是8266的SDK文档提到的PWM( 文档下载请在左边加群,或留言咨询):


  • 实物图,某淘宝链接仅做介绍:


3.2、代码。


3.2.1 代码思路。


1、初始化pwm(周期,占空比,3通道数)。


2、为了明显看到效果:我用定时器不断循环。



3、回调函数的display()。



国际案列(demo):https://github.com/xuhongv/StudyInEsp8266/tree/master/5_PWM_LED


声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2017年9月9日
下一篇 2017年9月9日

相关推荐