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

    文章

    4011

    浏览量

    143327
  • Arduino
    +关注

    关注

    190

    文章

    6527

    浏览量

    197446
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    绝对式旋转编码器常用什么类型磁铁?

    绝对式旋转编码器是一种能够在任意时刻直接输出唯一角度位置值的传感,即使断电重启也无需回零,所以被广泛用于工业控制,机器人,这种编码器是需要磁铁来配合的,那么它常用哪种磁铁呢?在绝对式
    的头像 发表于 03-26 13:44 216次阅读
    绝对式<b class='flag-5'>旋转</b><b class='flag-5'>编码器</b>常用什么类型磁铁?

    磁铁在编码器中的作用与应用

    编码器中,磁铁的作用不可小觑,常用的磁性材料主要是钕铁硼和铁氧体,今天这篇文章主要介绍下磁铁用于哪些编码器类型,以及其具体作用。磁铁在编码器中的作用(功能)是什么?在编码器中,磁铁主
    的头像 发表于 03-19 14:42 372次阅读
    磁铁在<b class='flag-5'>编码器</b>中的作用与应用

    增量型旋转编码器:工业自动化的“精密之眼”

    在钢铁厂的高炉旁,滚烫的钢水在传送带上疾驰;在港口的起重机下,集装箱被精准吊装;在纺织车间里,纱线以每分钟数万转的速度飞旋……这些场景背后,都藏着一双“精密之眼”——贝弗德增量型旋转编码器。它以微米
    的头像 发表于 12-31 08:43 349次阅读
    增量型<b class='flag-5'>旋转</b><b class='flag-5'>编码器</b>:工业自动化的“精密之眼”

    探索AEDR - 9930E:三通道反射式增量旋转编码器的技术剖析

    探索AEDR - 9930E:三通道反射式增量旋转编码器的技术剖析 在当今的电子设备设计领域,编码器的性能和适用性对于系统的整体表现起着至关重要的作用。今天,我们将深入探讨博通(Broadcom
    的头像 发表于 12-30 15:40 343次阅读

    旋转编码器增量:工业自动化领域的“精密之眼”

    在工业自动化飞速发展的今天,每一个细微的精度提升都可能带来生产效率的巨大飞跃。而旋转编码器增量,作为工业自动化领域的核心元件,正以其独特的优势,成为众多行业不可或缺的“精密之眼”。 旋转编码器
    的头像 发表于 12-08 08:41 508次阅读
    <b class='flag-5'>旋转</b><b class='flag-5'>编码器</b>增量:工业自动化领域的“精密之眼”

    增量旋转编码器:工业自动化的“精密之眼”

    在智能制造与工业4.0的浪潮中,每一次细微的位移、每一轮精准的旋转,都关乎着生产效率与产品品质的成败。在这场精密制造的革命里,增量旋转编码器以其独特的魅力,成为工业自动化领域不可或缺的核心传感
    的头像 发表于 12-02 08:43 507次阅读
    增量<b class='flag-5'>旋转</b><b class='flag-5'>编码器</b>:工业自动化的“精密之眼”

    Vishay RAIK060 旋转绝对感应套件编码器技术解析

    Vishay RAIK060旋转绝对电感套件编码器专门用于电机驱动、机器人位置和具有精确定位的工业运动控制。这些编码器通过LED状态颜色轻松组装,对外部磁场、电场和温度不敏感。RAIK060
    的头像 发表于 11-11 11:31 1189次阅读
    Vishay RAIK060 <b class='flag-5'>旋转</b>绝对感应套件<b class='flag-5'>编码器</b>技术解析

    使用简仪科技产品搭建编码器信号完整性测试系统

    旋转编码器,是测量旋转角度的常用电子部件。它在工业运动控制、汽车动力转向机构、列车编码里程系统、航空航天有普遍应用。其中,有一些专用编码器
    的头像 发表于 11-07 15:53 858次阅读
    使用简仪科技产品搭建<b class='flag-5'>编码器</b>信号完整性测试系统

    增量式编码器工作原理是什么?

    增量式编码器工作原理是什么?增量式编码器是一种通过输出脉冲信号来反映旋转位置变化的传感,广泛应用于电机测速、位置控制等领域。其工作原理可从机械结构、信号产生、信号处理三个层面展开,增
    的头像 发表于 09-29 11:00 2503次阅读
    增量式<b class='flag-5'>编码器</b>工作原理是什么?

    国产编码器在人形机器人领域的进展

    电子发烧友网综合报道 编码器是测量旋转角度、位移及速度的传感,作为伺服系统的核心部件,在人形机器人领域,其数据反馈对实现机器人运动的精密控制与定位至关重要。   编码器种类丰富,按技
    的头像 发表于 09-24 09:41 1698次阅读

    多圈增量式编码器:工业自动化中的“旋转记忆大师”

    在工业自动化设备高速运转的场景中,一台风电齿轮箱的传动轴持续旋转了128圈,传统单圈编码器早已因数据溢出而“失忆”,而多圈增量式编码器却能精准记录每一圈的位移变化,为控制系统提供连续、可靠的位置反馈
    的头像 发表于 09-18 17:14 1094次阅读

    新品|Unit Step16,16 定位BCD旋转编码器控制单元

    UnitStep16是一款基于STM32G031G8U6微控制的16定位旋转编码器控制单元。其核心功能在于实时采集旋转编码器的BCD
    的头像 发表于 08-01 17:35 1531次阅读
    新品|Unit Step16,16 定位BCD<b class='flag-5'>旋转</b><b class='flag-5'>编码器</b>控制单元

    增量型旋转编码器:工业智能化的“精密罗盘”

    在工业自动化浪潮席卷全球的今天,每一个精密动作的背后都离不开传感的精准反馈。作为工业控制领域的“隐形冠军”,增量型旋转编码器凭借其高性价比、高可靠性和灵活适配性,正成为智能制造、机器人、新能源汽车
    的头像 发表于 07-30 08:33 781次阅读
    增量型<b class='flag-5'>旋转</b><b class='flag-5'>编码器</b>:工业智能化的“精密罗盘”

    Bourns 扩展增量式编码器产品线,旋转寿命功能再升级

    Bourns 全新推出 PEC11J 系列编码器,具备每 360° 旋转 24 脉冲的功能,并新增无定位点选项 2025 年 6 月 10 日 - Bourns 全球知名电源、保护和传感解决方案电子
    发表于 06-10 14:56 1698次阅读
    Bourns 扩展增量式<b class='flag-5'>编码器</b>产品线,<b class='flag-5'>旋转</b>寿命功能再升级

    一文读懂什么是磁性编码器

    磁性编码器是一种用于测量角度和线性位置的传感。它使用磁性信号来监测旋转或线性位置的变化,并把这些变化转换成数字信号。磁性编码器可用于各种应用中,比如机器人、汽车、数控机床等领域
    的头像 发表于 04-27 17:18 1246次阅读