Подключение массива кнопок и светодиодов.

AlexSmith
Offline
Зарегистрирован: 21.09.2019

Доброго дня всем. Хотел попросить совета. Делаю миди контроллер. Ардуино due. Есть несколько плат по 10 кнопок и 30 светодиодов на каждой. Какую микросхему применить на каждом модуле и какую шину использовать для связки с ардуино. Рендеринг дизайна платы для наглядности. 

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

Я бы I2C использовал для связи всех этих плать с центральным модулем. Что касается микросхем, то, с одной сторороны полно всяких I2C GPIO расширителей вроде PCF8574, но если смотреть на цены, то получается что дешевле поставить несколько  ATTINY48 или что-то подобное, соответсвующим образом его запрограммировав.

AlexSmith
Offline
Зарегистрирован: 21.09.2019

Есть идея поставить тм1638 spi

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

Может сначала озвучите требования к блоку управления/индикации? Скорости, расстояния, помехоустойчивость и т.п.

 

AlexSmith
Offline
Зарегистрирован: 21.09.2019

По скорости особых нет задач в рамках скорости обычной клавы.. 30 раз в сек за глаза. расстояние до материнского модуля 20 см шлейф в мет. корпусе. Нажатия и обработка нескольких нажатых кнопок обязательно. По индикации - 30 светодиодов 10 в режиме шим. 

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

Соглашусь с asam - выделенный МК с чарлиплексингом будет дешевле в железе и масштабируемей, но дороже в программной реализации. Пачка I2C/SPI expander-ов типа MCP23017/MCP23S17 дешевле в программной реализации, но замороченней в железе. ШИМ, конечно, с них не получишь. Если уж очень хочется пошимить, то отдельный LED-драйвер типа PCA9685. 

AlexSmith
Offline
Зарегистрирован: 21.09.2019

посчитал что шим дорого выходит. Просто сделаю вкл-выкл. Либо пойтидругим путем. Просто шлейфом привести линии на кнопки и лед и сделать все на материнском блоке.

AlexSmith
Offline
Зарегистрирован: 21.09.2019

Поставил на плату 2 микросхемы mcp23017 на кнопки и PCA9586 на управление светодиодами. Получается можно в линию включить 8 таких плат.

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

Можно и больше, теоретически: см. SoftwareWire или что-то типа http://www.ti.com/product/PCA9548A

И зачем две MCP-шки на 10 кнопок? 

AlexSmith
Offline
Зарегистрирован: 21.09.2019

sadman41 пишет:

Можно и больше, теоретически: см. SoftwareWire или что-то типа http://www.ti.com/product/PCA9548A

И зачем две MCP-шки на 10 кнопок? 

1 mcp. вторая шим на диоды