Tag non détecté RFID RC522 + pro micro

Bonjour à tous,

Je débute avec arduino (plus précisément une pro micro ATmega32U4). Je me suis lancée dans un projet avec carte RFID et je n'arrive pas à faire lire un tag au lecteur... Le soucis est que je ne sais pas du tout d'où vient le problème (est ce que c'est mon circuit ? est ce que c'est le lecteur ? les soudures ?).

Voici le circuit que j'ai refait pro micro + RFID (avec les 3 résistances de 10k en série car je n'ai pas de convertisseur pour passer de 5V à 3.3V)

En image : ici

Pour obtenir l'UID du tag, j'ai utilisé le script DumpInfo de la librairie MFRC522, j'ai bien fait attention de changer les valeurs des variables RST_PIN et SS_PIN (5 et 10 dans mon cas). Quand je téléverse, j'obtiens ce message d'erreur :

C:\Users\Violynea\Documents\Arduino\libraries\MFRC522\src\MFRC522.cpp: In member function 'bool MFRC522::MIFARE_SetUid(byte*, byte, bool)':

C:\Users\Violynea\Documents\Arduino\libraries\MFRC522\src\MFRC522.cpp:1818:39: warning: 'bool MFRC522::MIFARE_OpenUidBackdoor(bool)' is deprecated (declared at C:\Users\Violynea\Documents\Arduino\libraries\MFRC522\src\MFRC522.cpp:1674): will move to extra class in next version [-Wdeprecated-declarations]

  if (!MIFARE_OpenUidBackdoor(logErrors)) {

                                       ^

C:\Users\Violynea\Documents\Arduino\libraries\MFRC522\src\MFRC522.cpp: In member function 'bool MFRC522::MIFARE_UnbrickUidSector(bool)':

C:\Users\Violynea\Documents\Arduino\libraries\MFRC522\src\MFRC522.cpp:1847:34: warning: 'bool MFRC522::MIFARE_OpenUidBackdoor(bool)' is deprecated (declared at C:\Users\Violynea\Documents\Arduino\libraries\MFRC522\src\MFRC522.cpp:1674): will move to extra class in next version [-Wdeprecated-declarations]

  MIFARE_OpenUidBackdoor(logErrors);

                                  ^

In file included from C:\Users\Violynea\Documents\Arduino\libraries\MFRC522\src\MFRC522Extended.cpp:8:0:

C:\Users\Violynea\Documents\Arduino\libraries\MFRC522\src\MFRC522Extended.h: In constructor 'MFRC522Extended::MFRC522Extended(uint8_t)':

C:\Users\Violynea\Documents\Arduino\libraries\MFRC522\src\MFRC522Extended.h:81:44: warning: 'MFRC522::MFRC522(byte)' is deprecated (declared at C:\Users\Violynea\Documents\Arduino\libraries\MFRC522\src\MFRC522.h:335): use MFRC522(byte chipSelectPin, byte resetPowerDownPin) [-Wdeprecated-declarations]

  MFRC522Extended(uint8_t rst) : MFRC522(rst) {};

                                            ^

En cherchant sur internet, j'ai cru comprendre que c'était un message d'erreur lié à librairie MFRC522 et non à l'intérieur du script DumpInfo (mais j'ai peut être mal compris ?). En tous cas, quand j'ouvre le moniteur série et que je pose le tag sur le lecteur, rien ne s'affiche (uniquement le message "Firmware Version: 0x12 = (unknown) Scan PICC to see UID, SAK, type, and data blocks..."). Est ce que vous auriez une idée d'où viendrait le problème ? En parcourant le forum, j'ai vu qu'il y avait fréquemment des soucis de soudure avec le lecteur RFID... Je l'ai effectivement soudé moi-même, il y a peut être un problème à ce niveau ? ( j'ai pris une photo).

Merci beaucoup d'avance !!

Bonjour

Avec un schéma du montage et le code je peux tester à la maison sur NANO.

Ce ne sont pas des erreurs de compilation, mais des warnings. Rien de grave a priori.
Je ne suis pas un pro dans ce domaine, mais je pense que ça vient de la conception de la bibliothèque. Il est écrit :
bool MFRC522Hack::MIFARE_OpenUidBackdoor(const bool logErrors) const {et c'est le "const bool" en argument d'une fonction qui peut poser problème. Peut-être qu'en otant le "const" et en recompilant ça enlèverait le warning.

Pour le dernier warning, la bibliothèque définit:
MFRC522Extended(uint8_t ss, uint8_t rst) : MFRC522(ss, rst) {};avec deux arguments et j'ai l'impression qu'il n'y en a qu'un dans ton code ou que c'est du byte à la place de uint8_t

Sinon, j'ai l'impression sur la photo de la breadboard, que la résistance de droite n'est pas connectée au fil rouge.

@kammo le schéma de montage que j’ai suivi est celui ci : ici ! (pdf) Voici le code DumpInfo (que j’ai juste modifié en mettant 5 pour RST_PIN car j’utilise une pro micro) :

/*
 * --------------------------------------------------------------------------------------------------------------------
 * Example sketch/program showing how to read data from a PICC to serial.
 * --------------------------------------------------------------------------------------------------------------------
 * This is a MFRC522 library example; for further details and other examples see: https://github.com/miguelbalboa/rfid
 * 
 * Example sketch/program showing how to read data from a PICC (that is: a RFID Tag or Card) using a MFRC522 based RFID
 * Reader on the Arduino SPI interface.
 * 
 * When the Arduino and the MFRC522 module are connected (see the pin layout below), load this sketch into Arduino IDE
 * then verify/compile and upload it. To see the output: use Tools, Serial Monitor of the IDE (hit Ctrl+Shft+M). When
 * you present a PICC (that is: a RFID Tag or Card) at reading distance of the MFRC522 Reader/PCD, the serial output
 * will show the ID/UID, type and any data blocks it can read. Note: you may see "Timeout in communication" messages
 * when removing the PICC from reading distance too early.
 * 
 * If your reader supports it, this sketch/program will read all the PICCs presented (that is: multiple tag reading).
 * So if you stack two or more PICCs on top of each other and present them to the reader, it will first output all
 * details of the first and then the next PICC. Note that this may take some time as all data blocks are dumped, so
 * keep the PICCs at reading distance until complete.
 * 
 * @license Released into the public domain.
 * 
 * Typical pin layout used:
 * -----------------------------------------------------------------------------------------
 *             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         5          // Configurable, see typical pin layout above
#define SS_PIN          10         // Configurable, see typical pin layout above

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
	mfrc522.PCD_DumpVersionToSerial();	// Show details of PCD - MFRC522 Card Reader details
	Serial.println(F("Scan PICC to see UID, SAK, type, and data blocks..."));
}

void loop() {
	// Look for new cards
	if ( ! mfrc522.PICC_IsNewCardPresent()) {
		return;
	}

	// Select one of the cards
	if ( ! mfrc522.PICC_ReadCardSerial()) {
		return;
	}

	// Dump debug info about the card; PICC_HaltA() is automatically called
	mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
}

@lesept Merci beaucoup pour les explications, c’est très clair !

J’ai des nouvelles. J’ai pu tester le module RFID avec une carte arduino nano V3 (qui a une entrée 3.3V) et le script DumpInfo fonctionne parfaitement ! Je suis très contente car ça veut dire que je n’ai pas endommagé le lecteur RFID (et que j’ai bien fait les soudures). Par contre ça veut dire que je me suis plantée dans mon circuit avec arduino pro micro… Je pense que c’est au niveau des trois résistances en série comme vous l’indiquiez @lesept. Demain, je refais tout calmement. Merci :smiley:

Bonjour !

Je me suis remise calmement sur mon circuit avec pro micro et module RFID RC522 mais je n’arrive toujours pas à faire fonctionner le lecteur. Je n’ai pas d’erreurs quand je téléverse le script DumpInfo, par contre, quand j’ouvre le moniteur, j’ai systématiquement le message :

WARNING: Communication failure, is the MFRC522 properly connected?

Ce qui signifie bien que je me trompe quelque part dans le circuit … Je vous ai mis plusieurs pièce-jointes : le “plan” de mon circuit (ce que j’essaye théoriquement de faire) et deux photos de ce que j’ai effectivement réalisé. Dites moi si vous voyez une erreur, j’ai peur de m’être trompée avec le diviseur de tension.

J’ai quand même retesté le module RFID avec arduino nanoo → fonctionne parfaitement; j’ai aussi re testé la pro micro avec le script Blink et une led + résistance extérieure, ça marche aussi très bien.

Le schéma et les branchements m’ont l’air correct.
Essaye de connecter la broche RST du lecteur sur la pin RST de l’Arduino.
Sinon, voir ici des suggestions pour résoudre ce problème.