Contrôle d’accès avec les lecteurs RFID RC522 et RDM6300

Sommaire

Présentation des lecteurs RFID RC522 et RDM6300

Le RFID s’impose aujourd’hui comme une solution simple et efficace pour identifier, authentifier ou automatiser des actions sans contact. Dans cet article, nous découvrirons comment exploiter deux modules populaires — le RC522 (MFRC522) et le RDM6300 — avec une carte Arduino Uno. Nous verrons leur montage pas à pas, les différences entre les deux technologies, ainsi que les bases de leur programmation pour créer vos propres projets RFID rapidement et en toute simplicité.

Les lecteurs RFID

RC522 (MFRC522)

Le RC522 est un lecteur RFID basé sur la technologie RFID HF (13,56 MHz). Il utilise le protocole ISO/IEC 14443A, ce qui le rend compatible avec les cartes MIFARE les plus courantes. Compact, rapide et économique, il communique avec l’Arduino via l’interface SPI, ce qui permet des échanges rapides. C’est un module idéal pour les projets nécessitant un accès sécurisé, un suivi d’objets ou une identification simple.

RDM6300

Le RDM6300 fonctionne en RFID basse fréquence (125 kHz). Plus simple et plus robuste face aux interférences, il convient parfaitement pour des projets d’identification basiques. Il utilise une communication UART (série), ce qui facilite son intégration sur Arduino. Il est souvent utilisé pour des systèmes d’accès, de présence ou pour lire des tags animaux (selon les standards supportés).

Modules RFID RC522 et RDM6300

Les cartes et badges RFID

L’UID : un identifiant unique et programmé en usine

Chaque carte ou badge RFID possède un UID (Unique Identifier) : un identifiant numérique qui le distingue de tous les autres.
Cet UID est gravé en usine dans la puce RFID, ce qui signifie qu’il est unique, permanent et non modifiable pour la grande majorité des technologies courantes (y compris MIFARE et EM4100).

Lorsqu’un lecteur comme le RC522 ou le RDM6300 interroge une carte, l’un des premiers éléments qu’il lit est cet UID. C’est généralement cet identifiant qui est utilisé pour reconnaître un utilisateur, autoriser un accès ou déclencher une action dans un projet Arduino.

Cartes et badges compatibles RC522 (13,56 MHz)

Les supports compatibles avec le RC522 utilisent la technologie MIFARE 13,56 MHz. On trouve notamment :

Cartes RFID MIFARE 1K : format carte bancaire, très utilisées pour les systèmes d’accès.

Badges porte-clés (keytags) : pratiques pour un usage quotidien, résistants et légers.

Tags autocollants NFC/MFRC : pour coller sur des objets ou surfaces.
Ces supports peuvent stocker de petites quantités de données et permettent une authentification par secteurs.

Cartes et badges compatibles RDM6300 (125 kHz)

Les supports pour le RDM6300 utilisent des tags EM4100 / EM4102, typiques de la RFID basse fréquence. Les plus courants sont :

Cartes RFID 125 kHz : classiques et très économiques.

Badges porte-clés EM4100 : largement utilisés dans les systèmes d’entrée simples.

Capsules ou tags ronds 125 kHz : parfois intégrés dans des objets ou boîtiers.

Cartes et Badges RFID
Cartes et Badges RFID

Montage et programmation du lecteur RFID RC522

Nous allons configurer et tester le module RFID RC522 avec une Arduino Uno, afin de lire l’UID des cartes et badges, et de créer un système de contrôle d’accès.

Librairies nécessaires

  • MFRC522.h
  • SPI.h  (inclus par défaut dans l’IDE Arduino)

Code Arduino 1 : Lecture de l'UID des cartes et badges RFID

Nous allons réaliser un montage et un programme permettant de lire l’UID des cartes et badges RFID à l’aide d’une module RC522 et d’une carte Arduino UNO

Matériel nécessaire :

  • 1 Carte Arduino UNO

  • 1 Lecteur RFID RC522

  • Câble USB Type C

  • 1 Lot de Câbles de connexion M-F

  • 1 Breadboard 400 points
  • Cartes et badges 13.56 MHz compatibles RC522

Le montage

Montage Arduino et RC522
Schéma de montage du lecteur RC522 avec la carte Arduino UNO

Tableau récapitulatif

Arduino UnoLecteur de carte RC522
3.3VVCC
GNDGND
D10SDA
D13SCK
D11MOSI
D12MISO
D9RST

Le code Arduino

Avec le code Arduino suivant, nous allons lire l’UID des cartes et badges RFID et les afficher dans le moniteur série de l’IDE Arduino :

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

#define SS_PIN 10
#define RST_PIN 9

MFRC522 rfid(SS_PIN, RST_PIN);

void setup() {
  Serial.begin(9600);
  SPI.begin();
  rfid.PCD_Init();
  Serial.println("Scanner RFID prêt !");
}

void loop() {

  // Vérifie si une carte est présente
  if (!rfid.PICC_IsNewCardPresent()) {
    return;
  }

  // Vérifie si la carte peut être lue
  if (!rfid.PICC_ReadCardSerial()) {
    return;
  }

  Serial.print("UID de la carte : ");

  for (byte i = 0; i < rfid.uid.size; i++) {
    Serial.print(rfid.uid.uidByte[i] < 0x10 ? " 0" : " ");
    Serial.print(rfid.uid.uidByte[i], HEX);
  }

  Serial.println();

  // Important pour éviter les bugs
  rfid.PICC_HaltA();
  rfid.PCD_StopCrypto1();
}

				
			

Le résultat attendu

Lecture des UID des cartes et badges
Lecture des UID des cartes et badges

Code Arduino 2 : Contrôle d'accès basique avec le RC522

Nous allons réaliser et programmer un montage pour faire du contrôle d’accès avec le module RFID RC522, une carte Arduino UNO, et 2 LED ( 1 rouge et 1 verte). Dans notre programme, nous allons enregistrer les UID autorisés de sorte que la LED verte s’allume lorsqu’on passe la carte ou le badge sur le lecteur et si l’UID est enregistré, autrement c’est la LED rouge qui s’allume.

Matériel nécessaire :

  • 1 Carte Arduino UNO

  • 1 Lecteur RFID RC522

  • 1 Lot de 10 LED 5 Mm Pour Prototypage
  • Câble USB Type C

  • 1 Lot de Câbles de connexion M-F

  • 1 Breadboard 400 points
  • Cartes et badges 13.56 MHz compatibles RC522

Le montage

Schéma de montage du lecteur RC522 avec la carte Arduino UNO pour le contrôle d'accès
Schéma de montage du lecteur RC522 avec la carte Arduino UNO pour le contrôle d'accès

Arduino UnoLecteur de carte RC522LED VerteLED Rouge
3.3VVCC  
GNDGNDCathode – (Patte courte)Cathode – (patte courte)
D10SDA  
D13SCK  
D11MOSI  
D12MISO  
D9RST  
D3 Anode + (Patte longue) 
D4  Anode + (Patte longue)

Le code Arduino

Le code Arduino suivant permet de gérer un système de contrôle d’accès avec le module RFID RC522 et une carte Arduino UNO :

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

#define SS_PIN 10
#define RST_PIN 9

#define LED_VERTE 3
#define LED_ROUGE 4

MFRC522 rfid(SS_PIN, RST_PIN);

// ✅ LISTE DES CARTES AUTORISÉES (2 cartes)
byte cartesAutorisees[2][4] = {
  {0xA7, 0xCD, 0x59, 0x06},  // Carte 1
  {0xE6, 0x4F, 0x50, 0x06}   // Carte 2
};

void setup() {
  Serial.begin(9600);
  SPI.begin();
  rfid.PCD_Init();

  pinMode(LED_VERTE, OUTPUT);
  pinMode(LED_ROUGE, OUTPUT);

  digitalWrite(LED_VERTE, LOW);
  digitalWrite(LED_ROUGE, HIGH);

  Serial.println("Système de contrôle d'accès prêt (2 cartes)...");
}

void loop() {

  if (!rfid.PICC_IsNewCardPresent()) return;
  if (!rfid.PICC_ReadCardSerial()) return;

  Serial.print("UID détecté : ");

  bool accesAutorise = false;

  // Affichage de l'UID
  for (byte i = 0; i < 4; i++) {
    if (rfid.uid.uidByte[i] < 0x10) Serial.print("0");
    Serial.print(rfid.uid.uidByte[i], HEX);
    Serial.print(" ");
  }

  Serial.println();

  // ✅ Vérification avec les 2 cartes autorisées
  for (byte i = 0; i < 2; i++) {        // 2 cartes
    bool match = true;

    for (byte j = 0; j < 4; j++) {
      if (rfid.uid.uidByte[j] != cartesAutorisees[i][j]) {
        match = false;
        break;
      }
    }

    if (match) {
      accesAutorise = true;
      break;
    }
  }

  if (accesAutorise) {
    Serial.println("✅ ACCÈS AUTORISÉ");
    digitalWrite(LED_VERTE, HIGH);
    digitalWrite(LED_ROUGE, LOW);
  } 
  else {
    Serial.println("❌ ACCÈS REFUSÉ");
    digitalWrite(LED_VERTE, LOW);
    digitalWrite(LED_ROUGE, HIGH);
  }

  delay(2000);

  digitalWrite(LED_VERTE, LOW);
  digitalWrite(LED_ROUGE, HIGH);

  rfid.PICC_HaltA();
  rfid.PCD_StopCrypto1();
}

				
			

Le résultat attendu

Contrôle d'accès avancé avec le RC522

Nous avons désormais terminé le montage et la programmation du module RC522 avec la carte Arduino Uno. Pour conclure, ce projet nous a permis de passer d’une simple découverte du lecteur RFID à la réalisation d’un véritable système de contrôle d’accès complet et évolutif ; et pour aller encore plus loin sans se soucier de la conception, découvrez notre kit DIY  Contrôle d’Accès RFID RC522 avec Arduino – Système complet Bluetooth & Serrure 12V prêt à l’emploi qui reprend cette architecture professionnelle et vous permet de créer facilement votre propre solution sécurisée.

Montage et programmation du lecteur RFID RDM6300

Nous allons configurer et tester le module RFID RDM6300 avec une Arduino Uno, afin de lire l’UID des cartes et badges, et de créer un système de contrôle d’accès.

Librairies nécessaires

  • RDM6300.h
  • Arduino.h (inclus par défaut dans l’IDE Arduino)

Code Arduino 1 : Lecture de l'UID des cartes et badges RFID

Nous allons réaliser un montage et un programme permettant de lire l’UID des cartes et badges RFID à l’aide d’une module RDM6300 et d’une carte Arduino UNO

Matériel nécessaire :

  • 1 Carte Arduino UNO

  • 1 Lecteur RFID RDM6300

  • Câble USB Type C

  • 1 Lot de Câbles de connexion M-F

  • 1 Breadboard 400 points
  • Cartes et badges 125 kHz compatibles RDM6300

Le montage

Montage Arduino UNO et lecteur RFID RDM6300
Montage Arduino UNO et lecteur RFID RDM6300

Tableau récapitulatif

Arduino Uno Lecteur de carte RDM6300
5V VCC
GND GND
D2 TX

Le code Arduino

Avec le code Arduino suivant, nous allons lire l’UID des cartes et badges RFID 125 kHz compatibles avec le RDM6300 et les afficher dans le moniteur série de l’IDE Arduino :

				
					#include <Arduino.h>
#include <rdm6300.h>

#define RDM6300_RX_PIN 2 
#define READ_LED_PIN 13

Rdm6300 rdm6300;

void setup()
{
	Serial.begin(115200);

	pinMode(READ_LED_PIN, OUTPUT);
	digitalWrite(READ_LED_PIN, LOW);

	rdm6300.begin(RDM6300_RX_PIN);

	Serial.println("\nLecture RFID avec le rdm6300...");
}

void loop()
{
	
	if (rdm6300.get_new_tag_id())
		Serial.println(rdm6300.get_tag_id(), HEX); //On affiche l'UID de la carte ou du badge

	digitalWrite(READ_LED_PIN, rdm6300.get_tag_id());//Allumage de la Led intégrée tant que la carte ou le Badge est proche du lecteur RFID

	delay(10);
}
				
			

Le résultat attendu

Lecture de cartes et badges RFID compatible RDM6300
Lecture de cartes et badges RFID compatible RDM6300

Code Arduino 2 : Contrôle d'accès basique avec le RDM6300

Nous allons réaliser et programmer un montage pour faire du contrôle d’accès avec le module RFID RDM6300, une carte Arduino UNO, et 3 LED ( 1 Verte, 1 Jaune et 1 Rouge). Dans notre programme, nous allons enregistrer les UID autorisés de sorte que la LED verte s’allume lorsqu’on passe la carte ou le badge sur le lecteur et si l’UID est enregistré, autrement c’est la LED rouge qui s’allume.

Matériel nécessaire :

  • 1 Carte Arduino UNO

  • 1 Lecteur RFID RDM6300

  • 1 Lot de 10 LED 5 Mm Pour Prototypage
  • Câble USB Type C

  • 1 Lot de Câbles de connexion M-F

  • 1 Breadboard 400 points
  • Cartes et badges 125 kHz compatibles RDM6300

Le montage


Arduino UnoLecteur de carte RDM6300LED VerteLED JauneLED Rouge
5VVCC   
GNDGNDCathode – (Patte courte)Cathode – (patte courte)Cathode – (patte courte)
D2TX   
D8   Anode + (Patte longue)
D9  Anode + (Patte longue) 
D10 Anode + (Patte longue)  

Le code Arduino

Le code Arduino suivant permet de gérer un système de contrôle d’accès simple avec le module RDM6300 et la carte Arduino UNO : 

				
					#include <Arduino.h>
#include <rdm6300.h>

#define RDM6300_RX_PIN 2 

// Définition des LEDs
#define LED_ROUGE 8
#define LED_JAUNE 9
#define LED_VERTE 10

Rdm6300 rdm6300;

// 👉 UID autorisé (à adapter avec ton badge)
#define UID_AUTORISE 0xCBE71A  

void setup()
{
  Serial.begin(115200);

  pinMode(LED_VERTE, OUTPUT);
  pinMode(LED_JAUNE, OUTPUT);
  pinMode(LED_ROUGE, OUTPUT);

  // Etat initial → LED jaune allumée
  digitalWrite(LED_VERTE, LOW);
  digitalWrite(LED_ROUGE, LOW);
  digitalWrite(LED_JAUNE, HIGH);

  rdm6300.begin(RDM6300_RX_PIN);

  Serial.println("Systeme de controle d'acces RFID pret...");
}

void loop()
{
  if (rdm6300.get_new_tag_id())
  {
    uint32_t uid = rdm6300.get_tag_id();
    Serial.print("UID detecte : ");
    Serial.println(uid, HEX);

    // On éteint toutes les LEDs
    digitalWrite(LED_VERTE, LOW);
    digitalWrite(LED_JAUNE, LOW);
    digitalWrite(LED_ROUGE, LOW);

    if (uid == UID_AUTORISE)
    {
      // ✅ Accès autorisé
      Serial.println("Acces autorise");

      digitalWrite(LED_VERTE, HIGH);
      delay(5000);
      digitalWrite(LED_VERTE, LOW);
    }
    else
    {
      // ❌ Accès refusé
      Serial.println("Acces refuse");

      digitalWrite(LED_ROUGE, HIGH);
      delay(5000);
      digitalWrite(LED_ROUGE, LOW);
    }

    // Retour état repos → LED jaune
    digitalWrite(LED_JAUNE, HIGH);
  }

  delay(50);
}
				
			

Le résultat attendu

Conclusion

Pour conclure, cet article nous a permis de découvrir deux approches différentes mais complémentaires pour travailler avec des systèmes RFID : le module RC522 et le RDM6300. À travers ces montages Arduino, nous avons appris à câbler les composants, à communiquer avec les lecteurs et surtout à récupérer et exploiter les UID des badges. Ces bases nous ont ensuite permis de mettre en place un premier système simple de contrôle d’accès à l’aide de LEDs, illustrant concrètement le fonctionnement d’une authentification par badge.

Que vous soyez débutant ou déjà à l’aise avec Arduino, ces projets constituent une excellente introduction aux systèmes de sécurité électroniques et ouvrent la porte à des réalisations plus avancées (serrures connectées, gestion d’utilisateurs, domotique, etc.).

Pour aller plus loin sans repartir de zéro, nous proposons également sur notre site un kit DIY complet de contrôle d’accès basé sur le RC522, spécialement conçu pour piloter une serrure 12V. Une solution idéale pour transformer vos expérimentations en un projet concret et fonctionnel !

Bonjour ! 🌟 Rejoignez notre newsletter pour ne rien manquer.

Recevez nos offres spéciales et les derniers articles directement dans votre boîte de réception

Nous ne faisons pas de spam, promis ! Consultez notre politique de confidentialité pour en savoir plus.

Panier
Retour en haut