一种控制呼吸灯呼吸效果的方法技术

技术编号:16220153 阅读:32 留言:0更新日期:2017-09-16 02:30
本发明专利技术公开一种控制呼吸灯呼吸效果的方法,利用制图软件,用户可以自定义函数及相关参数,生成对应形状的曲线,再通过适当的采样来产生呼吸灯呼吸时所需要的PWM占空比数据,单片机按照一定的时间依次轮流调用上述产生的数据,从头到尾不停循环即可实现对应曲线的呼吸效果。即通过观察和调整曲线的形状实现对呼吸灯的呼吸节奏的控制,可以预先定义出曲线的形状,来感知呼吸的效果,而且形式多样化。

Method for controlling respiration effect of breathing lamp

The invention discloses a method for controlling the breathing light effect of breathing, using mapping software, the user can customize the function and the relevant parameters, corresponding to the formation of the shape of the curve, through appropriate sampling to generate breathing light breathing required PWM duty cycle data, MCU in accordance with certain time in turn calls the generated data stop the cycle can be realized from A to Z corresponding curve of the respiratory effect. That is, by observing and adjusting the shape of the curve, the respiratory rhythm of the breathing lamp can be controlled, and the shape of the curve can be defined in advance to sense the effect of respiration, and the form is varied.

【技术实现步骤摘要】
一种控制呼吸灯呼吸效果的方法
本专利技术涉及一种控制呼吸灯呼吸效果的方法,尤其涉及一种利用函数曲线控制呼吸灯呼吸效果的方法。
技术介绍
呼吸灯被广泛应用于数码产品,手机、电脑、音响、汽车等各个领域,起到很好的视觉装饰效果与状态提示作用。呼吸灯的实现可以通过纯粹的硬件电路来完成,也可以通过单片机编程更加灵活的控制其呼吸效果。用单片机控制呼吸灯的呼吸效果,其原理是通过控制PWM的占空比来完成对LED亮度的控制,PWM的占空比按照一定的规律变化就可以做出呼吸的效果。而呼吸灯呼吸时所需要的PWM占空比数据,目前都是靠经验值来给出的,未找到一套便捷直观的数据生成方法。经验值的办法是通过增加,删除,修改其中的某些数据来改变呼吸效果,不具有可预见性。因此,现有技术有待改进。
技术实现思路
针对上述现有技术中存在的问题,本专利技术的目的在于提供一种控制呼吸灯呼吸效果的方法,旨在克服现有呼吸灯呼吸节奏控制方法不可预见性的缺陷。本专利技术的技术方案如下:一种控制呼吸灯呼吸效果的方法,其中,包括以下步骤:(1)利用制图软件生成一条曲线,对曲线进行采样,把采样点值取整后有序的放入到一个数组CurDat里,定义到单片机程序里,供定时器中断处理函数调用;(2)单片机上电后,对定时器进行初始化,设置开启定时器的溢出中断,设置定时器预装载值,同时设置计数频率,确定PWM的输出频率,并配置PWM输出功能;(3)开启定时器,在定时器溢出中断处理函数里设置,每当中断到来,都会把CurDat当前索引下的数组值赋给通道比较寄存器CCR,使定时器输出的PWM占空比与CurDat里的索引值呈对应关系;如果索引值为数组CurDat的最后一个值,把索引值清零,指向数组的开始;否则索引值加一指向数组的下一个值。所述的控制呼吸灯效果的方法,其中,步骤(2)中,设置定时器预装载的值为所述曲线在采样范围内的最大值。所述的控制呼吸灯效果的方法,其中,步骤(1)中所述的制图软件为Matlab或者Origin。所述的控制呼吸灯效果的方法,其中,步骤(1)中所述曲线为正态分布曲线,所述采样点关于正态分布曲线的对称轴对称。所述的控制呼吸灯效果的方法,其中,步骤(1)中所述曲线为高斯曲线,其函数方程式为:。所述的控制呼吸灯效果的方法,其中,步骤(2)中,设置定时器预装载的值为A,定时器的计数频率为100A,使定时器每10ms溢出一次,PWM的输出频率为100Hz。所述的控制呼吸灯效果的方法,其中,所述高斯曲线中,A=1,,为0.5、4或8。所述的控制呼吸灯效果的方法,其中,步骤(1)中,在曲线横坐标-10到10的范围内进行200个点的采样。所述的控制呼吸灯效果的方法,其中,所述单片机的型号是STM32F1系列,采用定时器TIM4中的溢出中断和定时器的PWM输出功能。本专利技术的有益效果为:本专利技术提供一种控制呼吸灯呼吸效果的方法,利用制图软件,用户可以自定义函数及相关参数,生成对应形状的曲线,再通过适当的采样来产生呼吸灯呼吸时所需要的PWM占空比数据,把索引对应上述曲线的横坐标值,PWM占空比按照一定的比例关系对应曲线的纵坐标值,此时定时器输出的PWM占空比与上述曲线形状相似。单片机按照一定的时间依次轮流调用上述产生的数据,从头到尾不停循环即可实现对应曲线的呼吸效果。即通过观察和调整曲线的形状实现对呼吸灯的呼吸节奏的控制,可以预先定义出曲线的形状,来感知呼吸的效果,而且形式多样化。附图说明图1为本专利技术实施例中A=1,,分别为0.5、4、8时的三条高斯曲线。图2为本专利技术实施例的步骤流程图。具体实施方式为使本专利技术的目的、技术方案及效果更加清楚、明确,以下举实例对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅用于解释本专利技术,并不用于限定本专利技术。本实施例涉及一种控制呼吸灯呼吸效果的方法,其特征在于,包括以下步骤:(1)利用制图软件生成一条曲线,对曲线进行采样,把采样点值取整后有序的放入到一个数组CurDat里(索引即数组的索引,为采样点的横坐标值,索引到的数组值为对应取整后的纵坐标值),定义到单片机程序里,供定时器中断处理函数调用;(2)单片机上电后,对定时器进行初始化,设置开启定时器的溢出中断,设置定时器预装载的值和计数频率,确定PWM的输出频率,并配置PWM输出功能;(3)开启定时器,在定时器溢出中断处理函数中设置,每当中断到来,都会把CurDat当前索引下的数组值赋给通道比较寄存器CCR,使定时器输出的PWM占空比与CurDat里的索引值呈对应关系;如果索引值为数组CurDat的最后一个值,把索引值清零,指向数组的开始;否则索引值加一指向数组的下一个值。上述方法利用制图软件,用户可以自定义函数及相关参数,生成对应形状的曲线,再通过适当的采样来产生呼吸灯呼吸时所需要的PWM占空比数据,单片机按照一定的时间依次轮流调用上述产生的数据,从头到尾不停循环即可实现对应曲线的呼吸效果。即通过观察和调整曲线的形状实现对呼吸灯的呼吸节奏的控制,可以预先定义出曲线的形状,来感知呼吸的效果,而且形式多样化。作为优选的实施例,所述的控制呼吸灯效果的方法,步骤(2)中,设置定时器预装载值为所述曲线在采样范围内的最大值。由于定时器输出的PWM占空比=通道比较寄存器CCR值/预装载寄存器ARR值,因此,将定时器预装载值设置为曲线在采样范围内的最大值时,输出PMW占空比不会超过100%。实际应用中,可选择现有的多种制图软件生产曲线,比如Matlab或者Origin,而为了让呼吸灯的“呼”和“吸”对称,一般选用类似正态分布的曲线,比如正余弦曲线、高斯曲线等,且所述采样点关于正态分布曲线的对称轴对称。本实施例选用制图软件为Matlab生成高斯曲线为例进行说明,具体如何通过函数曲线控制呼吸灯呼吸效果的。高斯曲线是正态分布中的一条标准曲线,是一个钟状的对称曲线,函数表达式如下:其中,A表示曲线的峰值,表示曲线的中心位置,表示曲线的宽度,图1所示为A=1,,分别为0.5、4、8时的三条曲线。如果横轴表示时间t,纵轴表示归一化的LED亮度值,从上面的三条曲线可以判断出LED灯的呼吸效果:相对,呼吸灯的呼吸要急促一些,而时的呼吸比较缓慢,非常直观。本专利技术以A=1,为例进行说明。利用单片机程序控制PWM的占空比来控制LED的呼吸效果;单片机型号是STM32F103RBT6,用到定时器TIM4中的溢出中断和PWM输出功能。定时器每隔10ms产生一次溢出中断来改变PWM输出的占空比。如图2所示,首先用Matlab软件生成一条高斯曲线,其对应的函数表达式为:;在曲线横坐标为-10到10的范围内采集200个点,然后把采样点值(采样点对应的纵坐标值)取整后有序的放入到一个无符16位的数组CurDat里,定义到单片机程序里,供定时器中断函数调用。需要说明的是:取的点数会影响呼吸的流畅效果,越多越顺畅,平滑,本实施例中采样范围取-10到10是为了保证两端的采样点对应的纵坐标值接近0,从而确保对应输出的PWM占空比也接近0,相当于呼吸灯熄灭时的状态。单片机上电后,对定时器进行初始化,设置开启定时器的溢出中断,设置定时器预装载的值为A,定时器的计数频率为100A,这样定时器每10ms溢出一次,即PWM的输出频率为100Hz(定时器的本文档来自技高网...
一种控制呼吸灯呼吸效果的方法

【技术保护点】
一种控制呼吸灯呼吸效果的方法,其特征在于,包括以下步骤:(1)利用制图软件生成一条曲线,对曲线进行采样,把采样点值取整后有序的放入到一个数组CurDat里,定义到单片机程序里,供定时器中断处理函数调用;(2)单片机上电后,对定时器进行初始化,设置开启定时器的溢出中断,设置定时器预装载的值和计数频率,确定PWM的输出频率,并配置PWM输出功能;(3)开启定时器,在定时器溢出中断处理函数中设置,每当中断到来时,都会把CurDat数组当前索引下的数组值赋给通道比较寄存器CCR,使定时器输出的PWM占空比与CurDat里的索引值呈对应关系;如果索引值为数组CurDat的最后一个值,把索引值清零,并指向数组的开始;否则索引值加一指向数组的下一个值。

【技术特征摘要】
1.一种控制呼吸灯呼吸效果的方法,其特征在于,包括以下步骤:(1)利用制图软件生成一条曲线,对曲线进行采样,把采样点值取整后有序的放入到一个数组CurDat里,定义到单片机程序里,供定时器中断处理函数调用;(2)单片机上电后,对定时器进行初始化,设置开启定时器的溢出中断,设置定时器预装载的值和计数频率,确定PWM的输出频率,并配置PWM输出功能;(3)开启定时器,在定时器溢出中断处理函数中设置,每当中断到来时,都会把CurDat数组当前索引下的数组值赋给通道比较寄存器CCR,使定时器输出的PWM占空比与CurDat里的索引值呈对应关系;如果索引值为数组CurDat的最后一个值,把索引值清零,并指向数组的开始;否则索引值加一指向数组的下一个值。2.所述的控制呼吸灯效果的方法,其中,步骤(2)中,设置定时器预装载的值为所述曲线在采样范围内的最大值。3.根据权利要求1所述的控制呼吸灯效果的方法,其特征在于,步骤(1)中所述的制图软件为Ma...

【专利技术属性】
技术研发人员:韩防安昕张浠
申请(专利权)人:广东欧谱曼迪科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1