一.简介
此编码器可以是功能非常强大,可以检测左右转动,和按键按下,所以说这一个编码器可以抵三个按键,而且体积非常小,使用起来比三个按键要高大尚,而且驱动也简单。唯一不足的点就是价格有点小贵6-8元才能买一个。
二. 驱动
先来介绍一下原理图,PUSH为按键,默认输出为低电平,A,B是旋转编码器的两个相位,默认输出为高电平(进行了上拉操作)
这个按键和普通按键一样,就不介绍了。直接来看AB两个相位。
原理图上给的波形图如下,
先看CW方向,由于默认是高电平,以A相为主,先看下降沿,在看上升沿。可以看出
下降沿: A = 0 , B = 1
上升沿: A = 1 , B = 0
然后同理CCW方向
下降沿: A = 0 , B = 0
上升沿: A = 1 ,B = 1
看完这波形,是不是就差不多知道如何编写代码啦,设置A相为上升和下降沿中断,第一次进入的肯定是下降沿(默认是高电平),
第二次肯定是上升沿。简单点的话,只需要在上升沿判断AB两相的电平即可,但是这样不太稳定,所以将下降沿AB两相的电平状态也纳入判断中,这样就基本上不会出现错误判断了。
代码如下 非常简单