Работа с 28BYJ-48 через PCF8574

Uranium238

✩✩✩✩✩✩✩
27 Фев 2021
7
0
Вечер добрый
Для своего проекта понадобилось подключение 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));
Я посчитал что заменив пины ардуино на пины экстендера в этих и других местах, можно управлять шаговым двигателем через расширители, так как команды pinMode и digitalWrite работают аналогично тем что стандартные ардуиновские
Реализовать это пытался разными способами, и создавать объект в конструкторе CustomStepper, передавать ему как аргумент, и ссылкой на объект
Поле в объекте CustomStepperтипа PCF8574 добавил
Скетч компилируется, но ни в одном из случаев не работало
Как правильно это можно сделать ?
Все файлы библиотеки прикрепляю
 

Вложения

Uranium238

✩✩✩✩✩✩✩
27 Фев 2021
7
0
Правильно сделать? Вы мне не поверите !!! Не использовать экстендеры.
Учитесь разработке схем и программированию.
Касательно программирования да, возможно проще будет просто сделаю свою библиотеку чем пытаться объединить две существующие
А как без экстендеров, если просто не хватает пинов для подключения всех драйверов?
 

Nikanor

★★✩✩✩✩✩
1 Окт 2020
178
51
а кто мешает вам взять нормальные степ-дир драйвера.
4 мотора - 8-12 пинов дуни.
 

Эдуард Анисимов

★★★★★★✩
23 Сен 2019
2,410
976
58
Марий-Эл
Я уже устал от вас. От людей, которые хотят построить космический корабль как у Илона Маска, но на ардуине и что бы это стоило как деревенский туалет. А вы знаете что он стоит? Не так то и мало !!!
Под каждую задачу выбирается свой МК и не нужно компостировать мозг людям пытаясь впихнуть невпихуемое в МК которое для этого не предназначено.

PS админам. Извините что сорвался. Я давно предупреждал, что доступность ардуино плохо влияет на ум людей.
 
Изменено:
  • Лойс +1
Реакции: Nikanor и itsterit

Uranium238

✩✩✩✩✩✩✩
27 Фев 2021
7
0
Я уже устал от вас. От людей, которые хотят построить космический корабль как у Илона Маска, но на ардуине и что бы это стоило как деревенский туалет. А вы знаете что он стоит не так то и мало?
Под каждую задачу выбирается свой МК и не нужно компостировать мозг людям пытаясь впихнуть невпихуемое в МК которое для этого не предназначено.

PS админам. Извините что сорвался. Я давно предупреждал, что доступность ардуино плохо влияет на ум людей.
По этому я и спрашиваю это, так как возможно мой подход в принципе не позволяет реализовать поставленную задачу
С ардуино я не так давно знакома, до этого работала только с дисплеями и датчиками температур и шума, по этому все информацию искала в интернете и статей по работе с несколькими сервоприводами при недостатке пинов я не находила, кроме шилдов на уно
Начала копать в сторону как расширить пины, вышла на эти самые экстендеры
Разобравшись в работе двигателей и экстендеров пришла к выводу что чисто технически это должно работать, так как находила где управляют шаговым двигателем через экстендер, что подтверждает выводы
Я прекрасно понимаю что мой подход не эффективный и есть другие варианты
Но что плохого в том что использовать новый подход?
Для этого и обратилась, что б понять, я где-то косячу по коду или нужно писать просто свою библиотеку вместо кастомизации существующих или нужно в принципе менять кардинально подход
Если такой вариант невозможно реализовать по такой-то такой-то причине, естественно я буду делать иначе
 

Uranium238

✩✩✩✩✩✩✩
27 Фев 2021
7
0
@Uranium238, А вы уверены, что хотите знать правду?
Пишите, я готова к любому выплеску токсичности, а так же неаргументированного указывания на необразованность и общую умственную отсталость автора тупого вопроса
Я на форумы не полагаюсь, на ответы на них тем более
Так если ваш ответ не даст мне какой либо практической пользы в решении данной задачи, я ничего не потеряю
Так что, пишите все, я с радостью почитаю
 

Эдуард Анисимов

★★★★★★✩
23 Сен 2019
2,410
976
58
Марий-Эл
Пишите, я готова к любому выплеску токсичности, а так же неаргументированного указывания на необразованность и общую умственную отсталость автора тупого вопроса
Я на форумы не полагаюсь, на ответы на них тем более
Так если ваш ответ не даст мне какой либо практической пользы в решении данной задачи, я ничего не потеряю
Так что, пишите все, я с радостью почитаю
Я уважаю Ваше мнение и Ваше упорство.
Меня только смущает что Вы представляетесь то женщиной, то мужчиной.
Я хочу понять чего Вы стоите.
Извините, если обидел.
 

Uranium238

✩✩✩✩✩✩✩
27 Фев 2021
7
0
Я уважаю Ваше мнение и Ваше упорство.
Меня только смущает что Вы представляетесь то женщиной, то мужчиной.
Я хочу понять чего Вы стоите.
Извините, если обидел.
Прощу прощение, если ввела вас в заблуждение, есть дурная привычка писать от мужского лица когда быстро пишу
 

Matveyugru

✩✩✩✩✩✩✩
14 Ноя 2020
31
2
А такой вопрос,а вы расиатривали вариант использования сдвиговых регистров(хотя,сами понимаите,что это не самый лудший вариант)но может тоже окозатся рабочим
 

Uranium238

✩✩✩✩✩✩✩
27 Фев 2021
7
0
А такой вопрос,а вы расиатривали вариант использования сдвиговых регистров(хотя,сами понимаите,что это не самый лудший вариант)но может тоже окозатся рабочим
PCF8574 как раз является сдвиговым регистром, работающим по I2C