和12岁小同志搞创客开发:设计一款亮度可调节灯
本帖最后由 不脱发的程序猿 于 2021-6-23 12:49 编辑机缘巧合在网上认识一位12岁小同志,从零开始系统辅导其创客开发思维和技巧。
https://pic3.zhimg.com/v2-55cd444aa28f7efc0622c808ca49aae2_b.png
项目专栏:https://blog.csdn.net/m0_38106923/category_11097422.html
本篇博客来设计一款亮度可调节灯,一起看看吧~
亮度可调节灯,重点在于可调节,传统LED只有开(点亮)、关(熄灭)两种状态,通过PWM技术可实现对亮度的调节。
PWM官方名称叫:脉冲宽度调制,是一种模拟控制方式。利用微处理器的数字输出信号对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。
我们可以根据占空比和每秒重复占空比所需的频率轻松定义PWM技术。占空比突出显示信号在ON和OFF位置之间切换的时间,用百分比表示。如果信号在总占空比的一半保持开启,而在另一半保持关闭,则占空比将为50%。
下图以百分比形式显示了占空比,该占空比主要与波形上的ON和OFF数字信号相关。
https://pic2.zhimg.com/v2-8794be7702d7ca2dbfd52324716ee039_b.png
PWM调节灯亮度原理就是通过改变占空比改变LED亮度,实现调节亮、灭程度的效果。
我准备使用使用旋转电位器控制LED灯实现亮度可调节,旋钮电位器是模拟电压输出信号接线在模拟信号端口,LED灯接在可输出PWM信号的数字端口,接线如下所示:
https://pic3.zhimg.com/v2-424700754138f814647e2fcc7243ea12_b.png
通过编程控件可知,PWM输出范围在0~250之间,效果如下所示:
https://pic4.zhimg.com/v2-8c5e0f6ec2174a89209b143ca6eee21f_b.png
接下来需要了解旋钮电位器ADC采样数值的范围,转动旋钮电位器,使用串口打印数值范围是0~1023之间,效果如下所示:
https://pic3.zhimg.com/v2-b9f075be140f97b428811390351f78ae_b.png
所以可以设计,若旋钮数值超过250,则一直保持250最大值输出,程序设计如下所示:
https://pic2.zhimg.com/v2-66d2f23332a9bd072123bb026cf6fc59_b.png
最后就可实现调光效果啦。
https://pic1.zhimg.com/v2-3217f4b6eaab5603c8bc7d92cebd4154_b.png
页:
[1]