Смена направления вращения ШД с библиотекой CastomStepper
- Войдите на сайт для отправки комментариев
Пнд, 21/11/2016 - 19:32
Перенес из "Общего" в нужную ветку.
Нашел. Надо поменять 1 и 4 контакт местами.
Полная фигня, не лечит!!!!!
Вот универсальная:Юзал эту библиотеку, так же не срабатывает функция setDirection(), все равно крутится в одну сторону, не происходит смены вращения. В строке 13 установилось вращение против часовой стрелки, так и до конца цикла...
Нужно повернуть на угол, остановить, сменить направление и крутить дальше. Помогите разобраться, как заставить мотор крутится в противоположную сторону? Вот код для теста:
#include <CustomStepper.h> CustomStepper stepper(15,14,16,10, (byte[]){8, B1000, B1100, B0100, B0110, B0010, B0011, B0001, B1001}, 4075.7728395, 12, CW); int myDegress[]={1,2,1,2,1}; void setup() { } void loop() { .... stepper.setDirection(CCW); stepper.rotate(myDegress[0]); delay(1000); stepper.setDirection(CW); stepper.rotate(myDegress[1]); delay(1000); stepper.setDirection(CCW); stepper.rotate(myDegress[2]); delay(1000); stepper.setDirection(CW); stepper.rotate(myDegress[3]); delay(1000); stepper.setDirection(CCW); stepper.rotate(myDegress[4]); } .... stepper.run(); }
Вот чего добился(тестовый вариант): данный фрагмент кода работает, мотор крутит как надо, стартует в SETUP, останавливаю и задаю вращение в разные стороны в LOOP.
Но вот загвоздка, как только добавляю код вывода на дисплей. Код дисплея работает, отображает все что нужно, а двигатель при старте перестает крутится! Такое впечатление что в SETUP не отрабатывает... Такое же поведение при наличии в LOOP функции delay(). На индикаторе драйвера ULN2003 горит светодиод("А"), шагов нет! Библиотеки - CustomStepper и TM1637Display.
Подскажите что делать, может разные потоки нужно организовывать? Библиотеки могут конфликтовать? С чем это может быть связано?