解决EC11编码器在瓶盖音量控制旋钮项目上按键误触发的问题
Hello,大家好我是狗抢,电子狗抢。
最近在复现一个简单的基于ATTINY85开发板的开源项目——瓶盖音量控制旋钮。https://www.bilibili.com/video/BV1q8411W7ug/?spm_id_from=333.999.0.0&vd_source=a991b0b3bc4a5f164a9dfb57cd236c94

这个项目结合了Bottle Cap Keyboard的外观和The Knob - Micro USB Media Controller (Digispark Arduino)的元器件和代码。
https://www.thingiverse.com/thing:3551855
https://www.thingiverse.com/thing:2970774


在实现的过程中我遇到了这样一个奇怪的问题:
有时候旋转编码器旋钮的时候,会出现程序识别成【下压摁键+旋转】的情况。
切换到程序的DEBUG状态,print输出为:
RIGHT_ACTION
RIGHT_ACTION
RIGHT_ACTION
RIGHT_ACTION
RIGHT_ACTION
RIGHT_ACTION
RIGHT_ACTION
RIGHT_ACTION_MODE1
RELEASED_AFTER_HELD_ROTATION
最后的两行就是有问题的地方,本来我是一直向右旋转编码器的,但是有时候程序却识别为【编码器摁键下压+旋转】。
不知道是我的编码器有问题,还是我手上的ATTINY85开发板有问题。
最后我参考了立创上老鸽设计的【硬件滤波EC11编码器】原理图
https://oshwhub.com/Monnina/ying-jian-lv-bo-EC11bian-ma-qi
在编码器摁键的输出脚并联了一个10k电阻接到VIN,问题解决。
我的原理图大概是这个样子。

原项目里面,不是直接EC11编码器和开发板相连,而是使用的KY-040编码器模块。
但是这个模块好像也只有两个10k电阻,不清楚会不会出现编码器误摁的问题。

当然,这也并不是狗抢在复现这个项目时遇到的唯一问题。就是在这样一个类似于Hello World的小项目上,狗抢还遇到了各种奇怪的问题。之后会出个视频给大家介绍一下。
我是狗抢,我们下期再见。