Считыватель Rfid и экран SD-карты не работают вместе
Недавно я столкнулся с проблемой, которая не даёт мне покоя уже несколько дней. Я хочу сделать проект с использованием считывателя RFID и регистрировать данные на SD-карте с помощью Arduino Nano, но, судя по всему, что бы я ни делал, я не могу заставить их работать вместе по SPI. Они оба работают по отдельности, а SD-шилд работает параллельно со считывателем RFID, но RFID не работает параллельно с SD-шилдом.
Я абсолютно уверен, что подключение правильное, выбор ведомого устройства на обоих модулях подключен к разным цифровым контактам, и оба подключены через двунаправленные преобразователи уровня.
Я заметил, что считыватель RFID работает нормально, когда я отсоединяю вывод MISO от SD shield. Я пробовал ставить диод между SD MISO и цифровым выводом 12, я пробовал добавлять подтягивающие резисторы на оба вывода SS, я пробовал добавлять резисторы на линии MISO, я пробовал подтягивать HIGH к SS, который я не использую, и LOW к тому, который я хочу активировать. Похоже, ничего не работает, и у меня закончились идеи. Последнее, что я попробую, это подключить модули к отдельным VCC, но я не верю, что это что-то изменит.
Надеюсь, кто-нибудь даст совет по моей проблеме.
Заранее спасибо
@sundaysfantasy, 👍1
Обсуждение2 ответа
Лучший ответ:
SD-карты (или, точнее, их коммутационные платы) не склонны подчиняться правилам в отношении SPI. В частности, вывод MISO не устанавливается на высокий импеданс, когда не выбран выбор ведомого устройства.
Вы можете исправить это с помощью буфера с тремя состояниями, на который вы подаете линию miso SD-карты и который контролируется выбором подчиненного устройства. Выход из буфера идет на MISO Arduino.
Я использовал буфер с тремя состояниями, и это сработало, спасибо большое!, @sundaysfantasy
Единственный способ заставить его работать — купить отдельную плату регистрации данных SD (в которой есть карта SD через SPI).
Когда я использовал SRAM (SPI) вместе с SD-картой (SPI), это никогда не работало. По крайней мере, на Arduino (Uno или Mega).
- Проблема с SPI-коммуникациями с использованием NodeMCU v 3, Nano и SD
- Проблема совместного использования MISO с несколькими RFID-считывателями RC522
- Какие контакты можно использовать для выбора микросхемы (CS, CC) на Arduino Nano Every?
- Эмуляция стандартного периферийного USB-устройства Mifare с помощью RFID-RC522
- Библиотека I2C MIFARE RC522
- Более 4 MCP23S17 на 1 шине SPI
- Проблема с NRF24L01
- Arduino UNO + Ethernet Shield + ЖК-дисплей + RFID, но RFID не работает
Покажите схемы соединений и код, декларирующий соединения контактов., @Maximilian Gerhardt