Подключение массива кнопок и светодиодов.
- Войдите на сайт для отправки комментариев
Сб, 21/09/2019 - 20:08
Доброго дня всем. Хотел попросить совета. Делаю миди контроллер. Ардуино due. Есть несколько плат по 10 кнопок и 30 светодиодов на каждой. Какую микросхему применить на каждом модуле и какую шину использовать для связки с ардуино. Рендеринг дизайна платы для наглядности.
Я бы I2C использовал для связи всех этих плать с центральным модулем. Что касается микросхем, то, с одной сторороны полно всяких I2C GPIO расширителей вроде PCF8574, но если смотреть на цены, то получается что дешевле поставить несколько ATTINY48 или что-то подобное, соответсвующим образом его запрограммировав.
Есть идея поставить тм1638 spi
Может сначала озвучите требования к блоку управления/индикации? Скорости, расстояния, помехоустойчивость и т.п.
По скорости особых нет задач в рамках скорости обычной клавы.. 30 раз в сек за глаза. расстояние до материнского модуля 20 см шлейф в мет. корпусе. Нажатия и обработка нескольких нажатых кнопок обязательно. По индикации - 30 светодиодов 10 в режиме шим.
Соглашусь с asam - выделенный МК с чарлиплексингом будет дешевле в железе и масштабируемей, но дороже в программной реализации. Пачка I2C/SPI expander-ов типа MCP23017/MCP23S17 дешевле в программной реализации, но замороченней в железе. ШИМ, конечно, с них не получишь. Если уж очень хочется пошимить, то отдельный LED-драйвер типа PCA9685.
посчитал что шим дорого выходит. Просто сделаю вкл-выкл. Либо пойтидругим путем. Просто шлейфом привести линии на кнопки и лед и сделать все на материнском блоке.
Поставил на плату 2 микросхемы mcp23017 на кнопки и PCA9586 на управление светодиодами. Получается можно в линию включить 8 таких плат.
Можно и больше, теоретически: см. SoftwareWire или что-то типа http://www.ti.com/product/PCA9548A
И зачем две MCP-шки на 10 кнопок?
Можно и больше, теоретически: см. SoftwareWire или что-то типа http://www.ti.com/product/PCA9548A
И зачем две MCP-шки на 10 кнопок?
1 mcp. вторая шим на диоды