A01 – Lecteur RFID

Badge RFID

La technologie RFID (radio frequency identification) est de plus en plus fréquemment utilisée, et permet d’identifier aisément des objets (clés, cartes, …) ou tout autre élément équipé de cette technologie d’identification.
Dans cet exemple, nous utilisons le lecteur RFID-RC522, qu’il est possible de trouver par exemple chez conrad.

Principe de fonctionnement

Un système RFID est composé

  • D’un marqueur (tag RFID) apposé sur l’élément à identifier, qui contient des données numériques. Ces données peuvent être lues sans vue directe (contrairement aux code-barres), avec des distances allant à plusieurs dizaines de mètres.
  • D’un lecteur, qui permet de récupérer le contenu du marqueur.

Le code

La librairie MFRC522 doit être installée pour utiliser l’exemple qui suit, qui est basé sur le code proposé dans l’ouvrage « Home automation projects with Arduino, publié par Elektor« .
Dans cet exemple, le lecteur est initialisé, puis, lorsque qu’un tag RFID est détecté, son identifiant est affiché.

// RFID-RC522_UID.ino9
#include <SPI.h>
#include <MFRC522.h>
// RC522 Arduino UNO
// Pin     Pin
// ---     ----
// RST     9
// SDA(SS) 10
// MOSI    11
// MISO    12
// SCK     13

#define RST_PIN 9
#define SS_PIN 10
MFRC522 mfrc522(SS_PIN, RST_PIN);
void setup(){
  Serial.begin(9600);
  SPI.begin();
  mfrc522.PCD_Init();
  Serial.println("Place RFID TAG in range!");
  delay(300);
}

void loop(){
  // Card present?
  if ( ! mfrc522.PICC_IsNewCardPresent()) {
    return;
  }
  // Select card
  if ( ! mfrc522.PICC_ReadCardSerial()) {
    return;
  }
  Serial.print("UID of RFID TAGS: ");
  for (byte i = 0; i < mfrc522.uid.size; i++) {
    Serial.print(mfrc522.uid.uidByte[i], HEX);
    Serial.print(" ");
  }
  Serial.println();
}

Laisser un commentaire