查看: 963|回复: 7

[已解答] Blinker按钮无法控制舵机

[复制链接]
  • TA的每日心情
    奋斗
    2019-8-15 00:55
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2019-8-20 21:49 | 显示全部楼层 |阅读模式
    用按钮控制舵机,给舵机一个周期20毫秒,脉宽为1的脉冲,一共12个按钮,把脉冲函数放在第一个按钮成功过一次,放在最后一个按钮没成功过,怀疑是按钮过多,同步性不好,求大佬指教
    前两个按钮代码:


    void button1_callback(const String & state)
    {

        BLINKER_LOG("get button state: ", state);

        if (state == BLINKER_CMD_BUTTON_TAP) {
            BLINKER_LOG("Button tap!");
            _stop();


        }
        else if (state == BLINKER_CMD_BUTTON_PRESSED) {
            BLINKER_LOG("Button pressed!");
            //forward();
            for(int i=0;i<50;i++)
            {
              digitalWrite(xinhao1,HIGH);
              Blinker.delay(3);
              digitalWrite(xinhao1,LOW);
              Blinker.delay(17);

              }


        }
        else if (state == BLINKER_CMD_BUTTON_RELEASED) {
            BLINKER_LOG("Button released!");  
            _stop();
        }
        else
        {
          BLINKER_LOG("Button released!");
          _stop();
          }
    }

    void button2_callback(const String & state)
    {

        BLINKER_LOG("get button state: ", state);

        if (state == BLINKER_CMD_BUTTON_TAP) {
            BLINKER_LOG("Button tap!");
            _stop();


        }
        else if (state == BLINKER_CMD_BUTTON_PRESSED) {
            BLINKER_LOG("Button pressed!");
            backward();

        }
        else if (state == BLINKER_CMD_BUTTON_RELEASED) {
            BLINKER_LOG("Button released!");  
            _stop();
        }
        else
        {
          BLINKER_LOG("Button released!");
          _stop();
          }
    }



  • TA的每日心情
    奋斗
    2019-7-12 18:42
  • 签到天数: 48 天

    [LV.5]常住居民I

    发表于 2019-8-20 22:00 | 显示全部楼层
    有舵机驱动库,测试过,配合blinker驱动一切正常。。。。。。
  • TA的每日心情
    奋斗
    2019-8-15 00:55
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2019-8-20 22:24 | 显示全部楼层
    coloz 发表于 2019-8-20 22:00
    有舵机驱动库,测试过,配合blinker驱动一切正常。。。。。。

    哦no,请问mega2560是不是所有的数字引脚都可以用呢,还有示例程序里有吗
  • TA的每日心情
    奋斗
    2019-7-12 18:42
  • 签到天数: 48 天

    [LV.5]常住居民I

    发表于 2019-8-20 22:32 | 显示全部楼层
    包包大人666123 发表于 2019-8-20 22:24
    哦no,请问mega2560是不是所有的数字引脚都可以用呢,还有示例程序里有吗

    IDE自带servo库和例程
  • TA的每日心情
    奋斗
    2019-8-15 00:55
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2019-8-21 00:09 | 显示全部楼层
    coloz 发表于 2019-8-20 22:00
    有舵机驱动库,测试过,配合blinker驱动一切正常。。。。。。

    大佬,还在吗,我试了舵机库,用uno9号引脚可以的,但是用9,10两个引脚就会不受控制,这是为什么?

    void button1_callback(const String & state)
    {
        digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
        BLINKER_LOG("get button state: ", state);

        if (state == BLINKER_CMD_BUTTON_TAP) {
            BLINKER_LOG("Button tap!");

            
        }
        else if (state == BLINKER_CMD_BUTTON_PRESSED) {
            BLINKER_LOG("Button pressed!");
            myservo.write(100);              // tell servo to go to position in variable 'pos'
            delay(15);
            
        }
        else if (state == BLINKER_CMD_BUTTON_RELEASED) {
            BLINKER_LOG("Button released!");

            
        }
       
       
        else {
            BLINKER_LOG("Get user setting: ", state);

        }
    }
  • TA的每日心情
    奋斗
    2019-7-12 18:42
  • 签到天数: 48 天

    [LV.5]常住居民I

    发表于 2019-8-21 10:09 | 显示全部楼层
    包包大人666123 发表于 2019-8-21 00:09
    大佬,还在吗,我试了舵机库,用uno9号引脚可以的,但是用9,10两个引脚就会不受控制,这是为什么?

    voi ...

    确保舵机独立供电
  • TA的每日心情
    慵懒
    2020-3-8 11:08
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    发表于 2019-8-21 10:29 | 显示全部楼层
    好舵机像只有8和 9
  • TA的每日心情
    奋斗
    2019-8-15 00:55
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2019-10-13 16:16 | 显示全部楼层
    carlbeven 发表于 2019-8-21 10:29
    好舵机像只有8和 9

    是9和10号引脚,最后我用2560实现了控制两个舵机,但是舵机会颤抖,原因可能是自带的servo库9,10号引脚共用一个时钟,导致给的pwm信号不稳定
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    热门推荐

    创客火首发无人机编队套装,开启不一样的人工智能教育
    创客火首发无人机编队套装
    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!   
    快速回复 返回顶部 返回列表