"Двухядерный" Ардуино?

На этом форуме Вы можете задать вопросы знатокам программы и автору.
Ответить
DWD
Лейтенант
Сообщения: 353
Зарегистрирован: 18.10.2015{, 13:51}
Репутация: 5
Откуда: Кривой Рог

"Двухядерный" Ардуино?

#1

Сообщение DWD » 25.12.2017{, 13:55}

Для одного проекта не хватает портов одного МК. Если поставить другой, более мощный МК, то портов и ресурсов будет с излишком, но цена решения неприемлема.

Возможно ли поставить два одинаковых, более дешёвых МК в одно устройство, но так, что бы они оба работали на одну клавиатуру и дисплей?

Кое какой "дубовый" вариант я вижу, но может есть какие-то изящные решения?
Изображение

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

"Двухядерный" Ардуино?

#2

Сообщение pan » 25.12.2017{, 14:27}

распределить им "обязанности".
один пусть занимается клавой и чем там ещё, другой дисплеем.
и первый будет отсылать другому что надо изобразить на дисплее. 
 а не проще ли нс595 копеечную поставить?

DWD
Лейтенант
Сообщения: 353
Зарегистрирован: 18.10.2015{, 13:51}
Репутация: 5
Откуда: Кривой Рог

"Двухядерный" Ардуино?

#3

Сообщение DWD » 25.12.2017{, 15:42}

595-я не поможет.
Попробую конкретизировать задачку...
Это 4-х канальная зарядка-анализатор батарей. Каждый канал независим.

Берём 328-ю Мегу. Требуется: 
- 8 аналоговых портов - есть;
- 8 ШИМ выходов - нет. Есть только 6, их и берём все;
- дисплей 6 портов - есть;
- зуммер 1 порт - есть;
Остался тлько один цифровой порт, но изгаляться системой меню на одной кнопке - извращение.

Мега 2560 подходит, но она в 5 раз дороже 328-й...

Берём две 328-х и распределяем на каждую по 2 канала:
- 4 аналоговых портов - есть;
- 4 ШИМ выходов - есть;
- дисплей 6 портов на одном МК - есть;
- зуммер 1 порт - есть;

На одном МК, самом загруженном из-за дисплея, остаются свободными 4 аналорговых порта и 4 цифровых. Хватит и на кнопки и на зуммер и на вентилятор и даже на термометр...
А ещё остался второй МК, на котором свободны 4 аналоговых и 9 цифровых портов. Хоть обвешайся периферией...

Вопрос заключается в согласовании работы и обмена информацией между этими двумя МК?..
Изображение

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

"Двухядерный" Ардуино?

#4

Сообщение pan » 25.12.2017{, 16:10}

DWD писал(а):обмена информацией между этими двумя МК
да хоть по модбасу
DWD писал(а):595-я не поможет
 тогда оставить всё на 328 а для 8 шимов использовать отдельную микруху

DWD
Лейтенант
Сообщения: 353
Зарегистрирован: 18.10.2015{, 13:51}
Репутация: 5
Откуда: Кривой Рог

"Двухядерный" Ардуино?

#5

Сообщение DWD » 25.12.2017{, 16:22}

pan писал(а):да хоть по модбасу
Ещё не знаю, что это такое, и как его едят...
pan писал(а):для 8 шимов использовать отдельную микруху
Названия не подскажете?
Последний раз редактировалось DWD 25.12.2017{, 16:22}, всего редактировалось 1 раз.
Изображение

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

"Двухядерный" Ардуино?

#6

Сообщение pan » 25.12.2017{, 16:44}

DWD писал(а):не знаю, что это такое,
 почитайте. крайне полезная штука.

а вообще можно просто отправлять в ком порт строки с разными параметрами, а на другом вылавливать
нужные значения. в общем дело фантазии)

микруху не подскажу, ибо не было таких нужд у меня. если попадется напишу

Добавлено (25.12.2017, 16:44)
---------------------------------------------
например это PCA9685
но надо даташит читать что и как в ней. пока некогда...

DWD
Лейтенант
Сообщения: 353
Зарегистрирован: 18.10.2015{, 13:51}
Репутация: 5
Откуда: Кривой Рог

"Двухядерный" Ардуино?

#7

Сообщение DWD » 25.12.2017{, 17:57}

pan писал(а):например это PCA9685
Спасибо, но это сложновато для меня.
Изображение

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

"Двухядерный" Ардуино?

#8

Сообщение pan » 25.12.2017{, 18:05}

шутите? я думал вы поняли ..


СпойлерПоказать
Изображение
 всё уже готовое
Последний раз редактировалось pan 25.12.2017{, 18:05}, всего редактировалось 1 раз.

DWD
Лейтенант
Сообщения: 353
Зарегистрирован: 18.10.2015{, 13:51}
Репутация: 5
Откуда: Кривой Рог

"Двухядерный" Ардуино?

#9

Сообщение DWD » 25.12.2017{, 18:40}

Понятно.
Просто я сижу на старой версии 2.4, а там такого нет.

P.S.
Только, знаете ли, ерунда получается - PCA9685 стоит больше, чем Мега 2560...
Последний раз редактировалось DWD 25.12.2017{, 18:43}, всего редактировалось 1 раз.
Изображение

krom23
Лейтенант
Сообщения: 444
Зарегистрирован: 06.09.2015{, 15:18}
Репутация: 12
Откуда: Калуга
Имя: Андрей

"Двухядерный" Ардуино?

#10

Сообщение krom23 » 25.12.2017{, 21:13}

DWD писал(а):PCA9685 стоит больше, чем Мега 2560...
Это где вас так надурить хотят? Взгляните сюдой Тыц.

KSP
Лейтенант
Сообщения: 304
Зарегистрирован: 18.09.2015{, 14:00}
Репутация: 28
Откуда: Саратов
Имя: Сергей

"Двухядерный" Ардуино?

#11

Сообщение KSP » 26.12.2017{, 19:20}

Я когда не хватает пинов просто соединяю между собой две ардуино RX i TX только их необходимо перевернуть на одной из плат, и пользуюсь отправкой  ВАРТ из программы все прекрасно работает. Просто отрезаю ЮСБ от кабелей которые идут в комплекте переворачиваю  RX i TX , а питающие паралелю и запитываю платы.
S

DWD
Лейтенант
Сообщения: 353
Зарегистрирован: 18.10.2015{, 13:51}
Репутация: 5
Откуда: Кривой Рог

"Двухядерный" Ардуино?

#12

Сообщение DWD » 26.12.2017{, 22:35}

KSP, с подключением между собой - понятно, а вот с "отправкой  ВАРТ из программы" я не понял. Можете рассказать подробнее и простенький пример привести, как данные в памяти одной Ардуино передать в паямть другой?
Изображение

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

"Двухядерный" Ардуино?

#13

Сообщение pan » 26.12.2017{, 22:41}

DWD писал(а):данные в памяти одной Ардуино передать в паямть другой
 может пора получше изучить штатные блоки?       


СпойлерПоказать
Изображение

yuriy
Рядовой
Сообщения: 8
Зарегистрирован: 08.11.2017{, 10:12}
Репутация: 0
Откуда: Москва

"Двухядерный" Ардуино?

#14

Сообщение yuriy » 27.12.2017{, 09:51}

Самое оптимальное решение поставить расширитель портов. Как минимум проще программировать будет.

DWD
Лейтенант
Сообщения: 353
Зарегистрирован: 18.10.2015{, 13:51}
Репутация: 5
Откуда: Кривой Рог

"Двухядерный" Ардуино?

#15

Сообщение DWD » 27.12.2017{, 15:15}

pan, а параметры переменной UART появляются только тогда, когда две Ардуинки будут соединены между собой?
Изображение

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

"Двухядерный" Ардуино?

#16

Сообщение pan » 27.12.2017{, 15:28}

да можете хоть откуда присылать переменные. они отправляются/принимаются с индексом. в справке по блоку в конце есть описание как формируются данные для отправки и приема.
ставите на плату блок отправки переменной. каждому блоку присваивается номер(индекс)
в принимающей стороне в блоке указываете нужный индекс.
какие еще параметры нужны?

DWD
Лейтенант
Сообщения: 353
Зарегистрирован: 18.10.2015{, 13:51}
Репутация: 5
Откуда: Кривой Рог

"Двухядерный" Ардуино?

#17

Сообщение DWD » 27.12.2017{, 15:35}

И ещё вопрос не случай альтернативного варианта...

Будет ли работать стандартный дисплей 1602, если все его выводы во время работы отключить от одного МК и подключить к другому МК?
Изображение

pan
Полковник
Сообщения: 2860
Зарегистрирован: 13.04.2017{, 11:57}
Репутация: 204
Имя: noname

"Двухядерный" Ардуино?

#18

Сообщение pan » 27.12.2017{, 15:39}

этого не знаю. ни когда не приходилось так делать.

KSP
Лейтенант
Сообщения: 304
Зарегистрирован: 18.09.2015{, 14:00}
Репутация: 28
Откуда: Саратов
Имя: Сергей

"Двухядерный" Ардуино?

#19

Сообщение KSP » 27.12.2017{, 20:05}

DWD просто вставьте в плату из встроенного блока "ВАРТ" " отправка переменной в ВАРТ" появится кирпичик с цифрами , потом нажмите на него двойным щелчком и в появившемся окне в самом низу справа будет " информация", нажав на нее увидите как работает этот блок. Там все подробно описано, все  переменные можно сохранять и вставлять в другую плату из файла, вернее не в плату а в другой проект.
Я тоже никогда не переключал дисплеи слишком много проводов , но по идее не будет  при переключении ног не пройдет команда для  обнуления дисплея наверное.
Последний раз редактировалось KSP 27.12.2017{, 20:12}, всего редактировалось 1 раз.
S

Аватара пользователя
Noname
Сержант
Сообщения: 120
Зарегистрирован: 06.01.2016{, 21:53}
Репутация: 1
Откуда: Москва
Имя: Анатолий

"Двухядерный" Ардуино?

#20

Сообщение Noname » 29.12.2017{, 20:46}

Подключите дисплей по I2C (переходник) , сэкономите порты, возможно обойдетесь одной ардуиной.

Ответить

Вернуться в «Спросить у знатоков»