旋转编码器的使用

本文介绍了如何使用旋转编码器模块增强Arduino项目的交互性,包括精确控制和菜单操作。通过两个示例,一种是常规轮询使用,另一种是利用硬件中断提高响应速度,展示了旋转编码器的灵活性和实用性。

跟随虾哥项目实践,硬件选小智就对了

xiaozhi 开源方案官方适配,二次开发文档齐全

旋转编码器是一个精确旋转测定和点击合二为一的器件,用它来控制舵机比用电位器要精确得多,同时使用它也实现菜单的选择和修改设置项的值也比使用多个按键的方式方便很多。

在网上面很容易就找到这些便宜的器件,直接在TB上搜 旋转编码器 即可。
我买的旋转编码器模块有5个引脚,分别是GND, VCC(+), SW, DT, CLK。其中VCC和GND用来接电源和地,按缩写SW应该是Switch(开关)、CLK是Clock(时钟)、DT是Data(数据)。这个编码器的详细介绍可以看网上的资料,网上面还有不少的例子介绍这个编码器的使用,但在我看来这些例子都是用来讲述原理的,我还是觉得把这些代码封装成一个类来使用更为简单清晰,以下是我封装好再写的两个例子。

常规的使用:

#include "flexmisc.h"

//---------------------------------------------------------------------------------
/*
旋转编码器例子1,常规轮询使用
TFlexRotaryEncoder re(CLK, DT, SW);分别对应相应旋转编码器所连接的Arduino针脚;
如不方便在声明时确定对应的参数,也可以在实例化后使用bind来做后绑定。
编写:flexitime
2019-5-12
*/
//---------------------------------------------------------------------------------

TFlexRotaryEncoder re(2, 3, 4);

void reRotateEvent(int direct){
  Serial.print("Position: ");
  Serial.println(re.getCount());
  if (direct == 1)

跟随虾哥项目实践,硬件选小智就对了

xiaozhi 开源方案官方适配,二次开发文档齐全

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值