0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Arduino旋转编码器的教程

454398 来源:网络整理 作者:佚名 2019-10-31 08:59 次阅读

步骤1:旋转编码器的脉冲流

Arduino旋转编码器的教程

以下旋转编码器产生的脉冲流与上图类似。

步骤2:旋转编码器的引脚排列

说明:

GND-》 GND

+-》 + 5V

SW -》按下时旋转编码器的按钮

DT-》数据

CLK-》数据2

DT之一或CLK引脚必须连接到Arduino Uno的中断脚,或者DT和CLK都连接到中断引脚。

步骤3:示意图

GNDàGND Arduino Uno

+à+ 5V Arduino Uno

SWàPIN 4 Arduino Uno

DT àPIN 3 Arduino Uno

CLKàPIN2 Arduino Uno

第4步:代码

在以下教程中,PI将用作中断Arduino Uno的N 2,而PIN 3仅用作常规输入。

#define encoder0PinA 2

#define encoder0PinB 3

#define encoder0Btn 4

int encoder0Pos = 0;

void setup() {

Serial.begin(9600);

pinMode(encoder0PinA, INPUT_PULLUP);

pinMode(encoder0PinB, INPUT_PULLUP);

pinMode(encoder0Btn, INPUT_PULLUP);

attachInterrupt(0, doEncoder, CHANGE);

}

int valRotary,lastValRotary;

void loop() {

int btn = digitalRead(encoder0Btn);

Serial.print(btn);

Serial.print(“ ”);

Serial.print(valRotary);

if(valRotary》lastValRotary)

{

Serial.print(“ CW”);

}

if(valRotary {

Serial.print(“ CCW”);

}

lastValRotary = valRotary;

Serial.println(“ ”);

delay(250);

}

void doEncoder()

{

if (digitalRead(encoder0PinA) == digitalRead(encoder0PinB))

{

encoder0Pos++;

}

else

{

encoder0Pos--;

}

valRotary = encoder0Pos/2.5;

}

上面草图的第10行用于启用Arduino Uno的2号插针的中断。在“ doEncoder”功能中,由旋转编码器计算得出。如果DT和CLK(Arduino Uno的引脚中断)的值相同,则“ encoder0Pos”变量将增加/添加,除此条件外,“ encoder0Pos”变量将减少。

步骤5:说明

ValRotary值是已运行的步骤数的值。 ValRotary值由旋转传感器编码器读数值除以2.5获得。从测试中获得的值为2.5,因为旋转编码器的一个步骤可能会超过1,因此请根据每个步长以及读取延迟的增加将其值除以2.5。

第19-25行是确定旋转旋转编码器是CW还是CCW的程序。第19-25行的解释是当前的旋转编码器读数大于先前的旋转数据,然后表示为CW。

步骤6:输出

责任编辑:wv

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编码器
    +关注

    关注

    41

    文章

    3355

    浏览量

    131421
  • Arduino
    +关注

    关注

    184

    文章

    6425

    浏览量

    184767
收藏 人收藏

    评论

    相关推荐

    如何将增量旋转编码器Arduino连接

    在本教程中,您将学习如何将增量旋转编码器Arduino连接,以读取旋钮的运动。这对于在机器人和其他应用程序中创建用户界面或读取机械位置非常有用。
    的头像 发表于 02-11 10:00 348次阅读
    如何将增量<b class='flag-5'>旋转</b><b class='flag-5'>编码器</b>与<b class='flag-5'>Arduino</b>连接

    旋转编码器的工作原理,旋转编码器的作用功能及应用

    旋转编码器是用于测量轴或轴旋转的组件。它们通常用于音频设备、DIY 游戏控制器中的音量旋钮,或用作不同 Arduino 或 Raspberry Pi 项目的输入设备。
    的头像 发表于 02-11 09:53 1054次阅读
    <b class='flag-5'>旋转</b><b class='flag-5'>编码器</b>的工作原理,<b class='flag-5'>旋转</b><b class='flag-5'>编码器</b>的作用功能及应用

    编码器与PLC的接线方法

    编码器分为旋转编码器和线性编码器两种。旋转编码器用于检测旋转
    发表于 12-22 09:20 449次阅读
    <b class='flag-5'>编码器</b>与PLC的接线方法

    编码器的应用有哪些?编码器的五个主要特性

    旋转编码器可以精确地测量旋转运动。它们通常收集关于绕旋转轴运动变化的信息。尽管它们非常精确。然而,在为发动机选择正确的编码时,技术工程师需
    发表于 11-20 17:46 440次阅读

    旋转编码器能直接换吗_旋转编码器更换注意事项

    旋转编码器更换步骤第一步,卸开电机后盖,编码器的后盖。第二步,松开编码器安装螺丝。第三步,旋转电机转子轴,使
    的头像 发表于 11-12 08:07 825次阅读
    <b class='flag-5'>旋转</b><b class='flag-5'>编码器</b>能直接换吗_<b class='flag-5'>旋转</b><b class='flag-5'>编码器</b>更换注意事项

    多圈编码器和单圈编码器区别

    多圈编码器和单圈编码器区别:多圈编码器一般由两个或更多个同心环构成,每一个环上都有一个光电传感器和一个光栅盘。当轴旋转时,每一个光栅盘也会随之旋转
    的头像 发表于 10-23 14:14 2485次阅读
    多圈<b class='flag-5'>编码器</b>和单圈<b class='flag-5'>编码器</b>区别

    iC-Haus在旋转、直线编码器及磁栅尺有何应用?

    旋转、直线编码器及磁栅尺中得到广泛应用的两款产品:“磁性传感器”及“插补细分器”。
    的头像 发表于 10-12 18:17 567次阅读

    全志R128应用开发案例—中断方式驱动旋转编码器

    旋转编码器是一种位置传感器,可将旋钮的角位置(旋转)转换为用于确定旋钮旋转方向的输出信号。
    发表于 10-12 16:56 357次阅读
    全志R128应用开发案例—中断方式驱动<b class='flag-5'>旋转</b><b class='flag-5'>编码器</b>

    旋转编码器如何工作?如何与Arduino-HowToMechanicronics一起使用?

    包含详细说明+代码在本教程中,我们将学习旋转编码器的怎样工作的,以及如何使它与Arduino配合使用。旋转编码器是一种位置传感
    发表于 09-26 07:52

    编码器是什么?编码器有哪些分类?

    一种将角位移或者角速度转换成一连串电数字脉冲的旋转式传感器,我们可以通过编码器测量到位移或者速度信息。编码器通常由一个旋转部分和一个固定部分组成,
    的头像 发表于 08-21 11:50 5663次阅读
    <b class='flag-5'>编码器</b>是什么?<b class='flag-5'>编码器</b>有哪些分类?

    伺服电机编码器

    伺服电机编码器 伺服电机编码器是安装在伺服电机上用来测量磁极位置和伺服电机转角及转速的一种传感器,从物理介质的不同来分,伺服电机编码器可以分为光电编码器和磁电
    发表于 06-26 14:01 970次阅读

    什么是旋转编码器 旋转编码器的工作原理

    旋转编码器是一种常见的传感器,它能够通过检测旋转轴的转动实现实时位置监测与控制。它具有高精度、长寿命、可重复性高、体积小等特点,因此在机器人控制、自动化生产、医疗设备、轮廓检测等方面被广泛应用。
    发表于 06-09 10:16 1717次阅读
    什么是<b class='flag-5'>旋转</b><b class='flag-5'>编码器</b> <b class='flag-5'>旋转</b><b class='flag-5'>编码器</b>的工作原理

    旋转编码器是什么?浅读旋转编码器工作原理与特点及应用

    旋转编码器是什么?浅读旋转编码器工作原理与特点及应用:旋转编码器是一种常见的传感器,它能够通过检
    的头像 发表于 05-29 09:21 2191次阅读
    <b class='flag-5'>旋转</b><b class='flag-5'>编码器</b>是什么?浅读<b class='flag-5'>旋转</b><b class='flag-5'>编码器</b>工作原理与特点及应用

    编码器种类及型号

    编码器种类及型号:最常见的编码器类型是旋转编码器和线性编码器旋转
    的头像 发表于 05-18 11:15 3709次阅读
    <b class='flag-5'>编码器</b>种类及型号

    CH32V103基础教程101-旋转编码器

    最近,手上拿到一个360度旋转编码器模块—KY-040 FOR模块,因此就想用它写一个应用教程。本章教程主要用到GPIO和EXTI(外部中断/事件控制)。 1、旋转
    发表于 05-15 16:31