Interfaçage du capteur RCTOP 102 RFID avec Esptop 10 en utilisant Arduino IDE

Interfaçage du capteur RCTOP 102 RFID avec Esptop 10 en utilisant Arduino IDE
ESP32 est une carte à microcontrôleur compacte compacte de puissance qui contient un certain nombre d'épingles GPIO pour les capteurs d'interfaçage. Dans ce tutoriel, ESP32 sera interfacé avec un capteur RFID en utilisant le code Arduino. RC522 est un capteur intelligent basé sur SPI qui peut lire les cartes RFID, les balises et les bandes intelligentes.

Contenu couvert dans cet article:

  • 1: Introduction au capteur RC522
  • 2: Pinout de capteur RC522
  • 3: Interfaçage du capteur RFID RC522 avec ESP32
  • 3.1: schéma
  • 3.2: Installation des bibliothèques requises
  • 3.3: Obtenir l'UID pour la carte / tag RFID
  • 4: Lire une balise RFID en utilisant ESP32
  • 4.1: code
  • 4.2: sortie
  • Conclusion

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é.

/ *
****************
Linuxhint.com
****************
Linuxhint.com
****************
* /
#inclure
#inclure
#define ss_pin 21 / * broche de sélection d'esclaves * /
#define rst_pin 22 / * Réinitialiser la broche pour rc522 * /
#define led_g 12 / * broche 8 pour LED * /
MFRC522 MFRC522 (SS_PIN, RST_PIN); / * Créer MFRC522 Initialisé * /
void setup()

En série.commencer (9600); / * Communication série commence * /
Spice.commencer(); / * Communication SPI initialisée * /
MFRC522.Pcd_init (); / * Capteur RFID initialisé * /
pinMode (LED_G, sortie); / * LED PIN SET comme sortie * /
En série.println ("Mettez votre carte au lecteur…");
En série.println ();

VOID LOOP ()

/ * Recherchez la carte RFID * /
si ( ! MFRC522.Picc_isnewcardpresent ())

retour;

/ * Sélectionner la carte * /
si ( ! MFRC522.Picc_readcardSerial ())

retour;

/ * Afficher UID pour la carte / tag sur moniteur série * /
En série.print ("UID TAG:");
String contenu = "";
lettre d'octet;
pour (octet i = 0; i < mfrc522.uid.size; i++)

En série.Imprimer (MFRC522.uid.uidbyte [i] < 0x10 ? " 0" : " ");
En série.Imprimer (MFRC522.uid.uidbyte [i], hex);
contenu.Concat (String (MFRC522.uid.uidbyte [i] < 0x10 ? " 0" : " "));
contenu.Concat (String (MFRC522.uid.uidbyte [i], hex));

En série.println ();
En série.print ("Message:");
contenu.touppercase ();
si (contenu.substring (1) == "02 DC B4 C3") / * uid pour la carte / tag que nous voulons accès à Remplacer par votre carte uid * /

En série.println ("Accès autorisé"); / * Imprimez le message si UID correspond à la base de données * /
En série.println ();
retard (500);
DigitalWrite (LED_G, HIGH); / * LED allume * /
retard (2500);
DigitalWrite (LED_G, Low);

autre
En série.println ("Accès refusé"); / * Si uid ne correspond pas au message d'impression * /

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.