看见帖子“有大神用过鸿璿的拉线编码器吗,楼主想用它测位移,知道玻璃所在”就做了一个简单的用法,再把示波器测得原理说明一下。希望对大家有帮助。
编码器一定要使用中断函数来编程,切记、切记、切记。
Aduino不同的板子对中断的用法是不一样的,支持的中断输入数量也不一样。

上图为不同板子支持中断的引脚和数量及函数调用值

编码器如果只接入电源正负,然后把A、B直接接入中断引脚,输出就是这个样子的,实际是无法触发,高电平只有600mV左右,所以必须引入电阻,对信号进行“上拉”。对于“上拉电阻””下拉电阻”的概念度娘有解释。

这个就是电路的链接图,画的直观一点,免得小白、新萌不会看电路原理图

顺时针旋转编码器,得到以上波形,请注意:蓝色方波在黄色方波的左侧;

反时针旋转编码器,得到以上波形,请注意:蓝色方波在黄色方波的右侧;这个也就是中断函数内if条件语句判断正转加法和反转减法的依据,就是我说的函数原理。其实,原理就这么简单。

搞了一个0.96的OLE作为输出显示,一个是角度,一个是所谓的“移动位移”(有人说是长度);注意2个2K欧姆的电阻。

反时针旋转编码器,得到负值

顺时针旋转编码器,得到正值
测试源码在2楼,都已经进行标注,已经测试,请放心使用。
编码器一定要使用中断函数来编程,切记、切记、切记。
Aduino不同的板子对中断的用法是不一样的,支持的中断输入数量也不一样。

上图为不同板子支持中断的引脚和数量及函数调用值

编码器如果只接入电源正负,然后把A、B直接接入中断引脚,输出就是这个样子的,实际是无法触发,高电平只有600mV左右,所以必须引入电阻,对信号进行“上拉”。对于“上拉电阻””下拉电阻”的概念度娘有解释。

这个就是电路的链接图,画的直观一点,免得小白、新萌不会看电路原理图

顺时针旋转编码器,得到以上波形,请注意:蓝色方波在黄色方波的左侧;

反时针旋转编码器,得到以上波形,请注意:蓝色方波在黄色方波的右侧;这个也就是中断函数内if条件语句判断正转加法和反转减法的依据,就是我说的函数原理。其实,原理就这么简单。

搞了一个0.96的OLE作为输出显示,一个是角度,一个是所谓的“移动位移”(有人说是长度);注意2个2K欧姆的电阻。

反时针旋转编码器,得到负值

顺时针旋转编码器,得到正值
测试源码在2楼,都已经进行标注,已经测试,请放心使用。