美文网首页
旋转编码开关

旋转编码开关

作者: Simpreative | 来源:发表于2020-05-23 15:49 被阅读0次

    可能一开始接触这个会很懵,但其实这个很容易理解,内部有两个开关,在正旋转和反旋转时候会按顺序切换,因此共有四种状态:00,01,10,11,这个图会容易理解一些:

    接线示意图 旋转时,两个开关交替切换状态

    因此只需读出此时两个开关状态,并和之前作比较,很容易能得出是在正旋转还是反旋转,很巧妙。

    接下来是编程,网上看了好多讲这个编程的,有用什么异或运算的,还有写非常复杂的状态比较的,都比较难懂,我最终发现了一个非常巧妙的算法:

    转自一个不错的Arduino库: https://github.com/PaulStoffregen/Encoder

    本质上是,定义一个变量,把新读到的状态放到[3:2]位,第[1:0]位存储之前的状态,这样一共就有了16个状态,一下就可以做出判断了。

    相关文章

      网友评论

          本文标题:旋转编码开关

          本文链接:https://www.haomeiwen.com/subject/ditlahtx.html