相关资料链接

点这里

1.1 介绍:

本模块主要由旋转编码器组成,编码器(encoder)是将信号(如比特流)或数据进行编制、转换为可用以通讯、传输和存储的信号形式的设备。编码器把角位移或直线位移转换成电信号,前者称为码盘,后者称为码尺。它可通过旋转可以计数正方向和反方向转动过程中输出脉冲的次数,这种转动计数是没有限制的,复位到初始状态,即从0开始计数。模块自带2个定位孔,方便你将模块固定在其他设备。

1.2 模块相关资料:

工作电压:

5V(DC)

工作电流:

20mA

最大功率:

0.1W

工作温度:

-10℃~+50℃

尺寸:

31.6mmx23.7mm

原理:增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表明位移的巨细。它主要采用20脉冲旋转编码器元件。它可通过旋转计数正方向和反方向转动过程中输出脉冲的次数,这种转动计数是没有限制的,复位到初始状态,即从0开始计数。如果我们只计算信号的脉冲,则可以使用两个输出中的任何一个来确定旋转位置。但是,如果我们想要确定旋转方向,我们需要同时考虑两个信号。

旋转增量式编码器以转变时输出脉冲,通过计数设备来晓得其方位,当编码器不动或停电时,依托计数设备的内部回忆来记住方位。这样,当停电后,编码器不能有任何的移动,当来电作业时,编码器输出脉冲进程中,也不能有搅扰而丢掉脉冲,否则,计数设备回忆的零点就会偏移,并且这种偏移的量是无从晓得的,只要过错的出产成果呈现后才晓得。

1.3实验组件:

控制板* 1

USB线*1

旋转编码器*1

5P 转杜邦线母*1

1.4模块接线图:

1.5 实验代码:

/*

旋转编码器

https://sourl.cn/NbKeBf

*/

#include <Encoder.h>//导入编码器的库

int SW = 4; //编码器按钮就数字口4

int DT = 3;

int CLK = 2;

Encoder encoder(CLK, DT);

int val = 0;

int old = 0;

void setup() {

Serial.begin(9600);//设置波特率

pinMode(SW, INPUT);//按键为输入模式

}

void loop() {

val = encoder.read();//读取编码器的值赋给val

if (digitalRead(SW) == 0) {//如果按键按下

Serial.println(digitalRead(SW));//打印按键值

delay(100);

}

if (old != val) {//与之前读取的值不一样

Serial.println(val);//打印编码器的值

old = val;

}

}

程序编译前需要导入库文件,否则编译不通过,具体操作参考

资料的第四小节:库文件的添加(若前面已添加,无需重复)

1.6代码说明

1.在实验中,我们需要先把编码器的库

导入到我们的IDE库文件夹中,不然编译不过。

  1. 我们把CLK设置为2、DAT设置为3。该代码在库文件中设置好了,它的意思是中断2(CLK)下降后,读取数字口3(DAT)电压,当DAT电压为高电平时,旋转编码器的值加1;当DAT电压为低电平时,转编码器的值减1。

  1. 然后循环程序中设置按钮管脚(D4)为低电平时,打印出来。

1.7代码说明

上传测试代码成功,利用USB线上电后,打开串口监视器,设置波特率为9600。顺时针旋转编码器,显示数据减小;逆时针旋转编码器,显示数据增加;按下编码器中间按键,显示数据为0,如下图。

Arduino 使用 旋转编码器相关推荐

  1. 【Arduino使用旋转编码器模块】

    Arduino使用旋转编码器模块 前言 旋转编码器模块引脚 旋转编码器模块如何工作? 旋转编码器模块电路图 Arduino旋转编码器模块电路连接图 代码说明 完整代码 前言 旋转编码器是一种机电位置传 ...

  2. 使用Arduino 连接旋转编码器

    文章目录 1. 所需的材料 2. 连接导线旋转编码器是如何工作的? 3. 旋转编码器的类型 4. KY-040旋转编码器引脚和说明 5. Arduino与旋转编码器的连接电路图 6. 编写用于旋转编码 ...

  3. Arduino使用旋转编码器

    这次介绍的是我买的37款传感器套件中的旋转编码器.首先是实物图. 通过查阅资料,旋转编码器既可以左右旋转,又能当成按钮按下.首先测试一下按下的功能,该功能对应的输出引脚是SW. 测试代码如下:  in ...

  4. 旋转编码器:如何在 Arduino 上使用 Keys KY-040 编码器

    旋转编码器是一种输入设备,您可以在任一方向连续旋转.当您转动设备时,它会生成数字脉冲,以使用两个相控输出信号显示旋转方向.这两个输出还指示单个位置运动,因此您可以在控制面板中使用它们来增加或减少参数. ...

  5. Arduino开发实例-旋转编码器RGB-LED调光

    旋转编码器RGB-LED调光 在本文中,将使用 Arduino 和旋转编码器进行 RGB LED 颜色控制. 我们将旋转旋转编码器来分配值. 红色.绿色和蓝色将合并以显示基于该值的全新颜色. 在这里, ...

  6. 使用Arduino开发板连接ec11旋转编码器

    使用Arduino开发板连接ec11旋转编码器 因为最近要用到旋转编码器,从网上花了好长时间找了好多关于arduino使用旋转编码器的资料,总是找不到合适的,最后总结了一下(部分内容有借鉴,仅作分享, ...

  7. Arduino旋转编码器

    在本教程中,我们将学习旋转编码器如何工作以及如何在Arduino上使用它.您可以观看以下视频或阅读下面的书面教程. 旋转编码器如何工作以及如何与Arduino一起使用 概述 旋转编码器是一种位置传感器 ...

  8. arduino+旋转编码器

    材料清单 arduino nano(其他型号也可以).旋转编码器.arduino下载数据线.杜邦线若干. 主要原理 旋转编码器是一种位置传感器,用于确定旋转轴的角度位置.它根据旋转运动产生模拟或数字电 ...

  9. 初出茅庐的小李第36篇博客之读取旋转编码器正反转状态(arduino uno 测试)

    旋转编码器的引脚 CLK(A相) DATA(B相) SWITCH VCC GND 工作原理 旋转编码器的工作原理以及如何在Arduino中使用 https://www.yiboard.com/thre ...

最新文章

  1. 【4K HDR】2020年东京圣诞灯会/
  2. CSS样式的使用(CSS选择器、CSS语法、CSS常见样式):
  3. Windows Server 2012 禁止使用Ctrl+Alt+Del 以及禁止开机启动服务器管理器
  4. 优化理论13----黄金分割法、单峰函数、python实现及验证
  5. linux 指定库名 登录mysql_linux终端mysql用户操作只看这篇够了
  6. 小米球(Ngrok)实现内网穿透,让外网可以进行访问本地部署的 API
  7. 精品思维导图模板合集,锻炼你的逻辑思维,提升能力空间
  8. office表格怎么冻结前两行_office 2010下excel表格中冻结功能操作任意行的技巧
  9. swifty引用AFNetworking出现clang: error: linker command failed with exit code 1 (use -v to see invocation
  10. 前端开发环境搭建(工具使用)
  11. teamviewer被检测为商业用途解决方法
  12. Linux中根据文件大小排序
  13. javaweb JAVA JSP运动会管理系统JSP运动会成绩管理系统 JSP校运会报名信息管理系统
  14. 这届年轻人,怎么开始想着吃零食减肥了?
  15. python报错:patsy.PatsyError: error tokenizing input (maybe an unclosed string?)
  16. 大学生学完python靠几个接单网站兼职,实现经济独立
  17. 计算机应用方向的毕业设计,计算机应用(动画方向)毕业设计.pdf
  18. 服务器生成镜像文件,云服务器 生成镜像
  19. 微信小程序 长按图片不出现菜单_HTML5微信长按图片不会弹出菜单的解决方法
  20. Cesium 笛卡尔坐标系转经纬度高程

热门文章

  1. route指令使用详解
  2. 万字讲解Apollo,全网Apollo资料整理和学习
  3. Codeforces Round #644(Div. 3) A-H
  4. C语言一维数组的最大值和最小值依次放入一个新的数组中,依次类推
  5. Android群英传笔记-Android系统安全与安全机制
  6. MoviePy - 中文文档4-MoviePy实战案例-给MoviePy Logo做一个闪动的阴影效果
  7. Queue和Deque
  8. 修改网页视频播放速度
  9. 开启xmp1还是2_命运2资料片“凌光之刻”steam上线
  10. 教育元宇宙何时常态化应用?专家建议纳入教育数字化战略行动