Сколько и какие ардуины нужны?

xayc73
Offline
Зарегистрирован: 12.12.2019
Всем привет! Я не особо железячник, хоть и имел опыт работы с ардуиной и парой других мк, но глобального ничего не организовывал. А теперь прилетела задача посерьезнее
Нужна помощь в выборе плат и того, как их можно заставить взаимодействовать как друг с другом, так и с компом
Итак, планируется несколько коробок с переключалками и подобным. Планируется все эти блоки объединить на какую-нибудь общую шину и подсоединить к компу. На компе софт, работа которого зависит от настроек на блоках. Причем в обратную сторону комп тоже может посылать блокам сигналы на включение лампочек.
Самая навороченная коробка состоит из:
1.  80 кнопок вкл/выкл
2.  3 тумблера вкл/выкл
3.  150 диодов
4.  10 переключателей на 6 положений
5.  дисплей монохромный на 2 строки
Дисплей к ардуине подключал, вроде тут не проблема. А вот цифровых I/O больше 200 и я хз, где найти такое кол-во разъемов. Да и аналоговых тоже
С шиной думал I2C заюзать, но там нужен ведущий, а у меня каждый из блоков может инициировать сигнал, как и комп. Комп предполагал подключить к одной из плат через USB-COM, но мне кажется херня. Сейчас задумываюсь, может есть платы с Ethernet и лучше пакетами общаться.
Помогите пожалуйста :)
nik182
Offline
Зарегистрирован: 04.05.2015

Какой бюджет на всё это? Смотрите в сторону ESP32.

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

Ну кнопки, тумблеры и переключатели могут быть подключены матрично. Одна нана может обслуживать матрицу 8х8 итого 81 одна кнопка. Итого на все  кнопки, тумблеры и переключатели потребуются 2 наны. Светодиоды проще всего взять типа WS2812, тогда достаточно будет одного пина, чтобы управлять всеми 150ми.

Я бы выделил одну нану на общение с компом по сериал порту, и все коробки подключал к ней по I2C

Цитата:
каждый из блоков может инициировать сигнал

А подробнее? В каком случае это происходит и какое максимальное время реакции допустимо?

xayc73
Offline
Зарегистрирован: 12.12.2019

По бюджетам пока ограничений нет, кроме как грани разумного :)

Esp32 из-за wi-fi?

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

Я бы не стал на WiFi делать. Время доставки сообщения не гарантировано. Если уж I2C никак не подходит (хотя там можно полл делать , да и мультимастер возможен), то соединить Ethernet -ом

xayc73
Offline
Зарегистрирован: 12.12.2019

Ого, я не знал про матрицы

это круто, спасибо

Про диоды не понял, т.к. они все по отдельности включаются, но матрицы тут видимо тоже спасут

про инициализацию, тумблер повернул или кнопку нажал и это сразу отобразилось на компе

чем меньше задержка, тем лучше, т.к. иногда надо часто тыкать :)

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

WS2812 это адресные RGB диоды. По одной линии можно индивидуально управлять несколькоми сотнями диодов.  

>> чем меньше задержка, тем лучше, т.к. иногда надо часто тыкать :)

Ну это понятно, а какая максимально допустимая? Одна десятая секунды, например, пойдет?

agnec2001
Offline
Зарегистрирован: 08.11.2019

xayc73 пишет:

Ого, я не знал про матрицы

Странно. Этот древний обычай пришёл к нам со времён первых калькуляторов, пультов от телевизоров и прочей бытовой техники.

xayc73 пишет:

Про диоды не понял, т.к. они все по отдельности включаются, но матрицы тут видимо тоже спасут

Можно и с матрицами повыёживаться, но проще, как написано в предыдущём посте, это сделать на адресной ленте. Схема подключения проста до безобразия, а возможности легко переплюнут хотелки Вашего проекта. Только не забывайте про ограничительный резистор.

Всего одним пином Вы сможете управлять каждым светодиодом ленты. Каждым. Отдельно. Можете выборочно зажечь любой светодиод любым цветом с нужной яркостью. Можете одной командой менять яркость сразу всех светодиодов. Про эффекты в канун Нового года вообще молчу.

У меня в машине летом это выглядело так: https://youtu.be/JevGwrsWoqk

Сейчас примерно так: https://youtu.be/JAwj44GiACo

nevkon
Offline
Зарегистрирован: 20.01.2015

i2c, wifi не стоит использовать если устройства ответственные. Рассмотрите лучше вариант RS485 - нужен будет адаптер на TTL на стороне ардуины и адаптер на usb/com на стороне ПК. Расстояние может измеряться сотнями метров, для связи надо всего 2 провода. Общение происходит как с com портом.

xayc73
Offline
Зарегистрирован: 12.12.2019

asam пишет:

WS2812 это адресные RGB диоды. По одной линии можно индивидуально управлять несколькоми сотнями диодов.  

Почитал, возможно подойдет, хотя не знаю, удобно ли их будет располагать, как мне удобно

asam пишет:

Ну это понятно, а какая максимально допустимая? Одна десятая секунды, например, пойдет?

Да, я думаю одна десятая норм

xayc73
Offline
Зарегистрирован: 12.12.2019

agnec2001 пишет:

Странно. Этот древний обычай пришёл к нам со времён первых калькуляторов, пультов от телевизоров и прочей бытовой техники.

Ну так я поэтому и пишу на форум для новичков :)

agnec2001 пишет:

Можно и с матрицами повыёживаться, но проще, как написано в предыдущём посте, это сделать на адресной ленте.

Я правильно понял, что с помощью матриц считывать переключатели, а управлять светодиодами с помощью адресной ленты? И каждый диод, судя по схеме, отделяется и их можно проводами соединять?

sadman41
Offline
Зарегистрирован: 19.10.2016

RS485 тут немного вне концепции (но её, наверное, и пересмотреть можно?)

Если в обе стороны пулять надо быстро и без потерь, то Ethernet - вариант неплохой.

xayc73
Offline
Зарегистрирован: 12.12.2019

sadman41 пишет:

RS485 тут немного вне концепции (но её, наверное, и пересмотреть можно?)

А в чем её можно пересмотреть?

sadman41 пишет:

Если в обе стороны пулять надо быстро и без потерь, то Ethernet - вариант неплохой.

Мне тоже Ethernet нравится, но я с ним не работал на МК

Если есть мк уже с портом, а программирование сводится к работе с API где есть уже какой-нибудь сокет tcp или udp, и ты тупо формируешь данные и пуляешь, то отлично

Правда вдруг для манипуляции с управлением мне достаточно простого контроллера, а тут уже в несколько раз круче нужен, то может и задумаюсь

sadman41
Offline
Зарегистрирован: 19.10.2016

xayc73 пишет:

sadman41 пишет:

RS485 тут немного вне концепции (но её, наверное, и пересмотреть можно?)

А в чем её можно пересмотреть?

В 485-м нужен мастер и каждая нода будет ждать, пока её опросят на предмет состояния матрицы переключателей.
 

xayc73 пишет:

Если есть мк уже с портом, а программирование сводится к работе с API где есть уже какой-нибудь сокет tcp или udp, и ты тупо формируешь данные и пуляешь, то отлично

Типа того. Есть адаптер для МК - см. Wiznet W5100 Mini Red.

Но задачка всё равно не из самых простых.

MaksVV
Offline
Зарегистрирован: 06.08.2015

ещё вариант CAN сеть. А с компом по уарт<->юсб. Дешевле Ethernet-а выйдет. 

sadman41
Offline
Зарегистрирован: 19.10.2016

По железной части дешевле (что нельзя сейчас сказать наверняка), по программной -  нет. В условиях неопределённости по топологии физики выигрывает Ethernet

nik182
Offline
Зарегистрирован: 04.05.2015

Вот вот. Не озвучены расстояния между платами, необходимая скорость реакции, количество мастеров в системе.  

xayc73
Offline
Зарегистрирован: 12.12.2019

sadman41 пишет:

Но задачка всё равно не из самых простых.

А что там сложного? 
Вроде лампочки включать :)

sadman41
Offline
Зарегистрирован: 19.10.2016

А Вы начните делать... Может действительно для Вас всё просто - только ардуину в руки возьми, как оно дальше само поскачет.

xayc73
Offline
Зарегистрирован: 12.12.2019

nik182 пишет:

Вот вот. Не озвучены расстояния между платами, необходимая скорость реакции, количество мастеров в системе.  

Тз пока нет, и видимо участвовать в его составлении буду я
Расстояния не больше 5 метров, скорость реакции незаметная глазу, количество мастеров не принципиально
Все, что я могу сказать

Хотя мне нравится модуль Ethernet и сама технология. Бюджет вроде есть, так что норм, и на запас ресурсов хватит, если что

А так, как много лампочек и переключателей использовать вроде понятно, с дисплеем тоже, как и с соединением с компом
Остается только кучу мк запрограммировать :)
 

xayc73
Offline
Зарегистрирован: 12.12.2019

sadman41 пишет:

А Вы начните делать... Может действительно для Вас всё просто - только ардуину в руки возьми, как оно дальше само поскачет.

Ну, мой вопрос был для пояснений, вдруг я что-то неочевидное не догнал ещё и не поскачет :)

sadman41
Offline
Зарегистрирован: 19.10.2016

Просто вы ещё такое собираетесь делать, а я уже "покушал". Поэтому Вы из сложностей в перспективе видите только как лампочки присоединить к ардуине, а я не только это.

Как ТЗ сформулируете, там и посмотрим. Сейчас трындеть о том, что может быть, а чего не может - смысла нет.

В качестве затравки могу порекомендовать почесать голову над тем, как удалённо включить один из 150 светодиодов, например.

 

xayc73
Offline
Зарегистрирован: 12.12.2019

sadman41 пишет:

Просто вы ещё такое собираетесь делать, а я уже "покушал". Поэтому Вы из сложностей в перспективе видите только как лампочки присоединить к ардуине, а я не только это.

Как ТЗ сформулируете, там и посмотрим. Сейчас трындеть о том, что может быть, а чего не может - смысла нет.

В качестве затравки могу порекомендовать почесать голову над тем, как удалённо включить один из 150 светодиодов, например.

Хорошо, я вас понял, спасибо, подумаю

agnec2001
Offline
Зарегистрирован: 08.11.2019

xayc73 пишет:
Я правильно понял, что с помощью матриц считывать переключатели, а управлять светодиодами с помощью адресной ленты?

Да.

xayc73 пишет:
И каждый диод, судя по схеме, отделяется и их можно проводами соединять?

Можно. Можно ленту порезать на отрезки нужной длины (хоть по одному) и спаять, а можно такие светодиоды и россыпью купить. Кстати плотность размещения светодиодов на ленте разная. Есть и 30 штук на метр, а есть и 144. Только не перепутайте провода. Сигнал по ленте идёт только в одну сторону. Один диод с перепутанными входом и выходом не даст управлять всеми последующими. Есть кстати такие светодиоды и в привычном корпусе с четырьмя ногами. Это если нужно их расположить в произвольных местах.

А есть и похожие с виду с четырьмя ногами но обычные RGB. Эти не пойдут.

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

xayc73 пишет:

Почитал, возможно подойдет, хотя не знаю, удобно ли их будет располагать, как мне удобно

Ну они не только в виде лент продаются, можно отдельными -

https://ru.aliexpress.com/item/32805045364.html

Или матрицами

https://ru.aliexpress.com/item/32866257243.html

 

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

xayc73 пишет:

Тз пока нет, и видимо участвовать в его составлении буду я
Расстояния не больше 5 метров, скорость реакции незаметная глазу, количество мастеров не принципиально
Все, что я могу сказать

Хотя мне нравится модуль Ethernet и сама технология. Бюджет вроде есть, так что норм, и на запас ресурсов хватит, если что

Ну если счет идет на метры и "коробок" относительно много, то тут Ethernet лучше всего на мой взгляд. Только надо брать Еth контроллеры cо встроенным TCP\IP стеком что бы не отъедать и так ограниченные рессурсы ардуины. Типа W5100 или W5500