Badge et carte non lue par le module RFID 522

Bonjour,

Je suis débutant en électronique et j'ai un petit problème de lecture de badge et de carte avec mon module RFID RC522.

J'ai une carte Elegoo UNO R3.

Je souhaitais juste vérifier qu'il fonctionne correctement et j'ai fait le tuto donné avec le kit de démarrage, j'ai donc branché les câbles ainsi que téléverser le programme dans la carte UNO. Le module RFID a une petite Led rouge allumée donc connecté mais quand je lance le moniteur série et que je passe le badge ou la carte sur le module RFID, aucune lecture ne se fait ???
J'ai vérifié le câblage 3 fois, c'est en ordre. J'ai également vérifié si mon moniteur série fonctionne, c'est le cas il fonctionne notamment avec le module capteur d'eau. J'ai aussi cherché sur le forum mais je n'ai pas trouvé l'information.
Le moniteur affiche uniquement cela :

Le code utilisé :

//www.elegoo.com
//2016.12.09

/*
 * --------------------------------------------------------------------------------------------------------------------
 * Example to change UID of changeable MIFARE card.
 * --------------------------------------------------------------------------------------------------------------------
 * This is a MFRC522 library example; for further details and other examples see: https://github.com/miguelbalboa/rfid
 * 
 * This sample shows how to set the UID on a UID changeable MIFARE card.
 * NOTE: for more informations read the README.rst
 * 
 * @author Tom Clement
 * @license Released into the public domain.
 *
 * Typical pin layout used:
 * -----------------------------------------------------------------------------------------
 *             MFRC522      Arduino       Arduino   Arduino    Arduino          Arduino
 *             Reader/PCD   Uno           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     // 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

/* Set your new UID here! */
#define NEW_UID {0xDE, 0xAD, 0xBE, 0xEF}

MFRC522::MIFARE_Key key;

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 card
  Serial.println(F("Warning: this example overwrites the UID of your UID changeable card, use with care!"));
  
  // Prepare key - all keys are set to FFFFFFFFFFFFh at chip delivery from the factory.
  for (byte i = 0; i < 6; i++) {
    key.keyByte[i] = 0xFF;
  }
}

// Setting the UID can be as simple as this:
//void loop() {
//  byte newUid[] = NEW_UID;
//  if ( mfrc522.MIFARE_SetUid(newUid, (byte)4, true) ) {
//    Serial.println("Wrote new UID to card.");
//  }
//  delay(1000);
//}

// But of course this is a more proper approach
void loop() {
  
  // Look for new cards, and select one if present
  if ( ! mfrc522.PICC_IsNewCardPresent() || ! mfrc522.PICC_ReadCardSerial() ) {
    delay(50);
    return;
  }
  
  // Now a card is selected. The UID and SAK is in mfrc522.uid.
  
  // Dump UID
  Serial.print(F("Card UID:"));
  for (byte i = 0; i < mfrc522.uid.size; i++) {
    Serial.print(mfrc522.uid.uidByte[i] < 0x10 ? " 0" : " ");
    Serial.print(mfrc522.uid.uidByte[i], HEX);
  } 
  Serial.println();

  // Dump PICC type
//  MFRC522::PICC_Type piccType = mfrc522.PICC_GetType(mfrc522.uid.sak);
//  Serial.print(F("PICC type: "));
//  Serial.print(mfrc522.PICC_GetTypeName(piccType));
//  Serial.print(F(" (SAK "));
//  Serial.print(mfrc522.uid.sak);
//  Serial.print(")\r\n");
//  if (  piccType != MFRC522::PICC_TYPE_MIFARE_MINI 
//    &&  piccType != MFRC522::PICC_TYPE_MIFARE_1K
//    &&  piccType != MFRC522::PICC_TYPE_MIFARE_4K) {
//    Serial.println(F("This sample only works with MIFARE Classic cards."));
//    return;
//  }
  
  // Set new UID
  byte newUid[] = NEW_UID;
  if ( mfrc522.MIFARE_SetUid(newUid, (byte)4, true) ) {
    Serial.println(F("Wrote new UID to card."));
  }
  
  // Halt PICC and re-select it so DumpToSerial doesn't get confused
  mfrc522.PICC_HaltA();
  if ( ! mfrc522.PICC_IsNewCardPresent() || ! mfrc522.PICC_ReadCardSerial() ) {
    return;
  }
  
  // Dump the new memory contents
  Serial.println(F("New UID and contents:"));
  mfrc522.PICC_DumpToSerial(&(mfrc522.uid));
  
  delay(2000);
}

Mon branchement :
rfid 1
rfid 2
rfid 3
rfid 4

Etant débutant, il y a encore énormément de questions que je me pose mais j'essaye de trouver le plus de réponses possible par moi même mais là je ne vois vraiment pas ce qui coince.

Merci d'avance pour votre aide.

Vincent

Edition : Mise en forme du post initial pour faire afficher les images.

Bonsoir
Le programme permet de changer l uid ce qui n est pas toujours possible
Mais a mon avis ce n est pas pour ca que ca marche pas

Il faudrait nous donner le schéma de cablage car sur les photos y a pas moyen de controler.
Verifier l alimentation et l ordre des branchement
Mettre un programme simple de lecture (voir dans les exemples)
Faire un tracage par des print dans la boucle loop
A mon avis il passe pas la detection de nouvelle carte ou de serial ou les deux
Donc les separer dans deux if et tracer par un print.

A noter que suivant leur conception certains lecteurs sont allergiques au 5v sur les entrées.

Bonjour jfs59,

Je suis ce schéma de branchement :

J'essaye de trouver un simple code de lecture de module RFID 522 afin de tester mais je ne trouve pas, tu parles d'exemple , ça se trouve ou ?

Pareil pour les vérifications de pin, peux-tu m'indiquer ou je peux trouver ce code ?

Je suis vraiment novice et je pense que j'ai encore beaucoup à apprendre mais je suis motivé à faire mes projets.

Merci d'avance.

Bonjour,

Dans l'IDE Arduino, pour exécuter un programme exemple, il faut aller dans: File > Examples > MFRC522 > ...
Toute fois, ATTENTION, certain code en exemple risque de modifier durablement le code de la carte RFID.
Aussi je vous conseil de commencer par " DumpInfo ", qui affiche les donnée contenu sur la carte.
(Pour exécuter le code il faut bien le téléverser)

Je viens de suivre un tuto pour la lecture de badge rfid 522 sur youtube, ça ne fonctionne toujours pas,

Il m'affiche des petits carrés comme cela :

Est ce que la vitesse de transmission définie dans le Setup est bien la même que celle du moniteur Série ?

Personnellement, j'ai suivi ce tuto quand j'ai ut besoin d'utiliser un badge RFID...

Bonjour Guillaume,

Je suis vos conseils et ca me donne ca comme résultat dans le moniteur série

WARNING: Communication failure, is the MFRC522 properly connected?

Scan PICC to see UID, SAK, type, and data blocks...

Mais de lecture de badge pour l'instant

Alors je vous conseil, après avoir déconnecter la carte du PC, de reprendre tout le câblage du début...

Peut être qu'un de vos câble est défectueux ?
L'idéal, si vous pouvez, serait de refaire le câblage avec d'autre câble.

Je vais essayer cette solution, recabler avec d'autres cables.

Je reviens quand c'est terminé.

Merci encore

Je viens de tout recabler avec d'autres cables, j'ai cela dans le moniteur série mais toujours pas de lecture quand je passe le badge ou la carte

Firmware Version: 0x0 = (unknown)

WARNING: Communication failure, is the MFRC522 properly connected?

Scan PICC to see UID, SAK, type, and data blocks...

Firmware Version: 0x0 = (unknown)

WARNING: Communication failure, is the MFRC522 properly connected?

Scan PICC to see UID, SAK, type, and data blocks...

Visiblement, il ne parviens pas a communiquer correctement avec le module RFID...

Avez vous un autre module pour essayer ?

Oui j'ai acheté 3 autres kits RFID mais il sont à souder, je ne l'ai pas encore fait

Impossible de les essayer sans avoir souder la broche à 8 pin sur le module RFID je suppose ?

Vous pouvez peut être regarder ici.

Si s'est vous qui avez souder ce module, est ce que vous avez vérifier toute les soudures ?

S'est pas qu'on ne peut pas, mais s'est vivement déconseiller...

Le module RFID que je teste ici est celui reçu avec un starter Kit de la marque Elegoo, mais les autres commandés sur internet sont à souder.

D'accord, donc le problème ne peut, normalement, pas venir d'une soudure défectueuse ou d'une surchauffe de la carte lord de la soudure...

Je vais manger, et je reviens vers vous des que j'ai fini.

Merci en tout cas pour la prise de temps afin de m'aider, c'est super sympa.

Etre débutant en électronique est complexe, c'est chouette de trouver des personnes comme vous et jfs59 sur ce forum.

Bon appétit

Pour en dire un peu plus sur mes projets, je suis fan d'escape game depuis début 2023 et maintenant je souhaite également créer des escapes game maison.

J'ai créé un petit escape game maison pour ma fille et mes amis, il s'agit d'énigmes et solutions à base de lampe ultraviolet, de dominos, de cadenas, ect.. j'ai créé aussi pour ce petit escape game un courant coupé par 2 interrupteurs reed et il faut placé les 2 éléments de l'escape contenant les aimants au bon endroit et ca allume un code couleur représenté par 3 diodes pour la suite de la solution, je suis content de cela, ca donne un petit effet en utilisant uniquement l'électricité sur alimentation pile.

Et maintenant je veux aller plus loin pour la création d'un 2ème escape maison et donc passer par l'électronique. J'ai 3 projets en tête actuellement :

  • une plante à nourrir d'eau avec un capteur d'eau afin d'ouvrir une trappe à l'aide d'une serrure solénoide (trappe d'une petite boite)

  • une séquence de 5 boutons poussoir, il faudrait appuyer sur les 5 boutons dans le bon ordre , cela allumerait des led au fur et à mesure de la progression correcte et si les 5 boutons ont été enclenché dans le bon ordre, cela ouvre une trappe également avec une serrure solenoide

  • et le 3ème, je souhaite que 4 éléments soit placés au bon endroit (donc utilisation de 4 modules rfid) à chaque éléments bien placés, la led correspondante à l'objet en question s'allume et quand les 4 objets sont bien placés, une trappe s'ouvre également à l'aide d'une serrure solénoide et 2 led s'allument à l'intérieur de la trappe découverte.

Pour un débutant comme moi, il y a encore du boulot mais cela me plait énormément, voilà voilà