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