机缘巧合在网上认识一位12岁小同志,从零开始系统辅导其创客开发思维和技巧。
项目专栏:https://blog.csdn.net/m0_38106923/category_11097422.html
本篇博客来设计一款亮度可调节灯,一起看看吧~
亮度可调节灯,重点在于可调节,传统LED只有开(点亮)、关(熄灭)两种状态,通过PWM技术可实现对亮度的调节。
PWM官方名称叫:脉冲宽度调制,是一种模拟控制方式。利用微处理器的数字输出信号对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。
我们可以根据占空比和每秒重复占空比所需的频率轻松定义PWM技术。占空比突出显示信号在ON和OFF位置之间切换的时间,用百分比表示。如果信号在总占空比的一半保持开启,而在另一半保持关闭,则占空比将为50%。
下图以百分比形式显示了占空比,该占空比主要与波形上的ON和OFF数字信号相关。
假设高电平为5V、低电平则为0V,那么要输出不同的模拟电压就要用到PWM。通过改变IO口输出的方波的占空比,从而获得使用数字信号模拟成的模拟电压信号。
电压是以一种脉冲序列被加到模拟负载上去的,接通时是高电平1,断开时是低电平0。接通时直流供电输出,断开时直流供电断开。通过对接通和断开时间的控制,理论上来讲,可以输出任意不大于最大电压值5V的模拟电压。
比方说,占空比为50%那就是高电平时间一半,低电平时间一半。在一定的频率下,就可以得到模拟的2.5V输出电压。那么75%的占空比,得到的电压就是3.75V,如下图所示:
也就是说,在一定的频率下,通过不同的占空比即可得到不同大小的输出模拟电压,PWM就是通过这种原理实现数字模拟信号转换的。
一般人眼睛对于80Hz以上刷新频率则完全没有闪烁感,那么我们平时见到的LED灯,当它的频率大于50Hz的时候,人眼就会产生视觉暂留效果,基本就看不到闪烁了,而是误以为是一个常亮的LED灯。
由于频率很高时看不到闪烁,占空比越大LED越亮,占空比越小LED越暗。所以,在频率一定时,可以用不同占空比改变LED灯的亮度。
PWM调节灯亮度原理就是通过改变占空比改变LED亮度,实现调节亮、灭程度的效果。
我准备使用使用旋转电位器控制LED灯实现亮度可调节,旋钮电位器是模拟电压输出信号接线在模拟信号端口,LED灯接在可输出PWM信号的数字端口,接线如下所示:
通过编程控件可知,PWM输出范围在0~250之间,效果如下所示:
接下来需要了解旋钮电位器ADC采样数值的范围,转动旋钮电位器,使用串口打印数值范围是0~1023之间,效果如下所示:
所以可以设计,若旋钮数值超过250,则一直保持250最大值输出,程序设计如下所示:
最后就可实现调光效果啦。