极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9601|回复: 0

关于舵机求助

[复制链接]
发表于 2014-5-19 20:21:14 | 显示全部楼层 |阅读模式
先上自己的程序吧
#include <EEPROM.h>
#include <Servo.h>
Servo myservo;
int duoji = 9;
int button_up = 2;      //后拨的上拨按键
int button_down = 3;    //后拨的下拨按键
int i = 0;
int rearangle[] = {5, 59, 69, 79, 88, 98, 107, 117, 150, 179, }; //后拨转动的角度


void setup()
{
  myservo.attach(9);
  i = EEPROM.read(10);
}

void loop()
{
  int val_up = digitalRead(2);
  int val_down = digitalRead(3);
  if (val_up == HIGH)
  {
    event();
    delay(500);
  }
  
  if (val_down == HIGH);
  {
    event2();
    delay(500);
  }
  
}
void event()
{
    i++;
    if(i>=9)
    {                                 ////////////////////要修改档数的话请修改这里,9为10速,8为9速,7为8速。
      i=9;
    EEPROM.write(10, i);
   }  
    EEPROM.write(10, i);
     myservo.write(rearangle[i]);

}

void event2()
{
  i--;
    if(i<=0)
    {
      i=0;
    EEPROM.write(10, i);
  }

    EEPROM.write(10, i);
     myservo.write(rearangle[i]);

}

描述一下编程思路:
用两个按钮控制舵机,舵机角度设置为{5, 59, 69, 79, 88, 98, 107, 117, 150, 179} 10个档位
按上拨按钮,进档;按下拨按钮,退档位
现在的问题是:按下按钮后,舵机有反应,会偏转角度,但偏转后马上就会回转到初始角度。请问这是什么原因?程序有问题吗?
我的舵机是KST DS125MG 舵机,不知道是不是标准舵机,跟舵机有关系吗
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-7 21:41 , Processed in 0.034409 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表