前言:使用最简单粗暴的方式实现编码器的使用,简单易懂,准确率高
(资料图)
编码器原理图:
一共只有四个重要引脚,分别是com:公共端,接GND或者VCC都行,如果接GND则IO上拉,接VCC则IO下拉,S:按钮检测(编码器自带了一个按键),A/B:AB线,用于检测编码器正反转以及转了几格
编码器AB线规律:
A线默认电平状态永远是1,只有在编码器拨动一格的时候会先变0,随后恢复成1
B线默认电平状态不稳定,在编码器不拨动完整一格的情况下,轻微顺时针触碰拨盘会变1,轻微逆时针触碰拨盘会变0
根据这个规律来完善逻辑:当A线从0变化为1时,说明编码器已经被拨完了完整的一格,由于B线的状态只要轻轻的触碰就能改变,所以此时B线的值 由 拨动时 是 顺时针旋转还是逆时针旋转决定,如果读出为1,则说明刚刚顺时针拨动了一格
代码实现:
所有实现加在一起只有大约40行的代码,核心逻辑只有16行代码,非常简明简单,接下来解释一下工作流程:
流程:
1、初始化相关的GPIO,由于我的COM端接GND,所以将相关的IO配置为上拉输入
2、定义一个标志位flag,用于控制是否进行接下来的判断
3、循环中判断A线的状态是否为0,如果为0,则将flag置1,以进行等待A线变为1的操作
4、循环等待A线由0变1,说明已经拨动了一格,此时及时读取B线的值即可判断出当前是顺时针旋转还是逆时针旋转,然后将flag置0,等待下次触发
总结:
使用IO查询法做的编码器读取,读取速度为1ms,这就注定了不能转的太快,实测10ms拨一格,不会出现误判的情况,实际上正常使用,即使是快速旋转的时间间隔也基本是20ms以上,基本上可以保障准确率,但是如果非要猛转它,那就只能使用其他外设解决了
后记(吐槽):正交编码器是个好东西,一个编码器就可以顶替掉三个普通按键的功能(正转,反转,按下),而且体验上比传统按键好得多,搓编码器很解压,但是,但是,但是,怎么使用编码器是个问题,之前有大概了解过,网上资料给我的感觉就是挺麻烦挺不好做的,STM32官方已经适配了正交编码器的接口,直接可以使用,ESP32好像没有,需要自己实现,话不多说先去百度一波,搜索“esp32 正交编码器”,搜出不少内容,点开第一个链接,好,csdn付费专栏,我**&%¥#@#¥&,第二个链接说的是使用ESP的pcnt功能实现读取编码器,但是代码好多好复杂,不想看,第三个链接也是csdn的,写的还不错的,用的中断和队列,优雅但复杂,暂时跳过,再从后面的链接开始基本上就没什么相关的东西了,要么是arduino,要么是stm32,要么就是单纯编码器的介绍,那么去bilibili搜索一下正交编码器好吧,结果出来的内容要么就是只有几分钟的成果演示,要么就是好几十分钟的长篇大论,但是我只是想简单的了解一下编码器的工作流程,然后能够用起来就好了,我并不想听好几十分钟的篇幅给我介绍编码器的各种详细数据、类型、各种无关紧要的巴拉巴拉的东西,然后我一思索,这玩意就三四个脚,不至于那么难吧,于是就简单的用串口打印了一下编码器旋转时各个引脚的电平状态,稍微总结了一下变化规律,然后自己实现了功能,核心逻辑只有16行代码,完全可以胜任大部分日常使用的场景,比起各种教程里动辄几十上百行的代码,可以说是非常的简单明了了,唯一的缺点就是辛苦CPU以及不支持猛转编码器,不如中断或者其他外设来的优雅......到底还是自己给搞定了
现在找一篇干练一点的教程是真难啊,很多教学视频都是猛猛的灌水,没有干货,印象最深刻的一个视频教程,核心内容就一句话,但是视频愣是做了十几分钟,大概就是“同学们啊...额...这个...今天呢...我们来讲讲这个东西啊....嗯...咳咳...这个啊..就是这个还是很重要的...嗯...所以我们来讲讲...嗯啊...”这样的,还有就是操作不熟练就直接录教程,然后总是写错,通篇都在改错,要么就是视频声音听不清,我都要看自闭了还有网上抄来抄去的各种教程,十几个不同的网站但是里面的内容一模一样,也不知道谁抄的谁,原作者都找不到了,现在像这样的教程越来越多,导致很多干货的教程都被淹没了,不容易找到,要么就是各种付费,今天就是找了半天没找到什么心仪的教程,有感而发写下这篇专栏
不过话说回来,有人愿意免费出教程就不错了,总比啥都没得看强,希望本教程对你有所帮助(*゜ー゜*)
关键词:
-
ESP32使用正交编码器教程(IDF)
前言:使用最简单粗暴的方式实现编码器的使用,简单易懂,准确率高编码
-
软银投资日本机器人初创公司Telexistence
7月6日,据TechCrunch报道,总部位于东京的机器人初创公司Telexistence
-
7月6日景顺长城MSCI中国A股国际通ETF净值下跌0.58%
7月6日,截至收盘,景顺长城MSCI中国A股国际通ETF(512280)较前一交易
-
文旅融合玩出“味” 江西安远打造非遗传承活名片
安远采茶戏是流传于江西省赣州市安远县的传统戏剧,至今已传承400多年
-
7天、15亿、3家子公司:运营商的行业“野心”
近日,中国电信注册成立三家子公司的消息再度刷屏,引起众多关注。国家
-
“机器人比人多”!马斯克等畅想AI未来:人类将进入非常富足的时代!
【“机器人比人多”!马斯克等畅想AI未来:人类将进入非常富足的时代!
-
中兴通讯逆势获北向资金净买入4.44亿元
【中兴通讯逆势获北向资金净买入4 44亿元】7月6日,北向资金午后逐步离
-
巨能股份龙虎榜数据(7月6日)
证券时报网讯,巨能股份(871478)今日上涨5 67%,全天换手率24 51%,
-
2023天津欢乐谷POGO电音节如何购票?
➤➤2023天津欢乐谷POGO电音节如何购票?购票入口:扫码购买参与方式:
-
亚康股份:拟2000万元参设私募基金,投向人工智能、工业互联网、物联网、算力中心等行业
亚康股份7月6日公告,公司作为有限合伙人与北京国信中数投资管理有限公
-
世界今日讯!江西南昌关于调整企业退休养老金时间2023?个人养老金如何领取?
@南昌注意了!截止目前,时间已经来到了7月6日周四了,2023年下半年来
-
当前焦点!基金投顾业务要以发展促规范
监管部门要持续跟踪市场发展,特别是跨周期背景下的业务运行变化,根据
-
因抑郁离世令人痛惜!要善待身边每一位微笑的“李玟”-天天热议
7月5日,著名歌手李玟不幸离世。据其家人介绍,李玟于数年前患上抑郁症
-
延吉:多管齐下确保燃气安全-天天微资讯
燃气安全事关千家万户,连日来,延吉市多管齐下全面开展燃气安全整治行
-
普里戈任与白俄总统达成协议 同意停止在俄领土行动
据俄媒当地时间6月24日报道,俄罗斯私营军事集团“瓦格纳”创始人叶夫
-
巫族十二祖巫图片(巫族的十二祖巫)|全球消息
关于巫族十二祖巫图片,巫族的十二祖巫这个很多人还不知道,现在让我们
-
调研报告的格式范文(调研报告的格式)
今天小红来为大家带来的是调研报告的格式范文,调研报告的格式,让我们
-
银行稳健型理财产品_稳健型理财产品 全球热门
1、很多理财产品都自我标榜为“稳健”型理财产品,投资者也认为这类理
-
全球消息!临夏,竟然这么美!
当我们在谈论临夏之美时我们在谈论什么?或许是一山一水一曲歌一花一石
-
全球速讯:阿拉德之怒复古版哪个最火 阿拉德之怒复古版手游合集
阿拉德之怒是当下一款非常热门的地下城格斗手游,下面小编就为大家整理