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

La fonction millis() avec Arduino

La fonction millis() avec Arduino

Alors que la fonction delay() est bloquante. Elle peut parfois engendrer des problèmes de sorties de fonctions par exemple. La suite du code ne peut s'exécuter tant que le délais défini n'est pas terminé. millis() elle nous permettra le multitâche lors du...

Utiliser un buzzer Piézoélectrique avec l’Arduino (Capteur de choc)

Utiliser un buzzer Piézoélectrique avec l’Arduino (Capteur de choc)

Le capteur / buzzer / bipper Piézoélectrique avec l’Arduino – Capteur de chocs Le piézo peut être utilisé pour émettre un son mais on va surtout l’utiliser ici pour pour détecter les petits chocs et pressions. Dans cet article nous allons utilisé le buzzer piézo pour...

Mosfet et Arduino – Utiliser un module MOS avec Arduino

Mosfet et Arduino – Utiliser un module MOS avec Arduino

Comment utiliser un module MOSFET avec Arduino  Le module mosfet est une carte comprenant un transistor MOSFET IRF520 (transistor à effet de champs). Il est destiné à commuter de gros courant cc a partir d’une broche numérique pilotée par l’Arduino. Il s’agit...

Mesurer la température avec une  thermistance MF52-103 et un Arduino

Mesurer la température avec une thermistance MF52-103 et un Arduino

Mesure de la température a l’aide d’une thermistance et de l’Arduino Température et thermistance MF52-103 Pour une bouchée de pain on trouve sur le net des lots de thermistances. J’ai acheté un lot de 10 thermistances, MF52-103 10KOhms. Celle-ci vont nous permettre de...

TP4056 – Un chargeur d’accus pour vos projets

TP4056 – Un chargeur d’accus pour vos projets

Très pratique a incorporer directement dans un projet, le module tp4056 est un chargeur Li-ion, micro-usb qui nous permettra d'intégrer un circuit de charge et donc de ne plus devoir changer d’accumulateurs dans nos projets électroniques. Couplé à un support pour...