Сколько и какие ардуины нужны?
- Войдите на сайт для отправки комментариев
Чт, 12/12/2019 - 01:00
Всем привет! Я не особо железячник, хоть и имел опыт работы с ардуиной и парой других мк, но глобального ничего не организовывал. А теперь прилетела задача посерьезнее
Нужна помощь в выборе плат и того, как их можно заставить взаимодействовать как друг с другом, так и с компом
Итак, планируется несколько коробок с переключалками и подобным. Планируется все эти блоки объединить на какую-нибудь общую шину и подсоединить к компу. На компе софт, работа которого зависит от настроек на блоках. Причем в обратную сторону комп тоже может посылать блокам сигналы на включение лампочек.
Самая навороченная коробка состоит из:
1. 80 кнопок вкл/выкл
2. 3 тумблера вкл/выкл
3. 150 диодов
4. 10 переключателей на 6 положений
5. дисплей монохромный на 2 строки
Дисплей к ардуине подключал, вроде тут не проблема. А вот цифровых I/O больше 200 и я хз, где найти такое кол-во разъемов. Да и аналоговых тоже
С шиной думал I2C заюзать, но там нужен ведущий, а у меня каждый из блоков может инициировать сигнал, как и комп. Комп предполагал подключить к одной из плат через USB-COM, но мне кажется херня. Сейчас задумываюсь, может есть платы с Ethernet и лучше пакетами общаться.
Помогите пожалуйста :)
Какой бюджет на всё это? Смотрите в сторону ESP32.
Ну кнопки, тумблеры и переключатели могут быть подключены матрично. Одна нана может обслуживать матрицу 8х8 итого 81 одна кнопка. Итого на все кнопки, тумблеры и переключатели потребуются 2 наны. Светодиоды проще всего взять типа WS2812, тогда достаточно будет одного пина, чтобы управлять всеми 150ми.
Я бы выделил одну нану на общение с компом по сериал порту, и все коробки подключал к ней по I2C
А подробнее? В каком случае это происходит и какое максимальное время реакции допустимо?
По бюджетам пока ограничений нет, кроме как грани разумного :)
Esp32 из-за wi-fi?
Я бы не стал на WiFi делать. Время доставки сообщения не гарантировано. Если уж I2C никак не подходит (хотя там можно полл делать , да и мультимастер возможен), то соединить Ethernet -ом
Ого, я не знал про матрицы
это круто, спасибо
Про диоды не понял, т.к. они все по отдельности включаются, но матрицы тут видимо тоже спасут
про инициализацию, тумблер повернул или кнопку нажал и это сразу отобразилось на компе
чем меньше задержка, тем лучше, т.к. иногда надо часто тыкать :)
WS2812 это адресные RGB диоды. По одной линии можно индивидуально управлять несколькоми сотнями диодов.
>> чем меньше задержка, тем лучше, т.к. иногда надо часто тыкать :)
Ну это понятно, а какая максимально допустимая? Одна десятая секунды, например, пойдет?
Ого, я не знал про матрицы
Странно. Этот древний обычай пришёл к нам со времён первых калькуляторов, пультов от телевизоров и прочей бытовой техники.
Можно и с матрицами повыёживаться, но проще, как написано в предыдущём посте, это сделать на адресной ленте. Схема подключения проста до безобразия, а возможности легко переплюнут хотелки Вашего проекта. Только не забывайте про ограничительный резистор.
Всего одним пином Вы сможете управлять каждым светодиодом ленты. Каждым. Отдельно. Можете выборочно зажечь любой светодиод любым цветом с нужной яркостью. Можете одной командой менять яркость сразу всех светодиодов. Про эффекты в канун Нового года вообще молчу.
У меня в машине летом это выглядело так: https://youtu.be/JevGwrsWoqk
Сейчас примерно так: https://youtu.be/JAwj44GiACo
i2c, wifi не стоит использовать если устройства ответственные. Рассмотрите лучше вариант RS485 - нужен будет адаптер на TTL на стороне ардуины и адаптер на usb/com на стороне ПК. Расстояние может измеряться сотнями метров, для связи надо всего 2 провода. Общение происходит как с com портом.
WS2812 это адресные RGB диоды. По одной линии можно индивидуально управлять несколькоми сотнями диодов.
Почитал, возможно подойдет, хотя не знаю, удобно ли их будет располагать, как мне удобно
Ну это понятно, а какая максимально допустимая? Одна десятая секунды, например, пойдет?
Да, я думаю одна десятая норм
Странно. Этот древний обычай пришёл к нам со времён первых калькуляторов, пультов от телевизоров и прочей бытовой техники.
Ну так я поэтому и пишу на форум для новичков :)
Можно и с матрицами повыёживаться, но проще, как написано в предыдущём посте, это сделать на адресной ленте.
Я правильно понял, что с помощью матриц считывать переключатели, а управлять светодиодами с помощью адресной ленты? И каждый диод, судя по схеме, отделяется и их можно проводами соединять?
RS485 тут немного вне концепции (но её, наверное, и пересмотреть можно?)
Если в обе стороны пулять надо быстро и без потерь, то Ethernet - вариант неплохой.
RS485 тут немного вне концепции (но её, наверное, и пересмотреть можно?)
А в чем её можно пересмотреть?
Если в обе стороны пулять надо быстро и без потерь, то Ethernet - вариант неплохой.
Мне тоже Ethernet нравится, но я с ним не работал на МК
Если есть мк уже с портом, а программирование сводится к работе с API где есть уже какой-нибудь сокет tcp или udp, и ты тупо формируешь данные и пуляешь, то отлично
Правда вдруг для манипуляции с управлением мне достаточно простого контроллера, а тут уже в несколько раз круче нужен, то может и задумаюсь
RS485 тут немного вне концепции (но её, наверное, и пересмотреть можно?)
А в чем её можно пересмотреть?
Типа того. Есть адаптер для МК - см. Wiznet W5100 Mini Red.
Но задачка всё равно не из самых простых.
ещё вариант CAN сеть. А с компом по уарт<->юсб. Дешевле Ethernet-а выйдет.
По железной части дешевле (что нельзя сейчас сказать наверняка), по программной - нет. В условиях неопределённости по топологии физики выигрывает Ethernet
Вот вот. Не озвучены расстояния между платами, необходимая скорость реакции, количество мастеров в системе.
Но задачка всё равно не из самых простых.
А что там сложного?
Вроде лампочки включать :)
А Вы начните делать... Может действительно для Вас всё просто - только ардуину в руки возьми, как оно дальше само поскачет.
Вот вот. Не озвучены расстояния между платами, необходимая скорость реакции, количество мастеров в системе.
Тз пока нет, и видимо участвовать в его составлении буду я
Расстояния не больше 5 метров, скорость реакции незаметная глазу, количество мастеров не принципиально
Все, что я могу сказать
Хотя мне нравится модуль Ethernet и сама технология. Бюджет вроде есть, так что норм, и на запас ресурсов хватит, если что
А так, как много лампочек и переключателей использовать вроде понятно, с дисплеем тоже, как и с соединением с компом
Остается только кучу мк запрограммировать :)
А Вы начните делать... Может действительно для Вас всё просто - только ардуину в руки возьми, как оно дальше само поскачет.
Ну, мой вопрос был для пояснений, вдруг я что-то неочевидное не догнал ещё и не поскачет :)
Просто вы ещё такое собираетесь делать, а я уже "покушал". Поэтому Вы из сложностей в перспективе видите только как лампочки присоединить к ардуине, а я не только это.
Как ТЗ сформулируете, там и посмотрим. Сейчас трындеть о том, что может быть, а чего не может - смысла нет.
В качестве затравки могу порекомендовать почесать голову над тем, как удалённо включить один из 150 светодиодов, например.
Просто вы ещё такое собираетесь делать, а я уже "покушал". Поэтому Вы из сложностей в перспективе видите только как лампочки присоединить к ардуине, а я не только это.
Как ТЗ сформулируете, там и посмотрим. Сейчас трындеть о том, что может быть, а чего не может - смысла нет.
В качестве затравки могу порекомендовать почесать голову над тем, как удалённо включить один из 150 светодиодов, например.
Хорошо, я вас понял, спасибо, подумаю
Да.
Можно. Можно ленту порезать на отрезки нужной длины (хоть по одному) и спаять, а можно такие светодиоды и россыпью купить. Кстати плотность размещения светодиодов на ленте разная. Есть и 30 штук на метр, а есть и 144. Только не перепутайте провода. Сигнал по ленте идёт только в одну сторону. Один диод с перепутанными входом и выходом не даст управлять всеми последующими. Есть кстати такие светодиоды и в привычном корпусе с четырьмя ногами. Это если нужно их расположить в произвольных местах.
А есть и похожие с виду с четырьмя ногами но обычные RGB. Эти не пойдут.
Почитал, возможно подойдет, хотя не знаю, удобно ли их будет располагать, как мне удобно
Ну они не только в виде лент продаются, можно отдельными -
https://ru.aliexpress.com/item/32805045364.html
Или матрицами
https://ru.aliexpress.com/item/32866257243.html
Тз пока нет, и видимо участвовать в его составлении буду я
Расстояния не больше 5 метров, скорость реакции незаметная глазу, количество мастеров не принципиально
Все, что я могу сказать
Хотя мне нравится модуль Ethernet и сама технология. Бюджет вроде есть, так что норм, и на запас ресурсов хватит, если что
Ну если счет идет на метры и "коробок" относительно много, то тут Ethernet лучше всего на мой взгляд. Только надо брать Еth контроллеры cо встроенным TCP\IP стеком что бы не отъедать и так ограниченные рессурсы ардуины. Типа W5100 или W5500