全彩RGB呼吸灯效果实现——PWM方式
全彩LED 灯控制原理:
使用STM32控制LED灯输出多种亮度等级,可以通过控制输出脉冲的占空比来实现,见图1.
图1 不同占空比的PWM
示例图中列出了周期相同而占空比分别为100%、80%、50 和20%的脉冲波形,假如利用这样的脉冲控制LED 灯,即可控制LED 灯亮灭时间长度的比例。
若提高脉冲的频率,LED灯将会高频率进行开关切换,由于视觉暂留效应,人眼看不到LED 灯的开关导致的闪烁现象,
而是感觉到使用不同占空比的脉冲控制LED灯时的亮度差别,即单个控制周期内,LED灯亮的平均时间越长,亮度就越高,反之越暗,
把脉冲信号占空比分成256个等级,即可用于控制LED灯输出256种亮度,
使用三种这样的信号控制RGB灯即可得到256256256 种颜色混合的效果。而要控制占空比,直接使用STM32 定时器的PWM功能即可。
呼吸灯与PWM控制原理
呼吸的特性是一种类似图2中的指数曲线过程,吸气是指数上升过程,呼气是指数下降过程,成年人吸气呼气整个过程持续约3秒。
图2 指数曲线
1,要控制LED 灯达到呼吸灯的效果,实际上就是