Circuit de lecteur RFID utilisant Arduino

Essayez Notre Instrument Pour Éliminer Les Problèmes





Dans cet article, nous allons faire un tour sur la technologie des circuits RFID. Nous explorerons le fonctionnement des balises et lecteurs RFID, comment interfacer le module RFID (RC522) avec Arduino et extraire des informations utiles des balises RFID.

Utilisation d'étiquettes RFID

Je suis sûr que chacun d'entre vous a utilisé la RFID pour obtenir un accès sécurisé au moins une fois au bureau, à l'école, au collège, à la bibliothèque, etc.



L'étiquette / carte que vous portez contient une puce électronique, la puce stocke votre identité électroniquement. Contrairement aux codes à barres, où la carte doit être en ligne de mire du lecteur, les RFID peuvent être placées juste à côté du lecteur pour lire les informations.

La plupart de nos cartes à puce utilisent la technologie RFID passive, ce qui signifie qu'aucune alimentation n'est requise pour lire les informations de la carte. Le lecteur alimente la puce RFID et extrait les informations en même temps.



Ces types d'étiquettes peuvent lire des informations de quelques millimètres à quelques mètres, selon l'étiquette et l'application.

Les étiquettes RFID actives sont alimentées en externe, ces types d'étiquettes transmettent les informations jusqu'à 100 pieds. La consommation d'énergie de la batterie est optimisée pour durer quelques années.

Dans ce projet, nous allons examiner la technologie RFID passive. Nous utilisons le module lecteur RC522 avec arduino pour extraire et afficher des informations. Le module RC522 est généralement disponible sur les sites Web de commerce électronique et dans les magasins de kits électroniques locaux.

Illustration du module lecteur / enregistreur RC522:

Module lecteur / enregistreur RC522

Étiquettes de type de carte et de porte-clés:

Étiquettes de type de carte et de porte-clés

Comme nous pouvons le voir, une partie du PCB est entourée d'un chemin conducteur de forme carrée sur le lecteur, ce qui générera un champ électromagnétique pour l'étiquette à une fréquence de 13,56 MHz.

L'EMF généré est sélectionné par l'étiquette et se convertit en une tension suffisante pour que l'étiquette fonctionne, l'étiquette enverra les informations nécessaires sous forme d'impulsion au lecteur. Le microcontrôleur embarqué décode les informations.

Comment ça fonctionne

Circuit RFID utilisant Arduino

Le schéma est très simple et explicite, peu de fils de liaison suffisent pour réaliser ce projet. Nous allons alimenter l'arduino et la RFID via le port USB de l'ordinateur. La tension de fonctionnement du RC522 est de 3,3 V, ne connectez pas l'alimentation 5 V au module et endommagera les composants embarqués.

Prototype de circuit RFID Arduino:

Ce sont toutes les connexions matérielles, passons maintenant au codage.

Avant de télécharger le programme, téléchargez le fichier de bibliothèque à partir du lien suivant et déplacez-vous vers le dossier de bibliothèque de l'IDE arduino.

github.com/miguelbalboa/rfid.git

Code de programme:

//-------------------------Program developed by R.Girish------------------//
#include
#include
#define SS_PIN 10
#define RST_PIN 9
MFRC522 rfid(SS_PIN, RST_PIN)
MFRC522::MIFARE_Key key
void setup()
{
Serial.begin(9600)
SPI.begin()
rfid.PCD_Init()
}
void loop() {
if ( ! rfid.PICC_IsNewCardPresent())
return
if ( ! rfid.PICC_ReadCardSerial())
return
MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak)
if(piccType != MFRC522::PICC_TYPE_MIFARE_MINI &&
piccType != MFRC522::PICC_TYPE_MIFARE_1K &&
piccType != MFRC522::PICC_TYPE_MIFARE_4K)
{
Serial.println(F('Your tag is not of type MIFARE Classic, your card/tag can't be read :('))
return
}
String StrID = ''
for (byte i = 0 i <4 i ++)
{
StrID +=
(rfid.uid.uidByte[i]<0x10? '0' : '')+
String(rfid.uid.uidByte[i],HEX)+
(i!=3?':' : '' )
}
StrID.toUpperCase()
Serial.print('Your card's UID:')
Serial.println(StrID)
rfid.PICC_HaltA ()
rfid.PCD_StopCrypto1 ()
}
//-------------------------Program developed by R.Girish------------------//

D'accord! À quoi sert le programme ci-dessus?

Le programme ci-dessus affichera l'UID de la balise dans le moniteur série de l'IDE, lorsque vous numérisez sur le lecteur. L'UID est le numéro d'identification unique du tag, il ne peut pas être modifié et il est défini par le fabricant.

PRODUCTION:

L'UID de votre carte: FA: 4E: B2 // ceci est un exemple.

Remarque 1: les deux valeurs sont séparées par deux points, ce qui est fait par le programme. Les valeurs réelles ne peuvent pas être séparées par deux points mais plutôt par un espace.

Remarque 2: seules les étiquettes RFID fabriquées par NXP sont lisibles / inscriptibles avec la configuration proposée, elles sont couramment et commercialement utilisées.

L'UID est utilisé pour reconnaître l'étiquette. La balise fournie avec le kit peut stocker jusqu'à 1 Ko d'informations. Il existe d'autres cartes qui peuvent stocker jusqu'à 4 Ko d'informations, voire plus.

Le processus de stockage et d'extraction des informations de l'étiquette fait l'objet d'un autre article.
Si vous avez des questions, concernant ce projet, n'hésitez pas à les poser dans la section commentaires.




Une paire de: Circuit du capteur de pression barométrique - Détails de fonctionnement et d'interfaçage Un article: Contrôle de phase Triac utilisant PWM proportionnel au temps