Могу ли я использовать MCP23017 для подключения нескольких модулей RC522?
Хочу подключить несколько (ровно 64) модулей RFID-RC522 к одному Nodemcu ESP8266. Я уже знаю, что можно подключить несколько RC522, просто используя разные контакты для вывода SDA, в то время как остальные контакты RC522 могут быть подключены к одним и тем же контактам на ESP8266. Но не так уж много, конечно.
Мое исследование на тему "как мне получить больше контактов" привело меня к расширителю порта MCP23017. Дальнейшие исследования не совсем ясны, могу ли я использовать эти контакты в качестве контактов ChipSelect/SlaveSelect для RC522. Два libaries я нашел для MCP23017 (blemasle/с Arduino mcp23017 и компания Adafruit-MCP23017 , похоже, не поддерживают это, когда я использую miguelbalboa/радиочастотной идентификации (который я должен использовать, так как там, кажется, нет), потому что МСР-библиотеки не обеспечивают "PIN" для MFRC522 конструктор(?).
Итак, это просто "программное обеспечение" или техническое ограничение, и то, что я хочу, просто невозможно? Мои исследования были не совсем ясны по этому поводу, но я также новичок в электронике и, возможно, исследую в неправильном направлении.
@kolibri, 👍-1
Обсуждение1 ответ
Конечно, вы можете использовать расширители ввода-вывода для выводов SPI-устройств с возможностью выбора чипа. Однако вам придется изменить библиотеки устройств, чтобы поддерживать их, потому что никто не будет этого делать по умолчанию, если это не очень специфическая библиотека.
Однако в любом случае вам, вероятно, не очень повезет с вашим проектом, так как вы, скорее всего, столкнетесь с проблемами с разветвлением и емкостью шины еще до того, как вы хотя бы удаленно приблизитесь к 64 устройствам на вашей шине.
Вам потребуется добавить дополнительные драйверы шины и разделить шину, чтобы уменьшить и распределить нагрузку, и в этот момент было бы проще и дешевле просто использовать несколько микроконтроллеров с несколькими RC522 по одному.
- Как читать и записывать EEPROM в ESP8266
- Как сделать выводы Tx и Rx на ESP-8266-01 в выводах GPIO?
- Как навсегда изменить скорость передачи данных ESP8266 (12e)?
- Как заставить 5-вольтовое реле работать с NodeMCU
- Как исправить: Invalid conversion from 'const char*' to 'char*' [-fpermissive]
- ESP8266 не подключается к Wi-Fi
- AT-команда не отвечает на последовательный монитор
- Разница между этими двумя платами NodeMCU?
Для чипа выберите pin вам просто нужен цифровой МАКСИМУМ или МИНИМУМ. Любой цифровой вывод на любом детандере может сделать это. Вы можете подключить несколько этих расширителей к одним и тем же штифтам SDA и SCL, если они имеют разные адреса. Я не уверен, сколько возможных адресов существует для этих чипов. Если есть по крайней мере 8 возможностей, то вы можете получить все это от двух контактов на Arduino., @Delta_G
Вы, вероятно, будете страдать от проблем с емкостью шины и разветвлением задолго до того, как доберетесь до 64 устройств, независимо от расширителей. Думайте нестандартно., @Majenko