Расширитель цифровых портов MCP23017 позволяет расширить количество входов/выходов системы
Каждый расширитель способен дополнительно добавить в систему 16 портов. Подключение идет по I2C шине используя SDA и SCL управляющие сигналы.
Можно подключить до 4-х модулей, тем самым расширив количество портов системы на 64 цифровых входа/выхода.
Для правильной работы системы необходимо подключить SDA и SCL, они должны быть подтянуты к питанию на модуле, если этого нет то подтяните их с помощью резисторов 4,7к.
Сигнал reset должен быть подтянут к питанию, а выводами A0,A1,A2 выбирается адрес модуля и он должен быть прописан в настройках.
A0 | A1 | A2 | Chip адрес | I2C адрес |
---|---|---|---|---|
GND | GND | GND | 0(000) | 0x20 |
High | GND | GND | 1(001) | 0x21 |
GND | High | GND | 2(002) | 0x22 |
High | High | GND | 3(003) | 0x23 |
GND | GND | High | 4(004) | 0x24 |
High | GND | High | 5(005) | 0x25 |
GND | High | High | 6(006) | 0x26 |
High | High | VCC | 7(007) | 0x27 |
Для конфигурации модуля всегда сначала описываем сам модуль и потом порты входа/выхода которые относятся к данному модулю.
При вызове расширителя необходимо указать его адрес, соответствующий выставленному выводами A0,A1,A2 и индекс имеющий значения от 1 до 4, где при выборе 1 будет нумерация pin 100-115, при выборе 2 200-215 и т.д.
При описание входов правила такие же как и для обычных физических входов, при описании выходов правила как для обычных выводов Gpio.