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

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

    关注

    45

    文章

    3651

    浏览量

    134772
  • Arduino
    +关注

    关注

    188

    文章

    6472

    浏览量

    187353
收藏 人收藏

    评论

    相关推荐

    二进制编码器与绝对编码器的区别

    称为增量编码器,是一种相对编码器。它通过检测轴的旋转方向和步数来提供位置信息。 工作原理 二进制编码器的工作原理基于脉冲计数。当轴旋转时,
    的头像 发表于 11-06 09:54 554次阅读

    旋转编码器的类型以及选择与设计注意要点

    2024-07-23 [旋转编码器]是一种能够将旋转位置变化转换为数字信号输出的器件,它们在许多行业和应用中都有广泛的应用,包括工业自动化、机器人技术、汽车、消费电子产品和医疗设备等领域。 在许多
    的头像 发表于 10-02 16:52 379次阅读
    <b class='flag-5'>旋转</b><b class='flag-5'>编码器</b>的类型以及选择与设计注意要点

    旋转编码器可以收集并发出什么信号,旋转编码器信号异常怎么处理

    旋转编码器是一种精密的测量装置,主要用于将旋转运动转换为可测量的电信号。它可以收集并发出多种信号,但主要的是与旋转运动相关的位置、速度或角度等物理量的信号。具体来说,
    的头像 发表于 10-01 16:55 657次阅读

    增量旋转编码器

    电子发烧友网站提供《增量旋转编码器.pdf》资料免费下载
    发表于 09-03 11:51 0次下载
    增量<b class='flag-5'>旋转</b><b class='flag-5'>编码器</b>

    Arduino旋转编码器设计 旋转编码器的工作原理和特点

    旋转编码器(Rotary Encoder),也称为轴编码器,是一种将旋转的机械位移量转换为电气信号的传感。这些电气信号经过处理后,可以用于
    的头像 发表于 07-04 17:17 2813次阅读
    带<b class='flag-5'>Arduino</b>的<b class='flag-5'>旋转</b><b class='flag-5'>编码器</b>设计 <b class='flag-5'>旋转</b><b class='flag-5'>编码器</b>的工作原理和特点

    旋转编码器控制电机速度

    旋转编码器控制电机速度
    发表于 06-24 09:16 4次下载

    伺服电机编码器的型号怎么看

    伺服电机编码器是伺服电机的重要组成部分,它能够将电机的旋转角度、速度等信息转换为电信号,为控制系统提供精确的位置和速度反馈。 一、伺服电机编码器的分类 1.1 增量式编码器 增量式
    的头像 发表于 06-17 11:07 1974次阅读

    旋转编码器在PLC中怎么编程

    在工业自动化领域,旋转编码器与可编程逻辑控制(PLC)的结合应用极为广泛。旋转编码器通过提供精确的旋转
    的头像 发表于 06-17 09:24 1795次阅读

    旋转编码器的工作原理和特点

    旋转编码器,作为现代工业自动化系统中不可或缺的一部分,其工作原理和特点对于理解其应用及优化系统性能具有重要意义。本文将详细阐述旋转编码器的工作原理,并深入探讨其特点,旨在为读者提供
    的头像 发表于 05-29 16:01 1324次阅读

    旋转编码器在数控机床中的应用

    随着现代制造业的快速发展,数控机床作为高精度加工设备,其性能要求日益提高。旋转编码器作为数控机床中的关键部件,对于提高机床的精度、效率和自动化水平具有重要意义。本文将对旋转编码器在数控
    的头像 发表于 05-29 16:00 1108次阅读

    旋转编码器的常见类型

    在工业自动化和精密测量领域中,旋转编码器是一种不可或缺的设备。它能够将旋转位置或旋转量转换成模拟或数字信号,为控制系统提供精确的位置和速度信息。随着技术的不断发展,
    的头像 发表于 05-29 15:59 997次阅读

    旋转编码器的种类和接线方法

    旋转编码器,作为现代工业领域中不可或缺的重要传感,广泛应用于各种机械设备、自动化系统以及测量仪器中。它能够准确测量物体的转速、角度等参数,并转换成相应的电信号输出,为控制系统提供精确的反馈信息。本文将详细介绍
    的头像 发表于 05-24 14:50 1781次阅读

    编码器分辨率是什么意思 编码器分辨率和脉冲数的关系

    按照编码器支持的分辨率可以把编码器分成标清编码器、高清编码器、全高清编码器,分辨率越高帧率越高视频就越清楚。 1.
    的头像 发表于 02-21 18:07 4353次阅读
    <b class='flag-5'>编码器</b>分辨率是什么意思 <b class='flag-5'>编码器</b>分辨率和脉冲数的关系

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

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

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

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