MFRCC522 "Является дефектом или Неизвестным"

Я использую считыватель RC522 с Arduino UNO. Это библиотека, которой я пользуюсь.

Но когда я пытаюсь проверить прошивку, в серийном номере я получаю такую ошибку: Версия прошивки: 0x12, результат: дефект или неизвестен

Я проверил соединения, и все они были правильными. Мой RC522 нуждается в 3,3 В, и он подключен к контакту 3,3 В моей платы Arduino. Также все штифты припаяны.

Вот код проверки прошивки (он прилагался к библиотеке):

/*
 * --------------------------------------------------------------------------------------------------------------------
 * Пример скетча/программы для тестирования прошивки.
 * --------------------------------------------------------------------------------------------------------------------
 * Это пример библиотеки MFRC522; для получения дополнительной информации и других примеров см.: https://github.com/miguelbalboa/rfid
 * 
 * В этом примере проверьте прошивку модуля чтения MFRC522, можно проверить только известную версию. Если тест прошел
 * это не значит, что ваш модуль безупречен! Некоторые модули имеют плохие или сломанные антенны или PICC сломан.
 *
* @автор Rotzbua
 * лицензия @license Выпущена в общественное достояние.
 *
* Типичная используемая компоновка контактов:
 * -----------------------------------------------------------------------------------------
 *             MFRC522      Arduino       Arduino   Arduino    Arduino          Arduino
 *             Reader/PCD   Uno/101       Mega      Nano v3    Leonardo/Micro   Pro Micro
 * Signal      Pin          Pin           Pin       Pin        Pin              Pin
 * -----------------------------------------------------------------------------------------
 * RST/Reset   RST          9             5         D9         RESET/ICSP-5     RST
 * SPI SS      SDA(SS)      10            53        D10        10               10
 * SPI MOSI    MOSI         11 / ICSP-4   51        D11        ICSP-4           16
 * SPI MISO    MISO         12 / ICSP-1   50        D12        ICSP-1           14
 * SPI SCK     SCK          13 / ICSP-3   52        D13        ICSP-3           15
 */

#include <SPI.h>
#include <MFRC522.h>

#define RST_PIN         9          // Настраивается, см. типичную компоновку выводов выше
#define SS_PIN          10         // Конфигурируемый, см. типичный макет pin выше

MFRC522 mfrc522(SS_PIN, RST_PIN);  // Create MFRC522 instance

/**
 * Проверить прошивку только один раз при запуске
 */
void setup() {
  Serial.begin(9600);   // Initialize serial communications with the PC
  while (!Serial);      // Do nothing if no serial port is opened (added for Arduinos based on ATMEGA32U4)
  SPI.begin();          // Init SPI bus
  mfrc522.PCD_Init();   // Init MFRC522 module
  delay(5);
  
  Serial.println(F("*****************************"));
  Serial.println(F("MFRC522 Digital self test"));
  Serial.println(F("*****************************"));
  mfrc522.PCD_DumpVersionToSerial();  // Show version of PCD - MFRC522 Card Reader
  Serial.println(F("-----------------------------"));
  Serial.println(F("Only known versions supported"));
  Serial.println(F("-----------------------------"));
  Serial.println(F("Performing test..."));
  bool result = mfrc522.PCD_PerformSelfTest(); // perform the test
  Serial.println(F("-----------------------------"));
  Serial.print(F("Result: "));
  if (result)
    Serial.println(F("OK"));
  else
    Serial.println(F("DEFECT or UNKNOWN"));
  Serial.println();
}

void loop() {} 

Edit: Процесс, которым я следовал, чтобы установить библиотеку, был: Sketch > include library >> add .Библиотека Zip

, 👍1

Обсуждение

Вы также установили заземление между Arduino и MFRC522, верно?, @timemage

вы имеете в виду подключение GND MFRC22 к одному из выводов GND arduino, @alan smith

Схемы, как правило, работают лучше, когда они есть... *схемы*. Так что, да, вот в чем вопрос., @timemage

ну ... да, я это сделал, @alan smith

Я загрузил ваш код, как показано на рисунке, в официальный UNO и подключил его к модулю RC522 ("RFID-RC522"), как описано. Он показывает версию прошивки и " Результат: ОК`. Я сделал это под ядром AVR 1.8.3, используя как основную ветвь, так и самый последний тег (1.4.8) репозитория библиотеки. Просмотр некоторых хорошо освещенных изображений проводки и припоя в фокусе может быть информативным., @timemage

Некоторые идеи: Контакты SPI вашего Arduino. являются 5 В, независимо от того, используете ли вы вывод 3,3 В для питания RFC. Возможно, Arduino убил RFC или, возможно, на выводе RFC MISO недостаточно напряжения для связи с Arduino. А вывод питания 3,3 вольта Arduino может подавать ток только 150 мА. Это может быть слишком мало для устройства, которое должно передавать RFID - чип по воздуху., @Peter Paul Kiefer

Я заметил это и разделяю ваши сомнения по поводу сигналов, идущих в обоих направлениях; Я бы не стал разрабатывать что-то подобное. Но, судя по тому, что я видел, эти вещи, похоже, не проявляются как проблемы для пользователей этих модулей, хотя и не знаю почему. Хотя это может быть первое, что я вижу. Когда-нибудь, когда мне станет скучно, я, по крайней мере, измерю ток на сигналах направления главного выхода 5 В., @timemage