Управление сервоприводами с Arduino - PullRequest
0 голосов
/ 19 марта 2019

Я пытаюсь управлять небольшим серводвигателем с помощью Arduino, и я сталкиваюсь с проблемой, когда сервопривод постоянно работает, даже когда я хочу, чтобы он остановился.Я вставил картинку своего кода ниже.Циклы for должны останавливать сервопривод при его повороте на 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;
      }

    }
}
} 
}

1 Ответ

0 голосов
/ 19 марта 2019

Я бы попробовал этот код:

void stop()

    {
     while(1 = 180);
    }
...