Le module RFID-RC522 a beaucoup de mal à lire les tags (version ??)

Bonjour à tous,

Je rejoins le forum !
Je me suis procuré la boite "The most complete starter kit".
Je dispose de :

  • Un UNO R3 (même difficulté sur un MEGA 2560)
  • Arduino 1.8.5
  • La librairie SPI livrée en version 1.0.0
  • La librairie MFRC522 en version 1.1.8
  • Le module RFID-RC522 avec une version du firmware = 0x88 (clone)

Le montage "classique" est bon, avec liaisons directes entre l'Arduino et le module RFID RC522.

Le code est le suivant :

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

// Affectation des broches
#define RST_PIN 9
#define SS_PIN 10
MFRC522 mfrc522(SS_PIN, RST_PIN);

void setup () {
  // Initialisation du Module RFID
  Serial.begin(9600);
  while (!Serial);
  SPI.begin();
  mfrc522.PCD_Init();
  mfrc522.PCD_DumpVersionToSerial(); 

  // Affichage des données de la bibliothèque
  Serial.println(F("Scan PICC to see UID, type, and data blocks..."));
}

void loop() {
  // Attente d'une carte RFID
  if ( ! mfrc522.PICC_IsNewCardPresent()) {
    return;
  }
  // Récupération des informations de la carte RFID
  if ( ! mfrc522.PICC_ReadCardSerial()) {
    return;
  }
  // Affichage des informations de la carte RFID
  mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
}

A l'exécution, j'obtiens l'affichage attendu suivant :
Scan PICC to see UID, type, and data blocks...

Ensuite, je passe N fois :confused: devant le lecteur les badges (bleus) dont je dispose.
Rien ne se passe, jusqu'au moment où j'obtiens ce résultat :

Card UID: DE EF 7D 63
Card SAK: 08
PICC type: MIFARE 1KB
Sector Block 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 AccessBits
15 63 PCD_Authenticate() failed: Error in communication.
14 59 PCD_Authenticate() failed: Timeout in communication.
13 55 PCD_Authenticate() failed: Timeout in communication.
12 51 PCD_Authenticate() failed: Timeout in communication.
11 47 PCD_Authenticate() failed: Timeout in communication.
10 43 PCD_Authenticate() failed: Timeout in communication.
9 39 PCD_Authenticate() failed: Timeout in communication.
8 35 PCD_Authenticate() failed: Timeout in communication.
7 31 PCD_Authenticate() failed: Timeout in communication.
6 27 PCD_Authenticate() failed: Timeout in communication.
5 23 PCD_Authenticate() failed: Timeout in communication.
4 19 PCD_Authenticate() failed: Timeout in communication.
3 15 PCD_Authenticate() failed: Timeout in communication.
2 11 PCD_Authenticate() failed: Timeout in communication.
1 7 PCD_Authenticate() failed: Timeout in communication.
0 3 PCD_Authenticate() failed: Timeout in communication.

Pas vraiment concluant.
Je persévère ... je reset l'Arduino ... je passe N fois un badget devant le lecteur jusqu'à avoir ce résultat un peu plus poussé :

Card UID: DE EF 7D 63
Card SAK: 08
PICC type: MIFARE 1KB
Sector Block 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 AccessBits
15 63 00 00 00 00 00 00 FF 07 80 69 FF FF FF FF FF FF [ 0 0 1 ]
62 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 0 0 0 ]
61 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 0 0 0 ]
60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 0 0 0 ]
14 59 PCD_Authenticate() failed: Error in communication.
13 55 PCD_Authenticate() failed: Timeout in communication.
12 51 PCD_Authenticate() failed: Timeout in communication.
11 47 PCD_Authenticate() failed: Timeout in communication.
10 43 PCD_Authenticate() failed: Timeout in communication.
9 39 PCD_Authenticate() failed: Timeout in communication.
8 35 PCD_Authenticate() failed: Timeout in communication.
7 31 PCD_Authenticate() failed: Timeout in communication.
6 27 PCD_Authenticate() failed: Timeout in communication.
5 23 PCD_Authenticate() failed: Timeout in communication.
4 19 PCD_Authenticate() failed: Timeout in communication.
3 15 PCD_Authenticate() failed: Timeout in communication.
2 11 PCD_Authenticate() failed: Timeout in communication.
1 7 PCD_Authenticate() failed: Timeout in communication.
0 3 PCD_Authenticate() failed: Timeout in communication.

Bref, ça ne marche pas du tout !!
Je pense que cela peut être du à des incompatibilités de librairie ...
J'ai donc téléchargé différentes version de la librairie MFRC522 :

  • Version 1.1.8 : résultats ci-dessus
  • Version 1.4.0 : erreur de compilation dans le fichier MFRC522.cpp
  • Version 1.3.6 : des warnings à la compilation, mais toujours aucun résultat probant
  • Version 1.2.0 : idem que 1.1.8

En désespoir de cause, je me tourne vers vous, car j'aimerai avoir un système fiable comme dans les N vidéos que j'ai vues sur le WEB !
Merci beaucoup !
Emmanuel

Vos tags sont formatés en NDEF ? Essayez avec les NFC_Utilities

Je pense que le bon lien est celui-ci (RC522_RFID_NFC_Utilities)

Effectivement :slight_smile: