楼主: eagler8

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

[复制链接]

该用户从未签到

发表于 2019-11-9 19:31 | 显示全部楼层
请问 KY040旋转编码器,能通过代码实现自动旋转(顺或逆)功能吗?我查网上都是通过手动旋转实现一些功能,或者有什么模块可以实现这个功能
  • TA的每日心情
    开心
    2020-8-10 09:31
  • 签到天数: 416 天

    [LV.9]以坛为家II

     楼主| 发表于 2019-11-13 09:11 | 显示全部楼层
    zhang13359 发表于 2019-11-9 19:31
    请问 KY040旋转编码器,能通过代码实现自动旋转(顺或逆)功能吗?我查网上都是通过手动旋转实现一些功能, ...

    实现旋转功能,来带动什么呢?

    该用户从未签到

    发表于 2019-11-13 23:10 | 显示全部楼层
    eagler8 发表于 2019-11-13 09:11
    实现旋转功能,来带动什么呢?

    带动门锁,我用5V的28BYJ48步进电机,发现力度差了大概一半,有没有接近这个程度的电机给推荐一下
  • TA的每日心情
    开心
    2020-8-10 09:31
  • 签到天数: 416 天

    [LV.9]以坛为家II

     楼主| 发表于 2019-11-14 17:25 | 显示全部楼层
    zhang13359 发表于 2019-11-13 23:10
    带动门锁,我用5V的28BYJ48步进电机,发现力度差了大概一半,有没有接近这个程度的电机给推荐一下 ...

    1222222222.jpg

    试试这个......

    该用户从未签到

    发表于 2019-11-15 11:36 | 显示全部楼层

    好的 谢谢!
  • TA的每日心情
    开心
    2020-8-10 09:31
  • 签到天数: 416 天

    [LV.9]以坛为家II

     楼主| 发表于 2019-11-15 12:26 | 显示全部楼层

    不客气,多交流
  • TA的每日心情
    开心
    2020-2-11 17:25
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-2-11 18:04 | 显示全部楼层
    不能做到转一格增或减1
  • TA的每日心情
    开心
    2020-8-10 09:31
  • 签到天数: 416 天

    [LV.9]以坛为家II

     楼主| 发表于 2020-2-11 19:12 | 显示全部楼层
    瑞轩 发表于 2020-2-11 18:04
    不能做到转一格增或减1

    这个可以的

    [mw_shl_code=arduino,true]/*
    【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);
      }
    }[/mw_shl_code]
  • TA的每日心情
    开心
    2020-8-10 09:31
  • 签到天数: 416 天

    [LV.9]以坛为家II

     楼主| 发表于 2020-2-11 19:13 | 显示全部楼层
    10.jpg

    增加
  • TA的每日心情
    开心
    2020-2-11 17:25
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2020-2-11 22:34 | 显示全部楼层
    eagler8 发表于 2020-2-11 19:12
    这个可以的

    [mw_shl_code=arduino,true]/*

    可能我编码器不好用
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    热门推荐

    5分钟带你快速了解新一代开发板:M5STACK
    5分钟带你快速了解新一代
    一、什么是M5Stack M5Stack是一种模块化、可堆叠扩展的开发板,每个模块
    创客火首发无人机编队套装,开启不一样的人工智能教育
    创客火首发无人机编队套装
    2017年国务院发布《新一代人工智能发展规划》,提出要广泛开展人工智能科普活动,在中
    未见过的TFT屏,是什么驱动芯片?
    未见过的TFT屏,是什么驱
    这两块屏是从POS机里拆的,准备做几个锂电池组电压监测,在网上没找到资料,在这里问
    win10系统显示不出端口信息,编译后显示serial port not selected。
    win10系统显示不出端口信
    求各位哥哥帮忙,小兄弟实在不懂是win10系统的原因,还是需要安装什么驱动程式?具体
    更智能的电脑远程开关机-基于继电器
    更智能的电脑远程开关机-
    我只是刚刚入门的萌新,所以有不足请指出 先展示下 功能:开关机,开关机检测,
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   
    快速回复 返回顶部 返回列表