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 ESP32
Interfaçage du capteur MFRC522 avec microcontrôleur ESP32 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'ESP32 et le capteur MFRC522, telles que les broches SPI, la broche de réinitialisation et d'autres, selon le modèle de la carte ESP32 utilisée.
Avec le câblage correct et la bibliothèque correctement installée, l'ESP32 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.
Pour plus de détails sur Protocole ESP32 SPI et travailler Lire l'article ESP32 SPI Pins.
3.1: schéma
L'image schématique RC522 avec ESP32 est illustrée ci-dessous:
3.2: Installation des bibliothèques requises
MFRC522 La bibliothèque 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 ESP32. N'oubliez pas de définir la réinitialisation et l'esclave Sélectionner la broche en fonction de votre carte. Toutes les broches numériques ESP32 peuvent être définies comme Premier et SS:
Après avoir téléchargé le code sur ESP32. 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 ESP32
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
Open IDE Sélectionnez la carte ESP32 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 D12 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
Dans la sortie, nous pouvons voir que la balise RFID n'est pas tapotée avec le capteur MFRC522, donc la LED est désactivé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:
LED est activée si l'accès est accordé et que l'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 à l'aide de la carte ESP32 et IDE.
Conclusion
ESP32 est un tableau IoT qui dispose de toutes les interfaces de communication nécessaires pour échanger des données entre différents appareils. ESP32 a plusieurs broches GPIO pour lire les données des capteurs. L'utilisation du protocole SPI ESP32 peut lire les données du capteur RFID et plusieurs projets peuvent être conçus. Cet article couvre ESP32 Interfaçage avec le capteur RC522 et le code requis pour lire toute carte / balise RFID.