和 12 岁小同志搞创客开发:设计一款亮度可调节灯

机缘巧合在网上认识一位 12 岁小同志,从零开始系统辅导其创客开发思维和技巧。

项目专栏:https://blog.csdn.net/m0_38106923/category_11097422.html
本篇博客来设计一款亮度可调节灯,一起看看吧~
亮度可调节灯,重点在于可调节,传统 LED 只有开(点亮)、关(熄灭)两种状态,通过 PWM 技术可实现对亮度的调节。
PWM 官方名称叫:脉冲宽度调制,是一种模拟控制方式。利用微处理器的数字输出信号对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。
我们可以根据占空比和每秒重复占空比所需的频率轻松定义 PWM 技术。占空比突出显示信号在 ON 和 OFF 位置之间切换的时间,用百分比表示。如果信号在总占空比的一半保持开启,而在另一半保持关闭,则占空比将为 50%。
下图以百分比形式显示了占空比,该占空比主要与波形上的 ON 和 OFF 数字信号相关。

PWM 调节灯亮度原理就是通过改变占空比改变 LED 亮度,实现调节亮、灭程度的效果。
我准备使用使用旋转电位器控制 LED 灯实现亮度可调节,旋钮电位器是模拟电压输出信号接线在模拟信号端口,LED 灯接在可输出 PWM 信号的数字端口,接线如下所示:

通过编程控件可知,PWM 输出范围在 0~250 之间,效果如下所示:

接下来需要了解旋钮电位器 ADC 采样数值的范围,转动旋钮电位器,使用串口打印数值范围是 0~1023 之间,效果如下所示:

所以可以设计,若旋钮数值超过 250,则一直保持 250 最大值输出,程序设计如下所示:

最后就可实现调光效果啦。

版权声明: 本文为 InfoQ 作者【不脱发的程序猿】的原创文章。
原文链接:【http://xie.infoq.cn/article/1995b8e5b01a89493346c4fc3】。文章转载请联系作者。
评论