Contenu couvert dans cet article:
1: Introduction au capteur RC522
Le MFRC522 est un IC sans contact RFID qui peut lire et écrire des données à une fréquence de 13.56 MHz. Il est conçu pour une intégration facile dans un large éventail d'applications, y compris les systèmes de contrôle d'accès, les terminaux de paiement et d'autres systèmes qui nécessitent une communication sans fil sécurisée.
Le capteur dispose d'une conception de consommation d'énergie faible et est conforme à la norme ISO / IEC 14443 A / Mifare, qui lui permet de communiquer avec une large gamme de cartes et étiquettes sans contact.
De plus, le MFRC522 dispose d'une antenne intégrée, ce qui en fait une solution pratique et compacte pour ajouter des capacités de communication sans contact à un projet.
2: Pinout de capteur RC522
Le capteur a un total de 8 broches qui l'interfacent avec un microcontrôleur ou un autre dispositif de contrôle. L'épinglage du capteur MFRC522 est le suivant:
Le SDA, SCK, Mosi, et MISO Les broches sont utilisées pour interfacer le capteur MFRC522 avec un microcontrôleur via un protocole de communication interface périphérique série (SPI) à 4 fils (SPI).
Le IRQ La broche peut être utilisée pour générer une interruption lorsque certains événements se produisent, comme une carte ou une étiquette réussie, mais elle n'est pas couramment utilisée dans de nombreux projets.
Le GND la broche se connecte au sol du circuit, et le Premier La broche est utilisée pour réinitialiser le capteur.
Finalement, le 3.3V La broche est utilisée pour alimenter le capteur.
Il est important de noter que ces noms de broches peuvent varier légèrement en fonction du module spécifique, il est donc toujours préférable de consulter la fiche technique du fabricant pour les informations correctes.
3: Interfaçage du capteur RFID RC522 avec Arduino Uno
L'interfaçage du capteur MFRC522 avec un microcontrôleur Arduino est un processus simple qui peut être accompli en utilisant la bibliothèque MFRC522, qui est disponible gratuitement en téléchargement. Cette bibliothèque fournit un ensemble de fonctions faciles à utiliser pour accéder à la fonctionnalité du capteur, y compris les fonctions de lecture et d'écriture de données aux cartes et balises sans contact.
Une fois la bibliothèque installée, un exemple de croquis peut être trouvé dans le menu Exemples qui montre comment initialiser le capteur et communiquer avec une carte ou une balise. Dans l'esquisse, il est important de définir les connexions de broches correctes entre l'Arduino et le capteur MFRC522, telles que les broches SPI, la broche de réinitialisation et d'autres, selon le modèle de la carte Arduino utilisée.
Avec le câblage correct et la bibliothèque correctement installée, l'Arduino pourra communiquer avec le capteur MFRC522 et effectuer les actions souhaitées telles que la lecture et l'écriture sur les cartes et les balises.
3.1: schéma
L'image schématique RC522 avec Arduino Uno est indiquée ci-dessous:
3.2: Installation des bibliothèques requises
La bibliothèque MFRC522 est nécessaire pour lire la carte RFID et les balises Uid. Ouvrez IDE, allez au gestionnaire de bibliothèque et recherchez la bibliothèque MFRC522. Installez la bibliothèque dans Arduino IDE:
Après avoir installé la bibliothèque MFRC522, nous lirons l'UID pour les balises et cartes RFID.
3.3: Obtenir l'UID pour la carte / tag RFID
Ouvrir le Décharge Exemple pour le capteur MFRC522. Aller à: Fichier> Exemples> MFRC522> Dumpinfo:
Le code suivant s'ouvrira dans une nouvelle fenêtre IDE. Téléchargez le code sur Arduino Uno. N'oubliez pas de définir la réinitialisation et l'esclave Sélectionner la broche selon votre carte Arduino. Toutes les épingles numériques Arduino peuvent être définies comme Premier et SS:
Après avoir téléchargé le code sur Arduino Uno. Touchez et maintenez la carte / balise RFID avec le capteur MFRC522:
Le capteur lira les données enregistrées dans la balise RFID et les affichera sur le moniteur en série. Ici, nous pouvons voir le Uid pour la balise RFID indiquant 02 DC B4 C3.
Total de 16 (0-15) secteurs dans lesquels RFID carte / tag 1K de la mémoire est organisée. Quatre (0-3) blocs sont inclus dans chacun de ces 16 secteurs. Chaque bloc a la capacité de stocker 16 (0-15) octets de données.
Ces données représentent cela:
16 secteurs x 4 blocs x 16 octets de données = 1024 octets = 1k mémoire
Le moniteur série Arduino IDE montre la distribution américaine de la mémoire 1k de la balise RFID. Cette distribution contient également les secteurs, les blocs et les informations de données dans les lignes et les colonnes des données de sortie:
Vous pouvez également lire l'ID unique (Uid) pour la carte à la fin de la sortie:
4: Lire une balise RFID en utilisant Arduino Uno
Maintenant, nous avons lu l'ID unique (UID) pour la balise RFID. Nous rédigerons un code Arduino qui enregistre les informations de cette carte et accorderons l'accès à l'utilisateur si la balise RFID avec le même UID est exploitée avec le capteur MFRC522.
4.1: code
Ouvrez IDE, sélectionnez UNO Board et téléchargez le code donné:
/ *Code commencé par inclure la bibliothèque SPI et MFRC522. Ensuite, nous avons défini la réinitialisation et l'esclave Sélectionner la broche pour le capteur. Une LED à la broche D8 est initialisée en sortie.
La carte RFID que nous voulons lire est initialisée en définissant l'UID. C'est le même UID que nous avons utilisé Décharge exemple de code.
Un SI La condition vérifiera la carte UID qui est exploitée avec le capteur. Si l'UID correspond à celui à l'intérieur de la LED de code s'allumer et que le message d'accès autorisé sera imprimé, la LED restera éteinte et l'accès refusé apparaîtra si une autre carte est sur.
4.2: sortie
En sortie, nous pouvons voir que la balise RFID n'est pas tapotée avec le capteur MFRC522, donc aucune LED n'est activée:
Toucher ou apporter la carte / balise RFID près du capteur suivant la sortie apparaîtra sur le moniteur en série affichant la carte UID:
La LED est activée si l'accès est accordé et que UID correspond à celui que nous avons défini dans le code.
Nous avons terminé l'interfaçage de la balise RFID avec le capteur RC522 en utilisant la carte Arduino Uno et IDE.
Conclusion
Arduino est une carte compacte avec un certain nombre d'épingles GPIO pour interface des capteurs et du matériel. Arduino a une prise en charge intégrée pour le protocole UART, SPI et I2C qui permet d'utiliser des capteurs à l'aide de ces protocoles de communication Arduino. Cet article couvre l'interfaçage Arduino Uno avec le capteur RC522 et le code requis pour lire toute carte / balise RFID.