Я использую микроконтроллер Arduino-Uno с сервоэкраном Adafruit. Чтобы переместить довольно быстрый 0,07 с / 60 ° мини-цифровой серводвигатель с нужным углом, например, из приложения C #:
myport.WriteLine(val.ToString());
Я использую ШИМ-библиотеку :
pwm.setPWM(1, 0, Serial.parseInt());
Который успешно перемещает двигатель на заданный угол, но я пытаюсь выяснить, как перемещать серводвигатель от одного угла к другому с полным достижением конечных точек из загруженного кода.
Итак, если максимальный и минимальный диапазон:
#define SERVOMIN 160
#define SERVOMAX 500
А серводвигатель выполняет от 210 до 450, вот моя попытка:
pwm.setPWM(1, 0, 210);
delay(12);
pwm.setPWM(1, 0, 450);
delay(12);
pwm.setPWM(1, 0, 210);
Таким образом, двигатель не завершает движение и даже не движется в одном направлении без возврата. Что должно быть правильным способом, чтобы сделать такое движение в загруженном коде.
Любой совет, руководство или пример был бы очень полезен