楼主: eagler8

[经验] 【Arduino】108种传感器模块系列实验(40)---旋转编码器模块

[复制链接]
  • TA的每日心情
    开心
    2020-5-23 05:08
  • 签到天数: 346 天

    [LV.8]以坛为家I

     楼主| 发表于 2019-6-28 09:44 | 显示全部楼层
    旋转编码器模块
    工作电压:5V
    一圈脉冲数:20
    旋转编码器可通过旋转可以计数正方向和反方向转动过程中输出脉冲的次数,旋转计数不像电位计,这种转动计数是没有限制的。配合旋转编码器上的按键,可以复位到初始状态,即从0开始计数。

    05.jpg

  • TA的每日心情
    开心
    2020-5-23 05:08
  • 签到天数: 346 天

    [LV.8]以坛为家I

     楼主| 发表于 2019-6-28 10:24 | 显示全部楼层
    我手头的旋转编码器模块有5个引脚,分别是VCC, GND, SW, CLK, DT。其中VCC和GND用来接电源和地,按缩写SW应该是Switch(开关)、CLK是Clock(时钟)、DT是Data(数据)。两个引脚那一端为普通的按键,也就是圆柄按下去的那个按键,当做普通按键使用即可。右边三个引脚中间的为GND,两边为两路脉冲信号CLK和DT。旋转编码器的操作是旋转和按压转轴,在按下转轴的时候SW引脚的电平会变化,旋转的时候每转动一步CLK和DT的电平是有规律的变化。

    08 (1).jpg
    07.jpg
  • TA的每日心情
    开心
    2020-5-23 05:08
  • 签到天数: 346 天

    [LV.8]以坛为家I

     楼主| 发表于 2019-6-28 10:44 | 显示全部楼层
    引脚接线
    Arduino Uno              旋转传感器模块
    D2                              CLK(Clock 时钟)
    D3                              DT (Data 数据)
    D4                              SW   (按钮开关)   
    5V                              +VCC   
    GND                           GND  

    06 (1).jpg

  • TA的每日心情
    开心
    2020-5-23 05:08
  • 签到天数: 346 天

    [LV.8]以坛为家I

     楼主| 发表于 2019-6-28 11:01 | 显示全部楼层

    kittenblock中小学创客名师推荐的图形化编程软件

    /*
    【Arduino】66种传感器模块系列实验(40)
    实验四十:360度旋转增量编码器模块(KY-040)
    */
    
    int CLK = 2;
    int DT = 3;
    int SW = 4;
    const int interrupt0 = 0;
    int count = 0;
    int lastCLK = 0;
     
    void setup()
    {
      pinMode(SW, INPUT);
      digitalWrite(SW, HIGH);
      pinMode(CLK, INPUT);
      pinMode(DT, INPUT);
      attachInterrupt(interrupt0, ClockChanged, CHANGE);
      Serial.begin(9600);
    }
     
    void loop()
    {
      if (!digitalRead(SW) && count != 0) 
      {
        count = 0;
        Serial.print("count:");
        Serial.println(count);
      }
    }
     
    void ClockChanged()
    {
      int clkValue = digitalRead(CLK);
      int dtValue = digitalRead(DT);
      if (lastCLK != clkValue)
      {
        lastCLK = clkValue;
        count += (clkValue != dtValue ? 1 : -1);
        Serial.print("count:");
        Serial.println(count);
      }
    }

  • TA的每日心情
    开心
    2020-5-23 05:08
  • 签到天数: 346 天

    [LV.8]以坛为家I

     楼主| 发表于 2019-6-28 11:03 | 显示全部楼层
    09.jpg
  • TA的每日心情
    开心
    2020-5-23 05:08
  • 签到天数: 346 天

    [LV.8]以坛为家I

     楼主| 发表于 2019-6-28 11:05 | 显示全部楼层
    10.jpg
  • TA的每日心情
    开心
    2020-5-23 05:08
  • 签到天数: 346 天

    [LV.8]以坛为家I

     楼主| 发表于 2019-6-28 11:09 | 显示全部楼层
    按轴清零,顺时针转动+1,逆时针旋转-1

    12.jpg
  • TA的每日心情
    开心
    2020-5-23 05:08
  • 签到天数: 346 天

    [LV.8]以坛为家I

     楼主| 发表于 2019-6-28 11:16 | 显示全部楼层
    11.jpg
  • TA的每日心情
    开心
    2020-5-23 05:08
  • 签到天数: 346 天

    [LV.8]以坛为家I

     楼主| 发表于 2019-6-28 11:33 | 显示全部楼层
    14- (1).jpg
  • TA的每日心情
    开心
    2020-5-23 05:08
  • 签到天数: 346 天

    [LV.8]以坛为家I

     楼主| 发表于 2019-6-28 11:34 | 显示全部楼层
    13.jpg
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    热门推荐

    创客火首发无人机编队套装,开启不一样的人工智能教育
    创客火首发无人机编队套装
    2017年国务院发布《新一代人工智能发展规划》,提出要广泛开展人工智能科普活动,在中
    【干货分享】mega2560原理图PCB图纸altium designer18
    【干货分享】mega2560原理
    分享一下mega2560的板子 AD版本 **** 本内容被作者隐藏 **** ergo
    无源蜂鸣器声音小
    无源蜂鸣器声音小
    声音太小,如何优化下电路
    自制WiFi天气时钟基于Blinker esp-01(8266) u8g2驱动12864 LCD屏
    自制WiFi天气时钟基于Blin
    先发个实物展示视频:https://www.bilibili.com/video/BV12k4y1679Q/ 第一次发分享
    一文教你选择Arduino开发板,小白进
    一文教你选择Arduino开发
    笔者在2016年接触了Arduino,跳了万条坑,行了千里弯,到今天也算是Arduino的一
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表