有时候 手指碰到某个线路就误触发按键命令,请问应该怎样避免呢
本帖最后由 布列松 于 2015-1-12 13:15 编辑有时候 手指碰到某个线路就误触发按键命令,请问应该怎样避免呢,加电阻,还是加电容,在那里加。
已经解决了,逻辑如下:
有没有消抖?或者把消抖时间延长一点
if(key==1)
delay()
if(key==1)
do something 野鬼{ABO} 发表于 2015-1-8 00:00 static/image/common/back.gif
有没有消抖?或者把消抖时间延长一点
if(key==1)
delay()
消抖有用么,我是手指不小心碰到那种 利用類似消抖的原理, 把按一下就觸發的程式, 改成按住 0.5 秒或更長時間才觸發.
除非你的誤碰也會有長時間的接觸, 否則輕輕一碰的應該可以被忽略的. 接电阻拉高,或者拉低 误触发两种,一种是按键时稳定,这种情况需用防抖程序或硬件,另一种电路感应,这种往往是输入口的高阻抗感应造成的,根据电路加上拉电阻或下拉电阻即可.上拉还是下拉看按键的设计,如按键按下是接地那就需要使用上拉,反之亦然. 增大电路延时, suoma 发表于 2015-1-8 18:09 static/image/common/back.gif
增大电路延时,
的确是这样做,我写了 if =3000ms 才触发按钮事件,不过电路感应的问题其实还未解决。。。。。。 担心现在天气还会触发静电什么的。。。。。。 布列松 发表于 2015-1-8 01:01 static/image/common/back.gif
消抖有用么,我是手指不小心碰到那种
加消抖动电路,是为了防止误动作 suoma 发表于 2015-1-11 09:11 static/image/common/back.gif
加消抖动电路,是为了防止误动作
消抖是把按钮的触发延迟,以去除了里面铁片弹动的误触发,但是我这个问题不是 消抖解决的,是要求系统判断按钮触发了3秒才触发命令,来避免手指误接触电路感应了按钮的命令(这个错误感应可能是500ms,也可能是1s,但总之这些都不成立。)
页:
[1]