Вечер добрый
Для своего проекта понадобилось подключение 4 шаговых двигателей 28BYJ-48 с драйвером uln2003, пинов для их подключения не хватило, по этому решил использовать расширители платы pcf8574
Для работы с шаговикамирешил использовать CustomStepper так как нужен поворот в градусах двигателя, что там удобно реализовано
Разобрав библиотеку нашел части кода где переданные конструкторы пины настраиваются на вывод и выдаются команды для поворота
Я посчитал что заменив пины ардуино на пины экстендера в этих и других местах, можно управлять шаговым двигателем через расширители, так как команды pinMode и digitalWrite работают аналогично тем что стандартные ардуиновские
Реализовать это пытался разными способами, и создавать объект в конструкторе CustomStepper, передавать ему как аргумент, и ссылкой на объект
Поле в объекте CustomStepperтипа PCF8574 добавил
Скетч компилируется, но ни в одном из случаев не работало
Как правильно это можно сделать ?
Все файлы библиотеки прикрепляю
Для своего проекта понадобилось подключение 4 шаговых двигателей 28BYJ-48 с драйвером uln2003, пинов для их подключения не хватило, по этому решил использовать расширители платы pcf8574
Для работы с шаговикамирешил использовать CustomStepper так как нужен поворот в градусах двигателя, что там удобно реализовано
Разобрав библиотеку нашел части кода где переданные конструкторы пины настраиваются на вывод и выдаются команды для поворота
инициализация в конструкторе:
this->pin1 = pin1;
this->pin2 = pin2;
this->pin3 = pin3;
this->pin4 = pin4;
pinMode(this->pin1, OUTPUT);
pinMode(this->pin2, OUTPUT);
pinMode(this->pin3, OUTPUT);
pinMode(this->pin4, OUTPUT);
фрагмен задающий сам шаг:
digitalWrite(this->pin1, (this->steps[this->nextStep] & B1000));
digitalWrite(this->pin2, (this->steps[this->nextStep] & B0100));
digitalWrite(this->pin3, (this->steps[this->nextStep] & B0010));
digitalWrite(this->pin4, (this->steps[this->nextStep] & B0001));
Реализовать это пытался разными способами, и создавать объект в конструкторе CustomStepper, передавать ему как аргумент, и ссылкой на объект
Поле в объекте CustomStepperтипа PCF8574 добавил
Скетч компилируется, но ни в одном из случаев не работало
Как правильно это можно сделать ?
Все файлы библиотеки прикрепляю
Вложения
-
5.5 KB Просмотры: 0
-
6.8 KB Просмотры: 0
-
5.2 KB Просмотры: 0
-
1.9 KB Просмотры: 0