ESP32 C3 Super Mini - RFID

Ce tutoriel vous montre comment utiliser l'ESP32 C3 Super Mini avec un lecteur RFID/NFC RC522 pour lire les informations d'une étiquette RFID/NFC. Le module RC522 est un composant 3,3V, il est donc parfaitement adapté à l'ESP32 C3 Super Mini.

Dans ce tutoriel, vous apprendrez :

ESP32 C3 Super Mini - RFID

Matériel Requis

1×ESP32 C3 Super Mini
1×Câble USB Type-A vers Type-C (pour PC USB-A)
1×Câble USB Type-C vers Type-C (pour PC USB-C)
1×RFID/NFC RC522 Kit (reader + tags)
1×Plaque d'essai
1×Fils de connexion
1×Optionnel: Connecteur d'alimentation DC

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (18 capteurs/écrans)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À Propos du Module RFID-RC522

Le RFID-RC522 est un lecteur à courte portée qui communique avec une carte ou un porte-clés par ondes radio.

Caractéristiques Principales :

  • Lit l'identifiant unique (UID) des cartes MIFARE, porte-clés et autocollants.
  • Peut aussi lire et écrire les blocs de mémoire à l'intérieur d'une étiquette MIFARE.
  • Fonctionne de quelques millimètres jusqu'à environ 5 cm de distance.
  • Communique avec l'ESP32 C3 Super Mini via SPI, donc seuls quelques fils sont nécessaires.
  • Est fourni dans un kit avec une carte et un porte-clés, prêt à tester.

Spécifications Techniques :

  • Puce : NXP MFRC522.
  • Tension de fonctionnement : 3,3V uniquement.
  • Fréquence radio : 13,56 MHz.
  • Portée de lecture : 0 à 60 mm (selon l'étiquette et l'antenne).
  • Interfaces : SPI, I2C, UART - une seule à la fois.
  • Vitesse SPI : jusqu'à 10 Mbit/s.
  • Courant : environ 13-26 mA pendant la lecture.

WARNING

Le module RFID-RC522 fonctionne en 3,3V. Connectez sa broche VCC uniquement à la broche 3.3V de l'ESP32 C3 Super Mini. Le 5V endommagera le module.

Brochage

Le module RFID-RC522 possède 8 broches. Certaines broches sont partagées entre les trois interfaces (SPI, I2C, UART), et une seule interface peut être utilisée à la fois.

Brochage du module RFID-RC522
  • Broche GND : connectez cette broche à GND (0V).
  • Broche VCC : connectez cette broche à 3,3V.
  • Broche RST : broche de réinitialisation et de mise hors tension. Un niveau LOW met le module en mode hors tension matériel. Un front montant réinitialise le module.
  • Broche IRQ : broche d'interruption qui peut avertir l'ESP32 C3 Super Mini lorsqu'une étiquette RFID arrive à portée.
  • Broche MISO/SCL/TX : fonctionne comme :
    • Broche MISO si l'interface SPI est activée
    • Broche SCL si l'interface I2C est activée
    • Broche TX si l'interface UART est activée.
  • Broche MOSI : fonctionne comme MOSI si l'interface SPI est activée.
  • Broche SCK : fonctionne comme SCK si l'interface SPI est activée.
  • Broche SS/SDA/RX : fonctionne comme :
    • Broche SS si l'interface SPI est activée
    • Broche SDA lorsque l'interface I2C est activée
    • Broche RX lorsque l'interface UART est activée.

    ※ Note:

    • L'ordre des broches peut varier selon les fabricants. Utilisez TOUJOURS les étiquettes imprimées sur le module. L'image ci-dessus montre le brochage des modules du fabricant DIYables.
    • Le module RFID-RC522 fonctionne en 3,3V. Ne connectez pas la broche VCC du module RFID-RC522 au 5V. Le 5V peut griller le module RFID-RC522.
    • Ce tutoriel utilise l'interface SPI pour la communication entre l'ESP32 C3 Super Mini et le module RFID-RC522.

Schéma de Câblage

Câblez le module RC522 aux broches SPI de l'ESP32 C3 Super Mini comme indiqué ci-dessous.

  • Remarque : Alimentez le module depuis la broche 3.3V. Jamais depuis le 5V.
  • Remarque : La broche IRQ n'est pas utilisée dans ce tutoriel. Laissez-la non connectée.
  • Remarque : Gardez les fils de connexion courts. Des fils longs rendent le signal SPI peu fiable.
  • Remarque : L'ESP32 C3 Super Mini est une carte 3,3V, donc aucun convertisseur de niveau n'est nécessaire.
Schéma de câblage ESP32 C3 Super Mini RFID RC522

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Le tableau de câblage entre le module RFID/NFC RC522 et l'ESP32 C3 Super Mini

Broche RFID/NFC RC522 Broche ESP32 C3 Super Mini
SS (SDA) GPIO7
SCK GPIO4
MOSI GPIO6
MISO GPIO5
IRQ non connectée
GND GND
RST GPIO3
VCC 3.3V

Code RFID/NFC pour ESP32 C3 Super Mini

Le code ci-dessous attend une étiquette et affiche son type et son UID sur le Moniteur Série.

Ce que fait ce code :

  • Démarre le bus SPI sur GPIO4 (SCK), GPIO5 (MISO), GPIO6 (MOSI) et GPIO7 (SS).
  • Initialise le lecteur MFRC522 avec SS sur GPIO7 et RST sur GPIO3.
  • Vérifie à chaque boucle si une nouvelle étiquette est à portée.
  • Affiche le type d'étiquette, par exemple MIFARE 1KB.
  • Affiche l'UID de l'étiquette au format hexadécimal.
/* * Ce code ESP32 C3 Super Mini a été développé par newbiely.fr * Ce code ESP32 C3 Super Mini est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/esp32-c3/esp32-c3-super-mini-rfid */ #include <SPI.h> #include <MFRC522.h> #define SCK_PIN 4 // The ESP32 C3 SuperMini pin connected to RC522's SCK pin #define MISO_PIN 5 // The ESP32 C3 SuperMini pin connected to RC522's MISO pin #define MOSI_PIN 6 // The ESP32 C3 SuperMini pin connected to RC522's MOSI pin #define SS_PIN 7 // The ESP32 C3 SuperMini pin connected to RC522's SS (SDA) pin #define RST_PIN 3 // The ESP32 C3 SuperMini pin connected to RC522's RST pin MFRC522 rfid(SS_PIN, RST_PIN); void setup() { Serial.begin(115200); SPI.begin(SCK_PIN, MISO_PIN, MOSI_PIN, SS_PIN); // init SPI bus rfid.PCD_Init(); // init MFRC522 Serial.println("Tap an RFID/NFC tag on the RFID-RC522 reader"); } void loop() { if (rfid.PICC_IsNewCardPresent()) { // new tag is available if (rfid.PICC_ReadCardSerial()) { // NUID has been readed MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak); Serial.print("RFID/NFC Tag Type: "); Serial.println(rfid.PICC_GetTypeName(piccType)); // print UID in Serial Monitor in the hex format Serial.print("UID:"); for (int i = 0; i < rfid.uid.size; i++) { Serial.print(rfid.uid.uidByte[i] < 0x10 ? " 0" : " "); Serial.print(rfid.uid.uidByte[i], HEX); } Serial.println(); rfid.PICC_HaltA(); // halt PICC rfid.PCD_StopCrypto1(); // stop encryption on PCD } } }

Étapes Rapides

  • Nouveau sur l'ESP32 C3 Super Mini ? Complétez d'abord notre tutoriel ESP32 C3 Super Mini - Premiers pas pour configurer votre environnement de développement.
  • Câblez les composants : Connectez le module RC522 à l'ESP32 C3 Super Mini comme indiqué dans le tableau de câblage ci-dessus.
  • Branchez le câble USB : Connectez l'ESP32 C3 Super Mini à votre ordinateur avec un câble USB Type-C.
  • Ouvrez l'Arduino IDE : Lancez l'Arduino IDE sur votre ordinateur.
  • Sélectionnez la carte : Assurez-vous que ESP32 C3 Super Mini est sélectionnée dans Outils > Type de carte.
  • Sélectionnez le port : Choisissez le port COM de votre ESP32 C3 Super Mini.
  • Ouvrez le Gestionnaire de bibliothèques : Cliquez sur l'icône Library Manager dans la barre de navigation à gauche de l'Arduino IDE.
  • Recherchez la bibliothèque : Tapez “MFRC522” dans la zone de recherche, puis cherchez la bibliothèque de GithubCommunity.
  • Installez la bibliothèque : Cliquez sur le bouton Install.
  • Search for MFRC522 created by GithubCommunity and click the Install button.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32C3 Dev Module
Library Manager
Type:
All
Topic:
All
MFRC522 by GithubCommunity
Read/Write a RFID Card or Tag using the ISO/IEC 14443A/MIFARE interface. More info
1.4.11
INSTALL
Newbiely.ino
···
1 void setup() {
Output
Serial Monitor
Ln 1, Col 1
ESP32C3 Dev Module on COM15
1
  • Copiez le code : Copiez le code ci-dessus et collez-le dans l'Arduino IDE.
  • Téléversez le code : Cliquez sur le bouton Upload pour compiler et téléverser le code vers la carte ESP32 C3 Super Mini.
  • Ouvrez le Moniteur Série : Réglez le débit en bauds sur 115200.
Comment ouvrir le moniteur série sur Arduino IDE
  • Présentez une étiquette : Présentez plusieurs étiquettes RFID/NFC sur le module RFID-RC522.
  • Voyez le résultat : L'UID de chaque étiquette est affiché sur le Moniteur Série.
  • Astuce Pro : Si rien ne s'affiche, vérifiez d'abord les fils SS et RST. Un fil SS ou RST inversé est l'erreur la plus courante.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
ESP32C3 Dev Module
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'ESP32C3 Dev Module' on 'COM15')
New Line
9600 baud
Tap an RFID/NFC tag on the RFID-RC522 reader RFID/NFC Tag Type: MIFARE 1KB UID: 2B B8 59 B1 RFID/NFC Tag Type: MIFARE 1KB UID: 9C 4A 03 D7 RFID/NFC Tag Type: MIFARE Ultralight or Ultralight C UID: 15 75 46 7A 2C 5B 7E RFID/NFC Tag Type: MIFARE 1KB UID: E1 07 62 4F
Ln 11, Col 1
ESP32C3 Dev Module on COM15
2

Explication du Code Ligne par Ligne

Le code ESP32 C3 Super Mini ci-dessus contient une explication ligne par ligne. Veuillez lire les commentaires dans le code !

Applications et Idées de Projets

Voici quelques projets simples que vous pouvez réaliser avec l'ESP32 C3 Super Mini et le lecteur RFID RC522.

  • Serrure de Porte : Ouvrez une serrure électromagnétique lorsqu'une étiquette connue est présentée.
  • Registre de Présence : Enregistrez l'UID et l'heure à laquelle chaque personne badge.
  • Distributeur Sans Espèces : Laissez une étiquette démarrer une petite machine ou un relais.
  • Trieur de Coffre à Jouets : Donnez à chaque jouet une étiquette autocollante et affichez son nom sur un LCD.
  • Journal d'Accès WiFi : Envoyez chaque UID à un serveur web via WiFi.
  • Désarmement d'Alarme : Coupez une alarme à buzzer uniquement lorsque la bonne étiquette est présente.

Relevez le Défi

Essayez ces petites améliorations pour en apprendre davantage sur la RFID avec l'ESP32 C3 Super Mini.

  • Facile : Allumez une LED sur GPIO2 pendant une seconde chaque fois qu'une étiquette est lue.
  • Facile : Affichez un court message au lieu de l'UID brut.
  • Moyen : Stockez une liste d'UID autorisés et affichez "Access granted" ou "Access denied".
  • Moyen : Ajoutez un buzzer qui émet un bip pour une étiquette autorisée et deux bips pour une étiquette inconnue.
  • Avancé : Lisez et écrivez vos propres données dans un bloc de mémoire d'une étiquette MIFARE.
  • Avancé : Envoyez chaque UID scanné à une page web hébergée par l'ESP32 C3 Super Mini.

Commentaires

Tutoriels connexes

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !