Шлю что-то в Serial, по этой команде движок делает один оборот (это две секунды). Проблема: После 1 полного оборота должно пройти какое-то время (около секунды) чтобы я мог снова вызвать 1 оборот Т.е. если я отправлю 1, движок сделал оборот, и опять спустя 0.5 секунд отправлю 1 - он ведет себя "неправильно" Не делает 1 оборот, а например 0.5 - 0.7 Если же я после полного оборота жду пару секунд и опять шлю "1" - то все работает корректно. Вот
Комментарии: 18
Th0r
последний if, где Serial.available добавь условие && flag == 0
Maksim
так?
Bulochka
последний if...
Maksim
а)
Cpp
У тебя во втором IF 2000 - до этого момента питание не подаст
Bulochka
к библиотекам неприязни нет? была какая-то библиотека, точно не помню, stepper что-то там.... там и скорость шага и сами шаги всё предельно гибко настраивается и обрабатывается, выставил, допустим, разрешение шаговика - 200, скорость, допустим, 1 оборот в секунду (хотя там вроде в шагах, не помню уже).... всё - сделал движение в таймере крайне рекомендую, для сокращения времени и усилий
Maksim
а так он теперь делает 1.5 оборота да, видел, у Гайвера там много полезного, буду пробовать значит
Th0r
я тебе показал как примерно сделать, ты название переменной глянь
Maksim
да, я поправил
Th0r
ну значит у тебя что-то с таймингами не так
Bulochka
не догадался)
Maksim
подскажите пожалуйста
Alex
А просто в примерах открыть stepper не пробовал?
Bulochka
убери первый if и засунь заполнение шим перед включением двигателя в нижнем if
Maksim
а так он теперь делает 1.5 оборота что перед включением заполнение, что после один результат
Th0r
да
Bulochka
интересно догадается ли?)