【发布时间】: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 我编辑了代码以便于阅读。