【问题标题】:Controlling Servos with Arduino用 Arduino 控制伺服系统
【发布时间】:2019-03-19 17:30:57
【问题描述】:

我正在尝试使用 Arduino 控制小型伺服电机,但我遇到了一个问题,即即使我希望它停止,伺服也会持续运行。我在下面粘贴了我的代码图片。 for 循环应该使 Servo 在旋转 180 度时停止,但它只是保持旋转。

我正在尝试使用串行监视器作为输入来控制舵机的方向。

#include <Servo.h>

Servo myservo;
int i = 0;

void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
myservo.attach(9);

}

void loop() {
// put your main code here, to run repeatedly:
keyboardControl(); 
}

void keyboardControl() {
if (Serial.available() > 0) {
int data = Serial.read();
switch (data) {
  case '1' :
    for (i = 0; i <= 180; i += 1) {
      myservo.write(i);
      delay(15);
      if (i = 180) {
        break;
      }
    case '2':
      for (i = 180; i >= 0; i -= 1) {
        myservo.write(i);
        delay(15);
        break;
      }

    }
}
} 
}

【问题讨论】:

  • edit您的问题以文本形式发布代码,而不是屏幕截图。如果其他人可以复制/粘贴您的代码并重现您的问题,则他们可以更轻松地帮助您进行故障排除。
  • @JanBoyer 我编辑了代码以便于阅读。

标签: arduino servo


【解决方案1】:

我会试试这段代码:

void stop()

    {
     while(1 = 180);
    }

【讨论】:

  • 你到底想在这里做什么?
  • 上面的代码是我去年在我的一个 Arduino 项目中使用的。它只是在识别出 1 = 180 度的循环后停止。
猜你喜欢
  • 2023-03-30
  • 1970-01-01
  • 2019-11-24
  • 2013-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多