我无法使用键盘输入转发伺服

时间:2018-11-09 11:56:05

标签: arduino servo

我正在使用Arduino UNO,并且我有5台MG995伺服电机。但是,当我使用1台伺服电机测试机器时,它不起作用。 我的联系没错。端口还可以,但是我不知道为什么它不起作用。

我的一台伺服电机的代码。

    #include<Servo.h> // include server library
    Servo ser; // create servo object to control a servo
    int poser = 0; // initial position of server
    int val; // initial value of input

    void setup() {
        Serial.begin(9600); // Serial comm begin at 9600bps
        ser.attach(9);// server is connected at pin 9
    }

    void loop() {
        if (Serial.available()) { // if serial value is available
            val = Serial.read();// then read the serial value
            if (val == 'd') { //if value input is equals to d
                 poser += 1; //than position of servo motor increases by 1 ( anticlockwise)
                 ser.write(poser);// the servo will move according to position
                 delay(15);//delay for the servo to get to the position
            }

            if (val == 'a') { //if value input is equals to a
                 poser -= 1; //than position of servo motor decreases by 1 (clockwise)
                 ser.write(poser);// the servo will move according to position
                 delay(15);//delay for the servo to get to the position
            }
         }
     }

1 个答案:

答案 0 :(得分:0)

只要您按d的次数超过波塞尔停留在范围内,代码就没有什么明显的错误。

  • 要测试您的硬件,请运行以下示例之一,例如sweep
  • 您应为poser设置限制,使其保持在0到180之间
  • 在收到“ a”或“ d”信号时也尝试点亮LED,这样您就知道它在起作用