Arduino Nano ESP32 - RFID
Dieses Tutorial gibt Anweisungen dazu, wie man den Arduino Nano ESP32 mit dem RC522 RFID/NFC-Leser verwendet, um die Informationen von einem RFID-/NFC-Tag auszulesen.
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Offenlegung: Einige der in diesem Abschnitt bereitgestellten Links sind Amazon-Affiliate-Links. Wir können eine Provision für Käufe erhalten, die über diese Links getätigt werden, ohne zusätzliche Kosten für Sie. Wir schätzen Ihre Unterstützung.
Über RFID-RC522-Modul
Pinbelegung

Das RFID-RC522-Modul hat 8 Pins. Einige Pins werden von drei Kommunikationsschnittstellen geteilt: SPI, I2C, UART. Zurzeit kann jeweils nur ein Kommunikationsmodus verwendet werden. Die Pins sind:
- GND-Pin: Verbinde diesen Pin mit GND (0 V)
- VCC-Pin: Verbinde diesen Pin mit VCC (3,3 V)
- RST-Pin: ist ein Pin für Reset und Herunterfahren. Wenn dieser Pin auf Low geht, wird das harte Ausschalten aktiviert. Bei der steigenden Flanke wird das Modul zurückgesetzt.
- IRQ-Pin: ist ein Interrupt-Pin, der den Arduino Nano ESP32 benachrichtigen kann, wenn der RFID-Tag in seinen Erkennungsbereich kommt.
- MISO/SCL/TX-Pin: funktioniert als:
- MISO-Pin, wenn die SPI-Schnittstelle aktiviert ist
- SCL-Pin, wenn die I2C-Schnittstelle aktiviert ist
- TX-Pin, wenn die UART-Schnittstelle aktiviert ist.
- MOSI-Pin: funktioniert als MOSI, wenn die SPI-Schnittstelle aktiviert ist.
- SCK-Pin: funktioniert als SCK, wenn die SPI-Schnittstelle aktiviert ist
- SS/SDA/RX-Pin: funktioniert als:
- SS-Pin, wenn die SPI-Schnittstelle aktiviert ist
- SDA-Pin, wenn die I2C-Schnittstelle aktiviert ist
- RX-Pin, wenn die UART-Schnittstelle aktiviert ist.
- Die Reihenfolge der Pins kann je nach Hersteller variieren. Verwenden Sie IMMER die auf dem Modul aufgedruckten Beschriftungen. Das obige Bild zeigt die Pinbelegung der Module des Herstellers DIYables.
- Das RFID-RC522-Modul arbeitet mit 3,3 V. Verbinden Sie den VCC-Pin des RFID-RC522-Moduls NICHT mit 5 V. 5 V kann das RFID-RC522-Modul durchbrennen.
- Diese Anleitung verwendet die SPI-Schnittstelle für die Kommunikation zwischen dem Arduino Nano ESP32 und dem RFID-RC522-Modul.
※ Notiz:
Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Die Verdrahtungstabelle zwischen dem RFID/NFC RC522-Modul und dem 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 |
Arduino Nano ESP32 RFID/NFC-Code
/*
* Dieser Arduino Nano ESP32 Code wurde von newbiely.de entwickelt
* Dieser Arduino Nano ESP32 Code wird der Öffentlichkeit ohne jegliche Einschränkung zur Verfügung gestellt.
* Für vollständige Anleitungen und Schaltpläne besuchen Sie bitte:
* https://newbiely.de/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
}
}
}
Schnelle Schritte
- Falls dies das erste Mal ist, dass Sie Arduino Nano ESP32 verwenden, siehe wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet.
- Öffnen Sie den Bibliotheksverwalter, indem Sie auf das Library Manager-Symbol in der linken Navigationsleiste der Arduino IDE klicken.
- Geben Sie „MFRC522“ in das Suchfeld ein, suchen Sie anschließend nach der Bibliothek von GithubCommunity.
- Installieren Sie die Bibliothek, indem Sie auf die Install-Schaltfläche klicken.

- Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
- Kompilieren und laden Sie den Code auf das Arduino Nano ESP32-Board, indem Sie auf die Schaltfläche Hochladen in der Arduino IDE klicken.
- Öffnen Sie den seriellen Monitor in der Arduino IDE.

- Tippen Sie mehrere RFID/NFC-Tags auf das RFID-RC522-Modul
- Sehen Sie die im Serial Monitor ausgegebene UID
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
Video Tutorial
Wir erwägen die Erstellung von Video-Tutorials. Wenn Sie Video-Tutorials für wichtig halten, abonnieren Sie bitte unseren YouTube-Kanal , um uns zu motivieren, die Videos zu erstellen.