Comment utiliser un module RFID avec Arduino?

 

J’ai reçu un module RFID-RC522 13.56Mhz compatible Arduino, comme d’habitude, je n’y vois pas encore d’utilité, mais je suis très curieux donc c’est parti. L’utilisation d’une puce RFID avec de module combiné a l’arduino peut laisser imaginer toute sorte de système d’identification d’entrée ou de protection.

module_rfid

 

Où se le procurer ?

 

Pour ce module rapport qualité / rapidité de réception / prix j’ai visé et vous conseil Amazon.

Le module RFID est livré avec une carte rfid ainsi que 5 petits porte-clés RFID.

Cliquez sur ce lien ou sur « acheter maintenant » pour vous le procurer.

 

Les broches

module_rfid_pinout

Branchement

  • Module RFID -> Arduino
  • SDA -> Pin 10
  • SCK -> Pin 13
  • MOSI -> Pin 11
  • MISO -> Pin 12
  • GND -> GND
  • RST -> Pin 9
  • VCC -> 3.3V

arduino_rfid_cablage

Installez la librairie RFID

Téléchargez la librairie et installez-la.

Lien vers la librairie

Il s’agit d’un miroir directement hébergé sur www.idehack.com

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);    
}

 

 

Controle d’un Servomoteur

Branchement du servo:

  • vcc -> + 5V Arduino
  • GND -> GND Arduino
  • Signal -> Pin ~5 Arduino

Un peu à la manière d’une barrière. On badge, çà s’ouvre, on passe.

Pour la lecture du tag (Puce RFID), j’ai commenté les lignes permettant d’afficher l’UID de la carte(de la puce RFID). Pour mes propres essais je les ai simplement retiré.

 

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

RFID RFID(10,9);

int UID[5]={};
int MASTERKEY[5]={1,171,43,97,224}; 
Servo monServo;

bool statut = 1;

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

  monServo.attach(5); // Servo connecté à la pin 9.  
}

void loop()
{
    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 à 1
           && UID[1] == MASTERKEY[1]   // Et si l'UID 1  est égale à 171
           && UID[2] == MASTERKEY[2]   // Et si l'UID 2  est égale à 43
           && UID[3] == MASTERKEY[3]   // Et si l'UID 3  est égale à 97
           && UID[4] == MASTERKEY[4])  // Et si l'UID 4  est égale à 224
            {
              ouverture();
            }
            else
            {
              fermeture();
            }
            
          RFID.halt();
    }
    delay(100);    
}

void ouverture()
{
  monServo.write(125); // On ouvre le portail fermé.
}

void fermeture()
{
  monServo.write(35); // On ouvre le portail fermé.
}


/* inspiré de: http://www.les-electroniciens.com/ */ 

 

Sources: Lien | Lien

Kit RFID RC522 avec Lecteur, Puce et Carte pour Arduino

Quantité: 1 pièce(s)

Le module est idéal pour le développement de contrôles d’accès, des verrous…
Compatible – Raspberry Pi et Arduino.