Arduino Nano ESP32 - RFID
Ce tutoriel fournit des instructions sur comment utiliser Arduino Nano ESP32 avec un lecteur RFID/NFC RC522 pour lire les informations d'une étiquette RFID/NFC.
Préparation du matériel
Or you can buy the following sensor kits:
1 | × | DIYables Sensor Kit (30 sensors/displays) | |
1 | × | DIYables Sensor Kit (18 sensors/displays) |
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
Brochage
Le module RFID-RC522 possède 8 broches, certaines broches sont partagées entre trois interfaces de communication : SPI, I2C, UART. À un moment donné, un seul mode de communication peut être utilisé. Les broches sont :
- Broche GND : connectez cette broche à GND (0V)
- Broche VCC : connectez cette broche à VCC (3.3)
- Broche RST : c'est une broche pour réinitialiser et mettre hors tension. Lorsque cette broche devient basse, la mise hors tension complète est activée. Sur le front montant, le module est réinitialisé.
- Broche IRQ : c'est une broche d'interruption qui peut alerter l'Arduino Nano ESP32 lorsqu'une étiquette RFID entre dans sa portée de détection.
- 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.
- L'ordre des broches peut varier selon les fabricants. Utilisez TOUJOURS les étiquettes imprimées sur le module. L'image ci-dessus montre le schéma des broches des modules du fabricant DIYables.
- Le module RFID-RC522 fonctionne avec 3.3V. Ne connectez pas la broche VCC du module RFID-RC522 à 5V. 5V peut endommager le module RFID-RC522.
- Ce tutoriel utilise l'interface SPI pour la communication entre l'Arduino Nano ESP32 et le module RFID-RC522.
※ NOTE THAT:
Diagramme de câblage
This image is created using Fritzing. Click to enlarge image
Tableau de câblage entre le module RFID/NFC RC522 et Arduino Nano ESP32
RFID/NFC RC522 | Arduino Nano ESP32 |
---|---|
SS | → D10 |
SCK | → D13 |
MOSI | → D11 |
MISO | → D12 |
IRQ | not connected |
GND | → GND |
RST | → D5 |
VCC | → 3.3V |
Code Arduino Nano ESP32 RFID/NFC
/*
* Ce code Arduino Nano ESP32 a été développé par newbiely.fr
* Ce code Arduino Nano ESP32 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/arduino-nano-esp32/arduino-nano-esp32-rfid
*/
#include <SPI.h>
#include <MFRC522.h>
#define SS_PIN D10 // Arduino Nano ESP32 pin connected to RC522's SS pin
#define RST_PIN D5 // Arduino Nano ESP32 pin connected to RC522's RST pin
MFRC522 rfid(SS_PIN, RST_PIN);
void setup() {
Serial.begin(9600);
SPI.begin(); // 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
- Si c'est la première fois que vous utilisez un Arduino Nano ESP32, consultez comment configurer l'environnement pour Arduino Nano ESP32 sur Arduino IDE.
- Ouvrez le gestionnaire de bibliothèques en cliquant sur l'icône Gestionnaire de Bibliothèques dans la barre de navigation gauche de l'Arduino IDE
- Tapez "MFRC522" dans la boîte de recherche, puis recherchez la bibliothèque par GithubCommunity
- Installez la bibliothèque en cliquant sur le bouton Install.
- Copiez le code ci-dessus et collez-le dans l'IDE Arduino.
- Compilez et téléchargez le code sur la carte Arduino Nano ESP32 en cliquant sur le bouton Upload de l'IDE Arduino
- Ouvrez le moniteur série sur l'IDE Arduino
- Appuyez sur plusieurs étiquettes RFID/NFC sur le module RFID-RC522
- Voyez l'UID affiché sur le moniteur série
COM6
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 Ultralight or Ultralight C
UID: 15 75 46 7A 2C 5B 7E
Autoscroll
Clear output
9600 baud
Newline