starter kit arduino

Le starter kit Arduino Officiel

Pour débutants & confirmés – Manuel en Français

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

Utiliser un module RFID avec Arduino

Juil 11, 2021 | Arduino | 0 commentaires

Qu’est ce qu’un module RFID ?

Dans cet article nous parlerons du module RFID-RC522 13.56Mhz compatible Arduino, comme d’habitude, je n’y vois pas encore d’utilité personnelle, mais je suis très curieux donc c’est parti. Tout d’abord cet ensemble de composants permet la lecture d’une carte à puce. Une fois passée devant le module, la carte a puce est analysée ce qui nous permettra par exemple de donner diverses autorisations d’accès, d’effectuer des actions etc… L’utilisation d’une puce RFID avec le module combiné a l’Arduino peut laisser imaginer toute sorte de système d’identification d’entrée ou de protection.

Ce dont vous aurez besoin

Les broches du module RFID – PinOut

Branchement du module RFID

Le protocole du module RFID utilisé pour communiquer avec l’Arduino étant le SPI, il faut connecter le lecteur de carte sur des broches spécifiques:

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

Concernant le VCC veillez à vérifier la tension d’utilisation de votre module

Installez la librairie RFID

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

Note sur l’installation de la librairie RFID:

  • Décompressez l’archive rfid.rar
  • Allez dans le dossier:  rfid_lib > rfid_lib > Librairies
  • A cet endroit vous retrouverez deux dossiers: RFID et SPI (Clique droit et copiez ces deux dossier).
  • Allez ensuite dans vos document: Documents > Arduino > libraries et copiez les deux dossiers a cet endroit.

Lien vers la librairie

Code Arduino – Lecture du tag RFID

Pour lire la carte et récupérer le code UID téléversez ce code sur votre Arduino.

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

Une fois le code téléversé sur votre Arduino, ouvrez le moniteur série pour voir le résultat et récupérer le code UID de votre tag

Idée de projet avec le module RFID et Arduino

Autorisation d’accès et ouverture de barrière: Controle d’un Servomoteur

Comme exemple d’Application j’ai réalisé l’ouverture d’une « barrière ». Pour çà j’ai connecté un servomoteur à l’Arduino (Mais çà aurait pu être un relais, une led,…) lorsque le bon tag est présenté au lecteur le servomoteur change d’angle et la barrière s’ouvre.

Ce qui donne:

  • Lecture du badge RFID
  • Si la valeur est correcte changement de position du servomoteur en position « ouverte »
  • Si la valeur est incorrect changement de position du servomoteur en position « fermée »

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}; // UID du badge ou de la carte acceptée sous forme de tableau (Array).
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é.
}
3X kit module RFID pour Arduino

Sources: Lien

Elegoo starter kit R3

0 commentaires

Soumettre un commentaire

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