Blank.blank 发表于 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);

}

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

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

}

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