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

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

3天内不再提示

Arduino开发板的旋转编码器如何使用

454398 来源:一板网 作者:风筝 2020-10-26 15:47 次阅读

在本篇文章中,我们将学习如何在Arduino开发板上使用旋转编码器。我们将以带符号的数字同时显示顺时针和逆时针方向的编码值。

所需的组件

● Arduino UNO开发板

● 旋转编码器

● 1602 LCD显示屏

● 连接电线

● 面包板

旋转编码器

旋转编码器(Rotary Encoder),也称为轴编码器,是一种机电设备,可将轴或轴的角位置或运动转换为模拟或数字输出信号。旋转编码器有两种主要类型:绝对式和增量式。绝对值编码器的输出指示当前轴位置,从而使其成为角度传感器。增量编码器的输出提供有关轴运动的信息,通常将其所在位置处理为位置、速度和距离等信息。

连接威廉希尔官方网站 图

下面的威廉希尔官方网站 图简单演示了如何在Arduino上使用旋转编码器。在面包板或PCB上组装威廉希尔官方网站 。

旋转编码器如何工作?

编码器具有一个磁盘,该磁盘具有均匀分布的接触区,这些接触区连接到公共引脚C和两个其他单独的接触引脚A和B,如下所示。

当磁盘逐步开始旋转时,引脚A和B将开始与公共引脚接触,因此将产生两个方波输出信号。

如果仅对信号的脉冲进行计数,则可以使用两个输出中的任何一个来确定旋转位置。但是,如果我们也要确定旋转方向,则需要同时考虑两个信号。

我们可以注意到,两个输出信号彼此之间相差90度。如果编码器顺时针旋转,则输出A将在输出B之前。

因此,如果我们每次计算信号从高到低或从低到高变化的步数,我们就会注意到两个输出信号的值相反。反之亦然,如果编码器逆时针旋转,则输出信号具有相等的值。因此,考虑到这一点,我们可以轻松地对控制器进行编程以读取编码器的位置和旋转方向。

源代码/程序

#include 《LiquidCrystal.h》

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

#define outputA 6

#define outputB 7

int counter = 0;

int aState;

int aLastState;

void setup() {

pinMode (outputA,INPUT);

pinMode (outputB,INPUT);

Serial.begin (9600);

lcd.begin(16,2);

// Reads the initial state of the outputA

aLastState = digitalRead(outputA);

}

void loop() {

aState = digitalRead(outputA); // Reads the “current” state of the outputA

// If the previous and the current state of the outputA are different, that means a Pulse has occured

if (aState != aLastState){

// If the outputB state is different to the outputA state, that means the encoder is rotating clockwise

if (digitalRead(outputB) != aState) {

counter ++;

lcd.clear();

} else {

counter --;

lcd.clear();

}

Serial.print(“Position: ”);

Serial.println(counter);

lcd.setCursor(0, 0);

lcd.print(“Position: ”);

lcd.setCursor(10, 0);

lcd.print(counter);

}

aLastState = aState; // Updates the previous state of the outputA with the current state

}
编辑:hfy

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

    关注

    45

    文章

    3641

    浏览量

    134470
  • 开发板
    +关注

    关注

    25

    文章

    5044

    浏览量

    97422
  • Arduino
    +关注

    关注

    188

    文章

    6469

    浏览量

    187013
收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

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

    增量旋转编码器

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

    基于合宙Air780E开发板集成ec11旋转编码器实例

    一个基于Air780E开发板,集成ec11旋转编码器的实例。
    的头像 发表于 08-08 10:13 733次阅读
    基于合宙Air780E<b class='flag-5'>开发板</b>集成ec11<b class='flag-5'>旋转</b><b class='flag-5'>编码器</b>实例

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

    旋转编码器(Rotary Encoder),也称为轴编码器,是一种将旋转的机械位移量转换为电气信号的传感。这些电气信号经过处理后,可以用于
    的头像 发表于 07-04 17:17 2564次阅读
    带<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次下载

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

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

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

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

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

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

    旋转编码器的常见类型

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

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

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

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

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

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

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

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

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