Вопрос по библиотекой AccelStepper

danil03
Offline
Зарегистрирован: 17.05.2018

Здравствуйте. 

Необходиомо вращать два шаговых двигателя, один в одном направлении с одной скоростью. А второй двигатель должен поворачиваться на определенный градус с паузой ( то есть поворот, пауза, поворот, пауза и т.д.). Для решения данной задачи была выбрана библиотека AccelStepper. С помощью нее было выполнено вращение первого двигателя, а также вращение второго двигателя на определенный градус.

Проблема возникла с паузой вращения второго двигателя, использование delay() приводит к стопарению первого двигателя (то есть первый двигатель тоже вращается с паузами). 

#include <AccelStepper.h>


AccelStepper stepper(1, 2, 3);
AccelStepper stepper1(1, 5, 6);

int pos = 100;// градус вращения stepper1

void setup()
{  
  stepper.setMaxSpeed(1000);
  stepper.setSpeed(100);
   stepper1.setMaxSpeed(1000);
  stepper1.setAcceleration(1000);
 }

void loop()
{
   if (stepper1.distanceToGo() == 0)
      stepper1.move(pos);
   
    stepper1.run();
    stepper.runSpeed();
    
}

Каким образом можно добится задержки вращения второго двигателя используя биоблиотеку AccelStepper?

Заранее спасибо.

 

sadman41
Offline
Зарегистрирован: 19.10.2016

Ищите "blink без delay" и по образу и подобию делайте задержку.