logo idehack

Le starter kit Arduino Officiel

Pour débutant – Manuel en Français

Apprenez l’Arduino et l’électronique de façon pratique

Utilisation d’un module RFID RC522 avec Arduino

Nov 5, 2022 | Arduino | 0 commentaires

Comment utiliser le module RFID RC522 avec Arduino

Ce module est un petit lecteur de la taille d’une carte de crédit qui permet de lire un badge ou une carte RFID compatible. Lorsqu’un badge ou une carte RFID est passée à proximité du lecteur, il récupère le « tag » et permet a l’aide de l’Arduino de faire des actions en fonction de la validité ou non de ce « tag ».

Exemple d’utilisation du lecteur RFID

  1. On lit le tag du badge ou de la carte.
  2. Le tag est valide.
  3. On ouvre la porte.
  1. On lit le tag du badge ou de la carte.
  2. Le tag est non valide.
  3. La porte reste close.

Pour l’article nous simulerons l’ouverture de cette porte par une led verte et rouge.

Ce dont vous aurez besoin

Branchement du module RFID à l’Arduino

  • Vcc > 3V3
  • RST > D9 (pin 9)
  • GND > GND
  • MISO > D12 (pin 12)
  • MOSI > D11 (pin 11)
  • SCK > D13 (pin 13)
  • SS/SDA > D10 (pin 10)
ModuleArduino
Vcc3V3
RSTD9 (pin 9)
GNDGND
MISOD12 (pin 12)
MOSID11 (pin 11)
SCKD13 (pin 13)
SS/SDAD10 (pin 10)

A propos du module RFID RC522

Il n’est pas impossible qu’a la réception de votre module vous deviez souder les broches de connexions.

Cela se fait très rapidement pour cela munissez vous d’un fer à souder et d’un peu d’étain.

Installez la librairie RFID

Téléchargez la librairie et installez-la (La librairie SPI est déjà intégrée au logiciel Arduino).

Lien officiel

Lien vers la librairie – Mirroir

Lecture du tag RFID avec l’Arduino

Ce premier code va nous permettre de récupérer le tag RFID du badge qui lui sera présenté.

Lecture du tag RFID
#include <SPI.h>
#include <RFID.h>

RFID RFID(10,9);

int UID[5];

void setup()
{
  Serial.begin(9600);
  SPI.begin();
  RFID.init();  

}

void loop()
{
    if (RFID.isCard()) {  
          if (RFID.readCardSerial()) {        
            Serial.print("L'UID est: ");
            for(int i=0;i<=4;i++)
            {
              UID[i]=RFID.serNum[i];
              Serial.print(UID[i],DEC);
              Serial.print(".");
            }
            Serial.println("");
          }          
          RFID.halt();
    }
    delay(100);    
}

Lancez votre moniteur série de votre logiciel Arduino et comme sur la vidéo récupérez le « tag » de votre badge RFID pour la suite du tutoriel.

Ouvrir une porte (allumer une LED) avec le module RFID

Pour le code suivant connectez deux LED supplémentaire. La verte sera connectée au D2 de l’Arduino (pin2) et la rouge au D3 de l’Arduino (pin3) leurs masses peuvent être mises en commun sur un GND de l’Arduino.

AVANT d’envoyer le code sur votre Arduino

repérez la ligne:

int MASTERKEY[5]={116,235,39,252,68}; // UID du badge ou de la carte acceptée sous forme de tableau (Array).

et modifiez les chiffres du tableau par ceux que vous aurez récupéré de votre « tag » dans a partie précédente.

Téléchargez ensuite ce code modifié sur votre Arduino.

#include <SPI.h>
#include <RFID.h>

RFID RFID(10,9);

int UID[5]={};
int MASTERKEY[5]={116,235,39,252,68}; // UID du badge ou de la carte acceptée sous forme de tableau (Array).

bool statut = 1;

void setup()
{
  Serial.begin(9600);
  SPI.begin();
  RFID.init();

  pinMode(2, OUTPUT);    // sets the digital pin 13 as output
  pinMode(3, OUTPUT);    // sets the digital pin 13 as output
}

void loop()
{
  
  digitalWrite(2, LOW);
  digitalWrite(3, LOW);

    if (RFID.isCard()) {  

          /* Lecture du tag */
          if (RFID.readCardSerial()) 
          {        
          /*Serial.print("L'UID est: ");*/  
            for(int i=0;i<=4;i++)
            {
              UID[i]=RFID.serNum[i];
             /* Serial.print(UID[i],DEC);
              Serial.print(".");*/
            }
            /*Serial.println("");*/
          }
          /* fin de  Lecture du tag */
          
          if (UID[0] == MASTERKEY[0]   // Si l'UID 0  est égale à 116
           && UID[1] == MASTERKEY[1]   // Et si l'UID 1  est égale à 235
           && UID[2] == MASTERKEY[2]   // Et si l'UID 2  est égale à 38
           && UID[3] == MASTERKEY[3]   // Et si l'UID 3  est égale à 252
           && UID[4] == MASTERKEY[4])  // Et si l'UID 4  est égale à 68
            {
              ouverture();
            }
            else
            {
              fermeture();
            }
            
          RFID.halt();
    }
    delay(100);    
}

void ouverture()
{
  digitalWrite(2, HIGH); // sets the digital pin 13 on
  delay(2000);            // waits for a second
}

void fermeture()
{
  digitalWrite(3, HIGH); // sets the digital pin 13 on
  delay(2000);            // waits for a second
}

0 commentaires

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Derniers Articles

Réalisation d’un chenillard LED avec l’Arduino

Réalisation d’un chenillard LED avec l’Arduino

Dans cet article, découvrez comment réaliser un chenillard LED avec Arduino, un projet idéal pour les débutants en électronique et en programmation. À travers cette réalisation simple, vous explorerez les bases de la programmation Arduino et l'utilisation de...

Comment utiliser un module relais avec l’Arduino

Comment utiliser un module relais avec l’Arduino

Que ce soit pour faire de la domotique, contrôler une lampe ou tout autre appareil fonctionnant en 220Volts, le module relais est fait pour çà. En effet, à l'aide d'une broche/pin de commande, il va être possible depuis notre Arduino de faire commuter le relais (et...

Découvrez comment utiliser l’écran ST7789 135*240 avec Arduino

Découvrez comment utiliser l’écran ST7789 135*240 avec Arduino

Le module d’écran LCD pour Arduino ST7789 135*240 est un écran SPI couleur qui offre des possibilités intéressantes pour vos projets. Voici un résumé de ses caractéristiques et de son utilisation : Résolution : Il a une résolution de 135 x 240 pixels 1....

Utiliser l’écran NFP1315-45A avec Arduino

Utiliser l’écran NFP1315-45A avec Arduino

Découvrez comment utiliser l'écran ic:NFP1315-45A avec Arduino Le module d’écran LCD pour Arduino TFT 0.96 pouces SSD1306 est un afficheur dans ce cas-ci jaune et bleu. Voici un résumé de ses caractéristiques et de son utilisation : Résolution : Il a une...

Comment utiliser l’écran TFT 1.28 Pouces 240×240 avec Arduino

Comment utiliser l’écran TFT 1.28 Pouces 240×240 avec Arduino

Découvrez comment utiliser l'écran LCD de 1,28 pouces (GC9A01) avec Arduino Dans le domaine de l'électronique, l'utilisation d'écrans LCD avec des microcontrôleurs comme Arduino est une pratique courante. L'écran LCD de 1,28 pouces (GC9A01) offre une solution compacte...