发明内容
本发明所要解决的技术问题是:提供一种电容式按键灵敏度调整的方法及系统,可对电容式按键灵敏度进行调整,避免因按键灵敏度降低或者失效时造成的用户抱怨,同时提升了用户体验。
为了解决上述技术问题,本发明采用的技术方案为:提供一种电容式按键灵敏度调整的方法,包括:
S1:获取由电容式按键构成线路的频率输出值;
S2:判断所述输出值是否在预设值区间外;
S3:根据预定模式,选择性调整所述电容式按键灵敏度。
其中,步骤S1之前,还包括步骤S0:预设系统的输出计数器与校准计数器的值为0。
其中,执行步骤S3时,具体为:
S31:响应当前操作按键的功能;
S32:将所述输出计数器和/或所述校准计数器清零;
S33:返回步骤S1。
其中,步骤S1具体为:
S11:启动系统,并初始化所述系统;
S12:所述系统扫描所述线路并获取所述线路的频率输出值。
其中,在步骤S2之前,还包括:
S21:设定第一预设值区间及第二预设值区间;具体为:
S211:设定预设值P及第一差值X1、第二差值X2;其中,所述第一差值X1大于所述第二差值X2;
S212:设定所述第一预设值区间的端点为P±X1,所述第二预设值区间的端点为P±X2。
其中,S2步骤具体为:
S22:判断所述输出值是否在所述第二预设值区间内;
若是,则返回步骤S1;
反之,则执行步骤S23;
S23:判断所述输出值是否在所述第一预设值区间内;
若是,则执行步骤S24:所述输出计数器的值加1;
反之,则执行步骤S3。
其中,在步骤S24之后,还包括步骤S25:判断所述输出计数器的值是否大于等于按键数预设值;
若是,则执行步骤S26;
反之,则执行步骤S1。
其中,执行步骤S26时,具体为:
S261:提醒用户当前按键灵敏度与用户操作不匹配;
S262:将所述输出计数器清零;
S263:读取校准计数器的值。
其中,在步骤S263后,还包括步骤S27:判断所述校准计数器的值是否为0;
若是,则执行步骤S28:识别当前频率输出值,并设为新的预设值,且所述校准计数器值加1;
反之,则执行步骤S29:设定差值递减值X3,并设定第一差值为X1-X3;
在执行步骤S28或S29后,返回步骤S1。
为解决上述问题,本发明还提供一种电容式按键灵敏度调整系统,包括:
获取模块,用于获取由电容式按键构成线路的频率输出值;
判断模块,用于判断所述输出值是否在预设值区间外;
调整模块,用于根据预定模式,选择性调整所述电容式按键灵敏度。
本发明的有益效果在于:区别于现有技术,本发明获取线路的频率输出值,判断其是否位于预设值区间外,进而根据对应的调整模式,选择性的调整按键灵敏度,本发明将按键灵敏度设定成最适合用户使用的状态,从而提升用户体验度。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图予以说明。
请参照图1,本发明方法实施例一提供一种电容式按键灵敏度调整的方法,包括如下步骤:
S1:获取由电容式按键构成线路的频率输出值;
S2:判断所述输出值是否在预设值区间外;
S3:根据预定模式,选择性调整所述电容式按键灵敏度。
区别于现有技术,本发明实施例一获取由电容式按键构成线路的频率输出值,判断其是否位于预设值区间外,进而根据对应的调整模式,选择性的调整按键灵敏度,本发明将按键灵敏度设定成最适合用户使用的状态,从而提升用户体验度。
其中,如图2所示,在实施例一的基础上,本发明方法实施例二在步骤S1之前,还包括步骤S0:预设系统的输出计数器与校准计数器的值为0。其中,输出计数器反映的是用户按键的次数,通过感应用户的按键,输出计数器输出显示用户按键次数。校准计数器则是在输出计数器记录按键次数达到一定程度时,系统才开始执行校准,并记录输出系统校准的次数。
其中,本发明实施例二在执行步骤S3时,具体执行如下步骤:
S31:响应当前操作按键的功能;
S32:将所述输出计数器和/或所述校准计数器清零;
S33:返回步骤S1。
在调整前,系统应当获取用户按键的指令信息,并响应用户的操作功能,在调整时,针对调整的过程,需要对输出计数器或者校准计数器的至少一个进行清零,通常是两个计数器均要清零。并返回步骤S1,重新获取频率输出值,以检验之前所做的调整是否满足用户要求。因此本发明的调整按键灵敏度的方法是一个循环的过程,直到符合要求为止。
其中,在执行步骤S1时,可具体执行如下步骤:
S11:启动系统,并初始化所述系统;
S12:所述系统扫描所述线路并获取所述线路的频率输出值。
设备开机初始化后,系统按一定频率对由电容式按键构成的线路的输出值进行扫描。在一定的扫描周期内,侦测输出值。在一个具体的实施例中,如图3、图4所示,线路原理图中,包括电容式按键Cp、充电电流源VDD、比较器CMP、复位开关K1、用户模块PWM以及计时器Timer;电容式按键Cp上的电压Vt在电流源作用下线性增长,直到达到阈值电压Vth时比较器CMP输出高电平,使复位开关开通,Cp电压复位到地,复位开关断开,Cp再次充电,如此反复如图3所示。
则电容式按键电压Vt取决于充电电流Icharge:
Vt=Icharge*t/Cp;
当电压Vt充电达到比较器的阈值电压Vth时,所用时间:
t=Cp*Vth/Icharge;
因此,振荡器的输出频率为:
Fosc=1/t/=Icharge/(Cp*Vth);
对其在一定时间内的输出的周期进行计数,由一个系统时钟分频后的固定时钟信号VC3控制PWM用户模块,其输出启动一个16位的计时器Timer,振荡器的输出作为计时器的时钟输入端,计数器在PWM门控周期Tcount结束时读出。
计数器在Tcount时间内对振荡器输出计数值:
n=Tcount/t=(Tcount*Icharge)/(Vth*Cp);
当有按键时,待测电容值变为(Cp+Cf),其中Cf是Cp的变化值,是ΔCp,计数值n减小。因此,判断有按键的方法即通过无按键时的计数值与当前计数值比较而得,计数差值可得:
△n=((Tcount*Icharge)/Vth)*Cf/(Cp*(Cp+Cf));
由以上两式结合,可得到决定开关灵敏度的计数差值:
△n=n*Cf/(Cp+Cf);
其中,当Cf足够小时,即limCf=0,则上述△n=n*Cf/Cp。
进一步的,以上只列举了在单位时间内,侦测周期数变化的频率法,应当理解的是,目前还有电流与电压相位差检测法、充放电时间差检测法等同样适用于本发明,此处不再赘述。
图5为本发明采用的系统模块框图。其中,
CY8C21434芯片:美国赛普拉撕半导体公司(Cypress)提供的片上可编程系统芯片(PSoC)系列的CY8C21434,芯片CY8C21434负责处理电容式按键传过来的电容值信号,得到相应按键值。
触摸按键板是一块集成了电容式按键的PCB。
CPU用于接收键值,并做相应处理。
Beep:蜂鸣器,对用户的按键动作进行声音提示。
LEDSTB:待机指示灯信号。
TX:串口输出,输出数据用于分析代码。
LED0∽LED6:按键指示灯。
IO1∽IO3:将按键值通过IO1∽IO3通道送到CPU。
应当理解的是,以上只是列举了一种系统模块框图方案,实际上要实现本发明的系统模块框图方案还有很多,并不限制其他可行的方案。
其中,本发明实施例二在步骤S2之前,还包括执行如下步骤:
S21:设定第一预设值区间及第二预设值区间;具体为:
S211:设定预设值P及第一差值X1、第二差值X2;其中,所述第一差值X1大于所述第二差值X2;
S212:设定所述第一预设值区间的端点为P±X1,所述第二预设值区间的端点为P±X2。
因此在具体执行S2为:
S22:判断所述输出值是否在所述第二预设值区间内;
若是,则返回步骤S1;
反之,则执行步骤S23;
S23:判断所述输出值是否在所述第一预设值区间内;
若是,则执行步骤S24:所述输出计数器的值加1;
反之,则执行步骤S3。
即在扫描周期内,侦测到频率输出值有变化时,确认输出值是否在第二预设值范围(P-X2,P+X2)内,若超出第二预设值范围(P±X2),执行S23:判断所述输出值是否在所述第一预设值区间(P-X1,P+X1)内,否则返回步骤S1,继续扫描获取输出值。若超出第一预设值范围(P±X2)且在第二预设值范围(P±X1)内,则执行S24:所述输出计数器的值加1,由于此时有用户的按键操作,因此输出计数器需要对其进行次数记录;若在第一预设值范围(P±X1)外,则执行S3,表示此时的误差过大,已经需要进行深层次的调整了。
其中,在步骤S24之后,还包括步骤S25:判断所述输出计数器的值是否大于等于按键数预设值;
若是,则执行步骤S26;
反之,则执行步骤S1。
其中,执行步骤S26时,具体为:
S261:提醒用户当前按键灵敏度与用户操作不匹配;
S262:将所述输出计数器清零;
S263:读取校准计数器的值。
其中,在步骤S263后,还包括步骤S27:判断所述校准计数器的值是否为0;
若是,则执行步骤S28:识别当前频率输出值,并设为新的预设值,且所述校准计数器值加1;
反之,则执行步骤S29:设定差值递减值X3,并设定第一差值为X1-X3;
在执行步骤S28或S29后,返回步骤S1。
具体地,输出计数器与校准计数器在调整前,系统均预设初值为0,且预设的输出计数器的按键数预设值为n,n为根据具体的灵敏度,而有所调整,可以为3、5或其他数字,表示用户连续按键达到3次、5次或其他的次数时,电子设备的屏幕还是没有作出响应用户的操作,则表示灵敏度需要调整了。具体地,可通过警告或提醒用户当前按键灵敏度与用户操作不匹配,如显示对话框等告知用户,或发出声音提示。当用户要调整时,输出计数器已经完成了该阶段的按键次数统计,因此需要清零,同时,校准计数器开始统计。本质上,步骤S261、S262分别与步骤S31、S32相同且一一对应。
本发明的实施例二中,当校准计数器的值为0时,表示频率输出值需要调整,则执行步骤S28,此时校准计数器还需要记录校准的次数。同时预设值差值也需要进行适应性调整,执行步骤S29:设定差值递减值X3,并设定第一差值为X1-X3。其中,X3为渐进性经验数值,由系统逐步验证并获得终值,即逐步缩小第一预设值区间范围,使得在按键数预设值n范围内的各个输出值可以落入该区间。在完成该调整操作后,即返回步骤S1,继续获取输出值,也可通过再次获得的输出值,对该调整进行验证。
进一步的,若按键有作用,但用户仍觉得灵敏度不够,可以在系统中设置,设置完后系统会从S29开始执行,即对预设值的调整是一次性的,而对差值的调整可以是多次的。
本发明实施例二可以在当电容式按键灵敏度降低或者失效时,系统会引导用户去对按键灵敏度进行重新调整,并提供了对灵敏度程度不同的调整方法,将按键灵敏度设定成最适合用户使用的状态,可以避免因按键灵敏度降低或者失效时造成的用户抱怨,同时提升了用户体验。
其中如图6所示,本发明根据上述方法提供一种电容式按键灵敏度调整系统100,包括:
获取模块110,用于获取由电容式按键构成线路的频率输出值;
判断模块120,用于判断所述输出值是否在预设值区间外;
其中,所述判断模块包括第一设定模块、第一判断模块、第二判断模块、第一执行模块、第三判断模块、第二执行模块、第四判断模块、第三执行模块、第四执行模块;
第一设定模块,用于设定第一预设值区间及第二预设值区间,具体为:设定预设值P及第一差值X1、第二差值X2,其中,所述第一差值X1大于所述第二差值X2,设定所述第一预设值区间的端点为P±X1,所述第二预设值区间的端点为P±X2;
第一判断模块,用于判断所述输出值是否在所述第二预设值区间内;
第二判断模块,用于判断所述输出值是否在所述第一预设值区间内;
第一执行模块,用于将输出计数器的值加1;
第三判断模块,用于判断所述输出计数器的值是否大于等于按键数预设值;
第二执行模块,用于提醒用户当前按键灵敏度与用户操作不匹配;将所述输出计数器清零及读取校准计数器的值;
第四判断模块,用于判断所述校准计数器的值是否为0;
第三执行模块,用于识别当前频率输出值,并设为新的预设值,且所述校准计数器值加1;
第四执行模块:设定差值递减值X3,并设定第一差值为X1-X3;
调整模块130,用于根据预定模式,选择性调整所述电容式按键灵敏度。
为了进一步说明上述技术方案,本发明以实际生活中的POS机为例,应当理解的是,本发明适用于其他含有电容式按键的电子设备中。