|
各位前辈你们好,最近我在网上找到一个编码器型号是EVQWGD001,想连接在arduino nano上使用.
经过网络搜寻,看到这个链接:https://blog.csdn.net/lowbob/article/details/121073860
文章使用单片机对接了这个编码器,但是我想把它接到arduino nano上
按照文章的提示,我把这个编码器如图连接.
ab两个引脚分别接了10k的103电阻连在一起接在nano的gnd引脚,
a端接在d2引脚,b端接在d3引脚,两个引脚是可以使用中断判断
我的使用要求也是非常简单,利用d2,d3引脚中断判断这个滚轮是正转还是翻转
正转则position++,翻转就position--
使用的代码是站内的https://www.arduino.cn/thread-2423-1-1.html
经过反复修改代码.........一直出现16楼的情况,无论如何滚动,这个要么一直增加,要么一直减少,
https://www.arduino.cn/forum.php ... &fromuid=251864
期间一直改动这个HIGH和LOW的搭配,都是无效.
直到更换27楼的代码,确定是可以使用.
https://www.arduino.cn/forum.php ... &fromuid=251864
想请教前辈们,这两个代码他们的区别是什么?
为什么去掉(跳过)这段判断代码,不查询电平高低就生效了呢?
如果我把这段代码改为,左转绿色led闪,右转白色led闪是我下一步要做的.
// found a high-to-low on channel A ENA脚上升沿中断触发
else{
// check channel B to see which way 查询ENB的电平以确认是顺时针还是逆时针旋转
if (digitalRead(ENCODER_B_PIN) == LOW)
position--;
}
发这个贴子是这个编码器太少见了,也很少arduino使用案例.也谢谢前辈们分享自己的代码.
|
|