Как подключить несколько MCP23017 к Arduino?
Я работаю над проектом и пытаюсь понять, как подключить несколько расширителей ввода-вывода MCP23017 к одному Arduino. Все руководства, которые я нашел в поисках информации, только объясняют, как подключить один чип MCP или как обращаться к нескольким чипам MCP. Кажется, никто не объясняет, как соединить их физически. Кстати, я говорю о версии чипа I2C.
@Henrik Techguy, 👍1
1 ответ
Лучший ответ:
▲ 3
Если вы знаете, как соединить одну микросхему, вы знаете, как соединить много микросхем. Один или восемь — это одно и то же.
Все выводы SCL подключаются к выводу SCL платы Arduino. Все контакты SDA подключаются к SDA на Arduino.
Просто убедитесь, что каждому чипу присвоен уникальный адрес с помощью контактов A0-A2, как подробно описано в техническое описание.
,
@Majenko
Смотрите также:
- Как использовать SPI на Arduino?
- Как решить проблему «avrdude: stk500_recv(): programmer is not responding»?
- Как создать несколько запущенных потоков?
- Как подключиться к Arduino с помощью WiFi?
- avrdude ser_open() can't set com-state
- Как узнать частоту дискретизации?
- Что такое Serial.begin(9600)?
- Я закирпичил свой Arduino Uno? Проблемы с загрузкой скетчей на плату
От одного до восьми — то же самое, десять — это слишком много с тремя битами адреса., @Jot
Вы также можете адресовать их все одним и тем же адресом и использовать контакты A0-A2 в качестве выбора микросхемы. Например, отдельные контакты должны быть подключены к A0, а A1, A2 — к Gnd. Держите A0 высоко в коде. Когда вы хотите поговорить с устройством, установите низкий уровень A0 для этого устройства, используйте адрес I2C для A0-A1-A2 = 0, затем верните A0 для этого устройства обратно на высокий уровень. Следующее устройство, используйте следующую линию A0 и так далее. Вы можете расширить еще дальше, с A1/A2 = 0,0, и 0,1, и 1,0, и 1,1, с 32 линиями выбора ведомых устройств (запитанных даже от 4 сдвиговых регистров, всего 3 линии управления, необходимые для загрузить сдвиговые регистры)., @CrossRoads