ESP32 C3 Super Mini - RFID
Dieses Tutorial zeigt Ihnen, wie Sie den ESP32 C3 Super Mini mit einem RC522 RFID/NFC-Leser verwenden, um die Informationen eines RFID/NFC-Tags auszulesen. Das RC522-Modul ist ein 3,3V-Gerät und passt daher perfekt zum ESP32 C3 Super Mini.
In diesem Tutorial lernen Sie:
- Was das RFID-RC522-Modul ist und wie es ein Tag liest.
- Welche Funktion jeder Pin des RFID-RC522-Moduls hat.
- Wie Sie das RC522-Modul über SPI mit dem ESP32 C3 Super Mini verdrahten.
- Wie Sie die MFRC522-Bibliothek in der Arduino IDE installieren.
- Wie Sie Code schreiben, der die UID jedes aufgelegten Tags ausgibt.

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
| 1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Überblick über RFID-RC522 Module
Der RFID-RC522 ist ein Leser mit kurzer Reichweite, der über Funkwellen mit einer Karte oder einem Schlüsselanhänger kommuniziert.
Hauptmerkmale:
- Liest die eindeutige ID (UID) von MIFARE-Karten, Schlüsselanhängern und Aufklebern.
- Kann außerdem die Speicherblöcke in einem MIFARE-Tag lesen und beschreiben.
- Funktioniert aus wenigen Millimetern bis etwa 5 cm Entfernung.
- Kommuniziert mit dem ESP32 C3 Super Mini über SPI, daher werden nur wenige Leitungen benötigt.
- Wird als Kit mit einer Karte und einem Schlüsselanhänger geliefert, sofort bereit zum Testen.
Technische Daten:
- Chip: NXP MFRC522.
- Betriebsspannung: nur 3,3V.
- Funkfrequenz: 13,56 MHz.
- Lesereichweite: 0 bis 60 mm (abhängig vom Tag und der Antenne).
- Schnittstellen: SPI, I2C, UART - jeweils nur eine gleichzeitig.
- SPI-Geschwindigkeit: bis zu 10 Mbit/s.
- Strom: etwa 13-26 mA während des Lesens.
WARNING
Das RFID-RC522-Modul arbeitet mit 3,3V. Verbinden Sie seinen VCC-Pin nur mit dem 3,3V-Pin des ESP32 C3 Super Mini. 5V beschädigen das Modul.
Pinbelegung
Das RFID-RC522-Modul hat 8 Pins. Einige Pins werden von den drei Schnittstellen (SPI, I2C, UART) gemeinsam genutzt, und es kann jeweils nur eine Schnittstelle verwendet werden.

- GND-Pin: Verbinden Sie diesen Pin mit GND (0V).
- VCC-Pin: Verbinden Sie diesen Pin mit 3,3V.
- RST-Pin: Reset- und Power-Down-Pin. Ein LOW-Pegel versetzt das Modul in den Hard-Power-Down. Eine steigende Flanke setzt das Modul zurück.
- IRQ-Pin: Interrupt-Pin, der den ESP32 C3 Super Mini benachrichtigen kann, wenn ein RFID-Tag in Reichweite kommt.
- MISO/SCL/TX-Pin: arbeitet 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: arbeitet als MOSI, wenn die SPI-Schnittstelle aktiviert ist.
- SCK-Pin: arbeitet als SCK, wenn die SPI-Schnittstelle aktiviert ist.
- SS/SDA/RX-Pin: arbeitet 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,3V. Verbinden Sie den VCC-Pin des RFID-RC522-Moduls nicht mit 5V. 5V können das RFID-RC522-Modul zerstören.
- Dieses Tutorial verwendet die SPI-Schnittstelle für die Kommunikation zwischen dem ESP32 C3 Super Mini und dem RFID-RC522-Modul.
※ Notiz:
Verdrahtungsdiagramm
Verdrahten Sie das RC522-Modul wie unten gezeigt mit den SPI-Pins des ESP32 C3 Super Mini.
- Hinweis: Versorgen Sie das Modul über den 3,3V-Pin. Niemals über 5V.
- Hinweis: Der IRQ-Pin wird in diesem Tutorial nicht verwendet. Lassen Sie ihn unverbunden.
- Hinweis: Halten Sie die Jumperkabel kurz. Lange Kabel machen das SPI-Signal unzuverlässig.
- Hinweis: Der ESP32 C3 Super Mini ist ein 3,3V-Board, daher wird kein Pegelwandler benötigt.

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Die Verdrahtungstabelle zwischen RFID/NFC RC522-Modul und ESP32 C3 Super Mini
| RFID/NFC RC522 Pin | ESP32 C3 Super Mini Pin |
|---|---|
| SS (SDA) | GPIO7 |
| SCK | GPIO4 |
| MOSI | GPIO6 |
| MISO | GPIO5 |
| IRQ | nicht verbunden |
| GND | GND |
| RST | GPIO3 |
| VCC | 3,3V |
ESP32 C3 Super Mini RFID/NFC Code
Der folgende Code wartet auf ein Tag und gibt dessen Typ und UID im seriellen Monitor aus.
Was dieser Code macht:
- Startet den SPI-Bus an GPIO4 (SCK), GPIO5 (MISO), GPIO6 (MOSI) und GPIO7 (SS).
- Initialisiert den MFRC522-Leser mit SS an GPIO7 und RST an GPIO3.
- Prüft in jedem Schleifendurchlauf, ob ein neues Tag in Reichweite ist.
- Gibt den Tag-Typ aus, zum Beispiel MIFARE 1KB.
- Gibt die UID des Tags im Hexadezimalformat aus.
Schnelle Schritte
- Neu beim ESP32 C3 Super Mini? Absolvieren Sie zuerst unser Tutorial Erste Schritte mit dem ESP32 C3 Super Mini, um Ihre Entwicklungsumgebung einzurichten.
- Bauteile verdrahten: Verbinden Sie das RC522-Modul wie in der obigen Verdrahtungstabelle gezeigt mit dem ESP32 C3 Super Mini.
- USB-Kabel anschließen: Verbinden Sie den ESP32 C3 Super Mini mit einem USB-Typ-C-Kabel mit Ihrem Computer.
- Arduino IDE öffnen: Starten Sie die Arduino IDE auf Ihrem Computer.
- Board auswählen: Stellen Sie sicher, dass ESP32 C3 Super Mini unter Werkzeuge > Board ausgewählt ist.
- Port auswählen: Wählen Sie den COM-Port Ihres ESP32 C3 Super Mini.
- Bibliotheksverwalter öffnen: Klicken Sie auf das Symbol Library Manager in der linken Navigationsleiste der Arduino IDE.
- Bibliothek suchen: Geben Sie “MFRC522” in das Suchfeld ein und suchen Sie dann nach der Bibliothek von GithubCommunity.
- Bibliothek installieren: Klicken Sie auf die Schaltfläche Install.
- Search for MFRC522 created by GithubCommunity and click the Install button.
- Code kopieren: Kopieren Sie den obigen Code und fügen Sie ihn in die Arduino IDE ein.
- Code hochladen: Klicken Sie auf die Schaltfläche Upload, um den Code zu kompilieren und auf das ESP32 C3 Super Mini Board hochzuladen.
- Seriellen Monitor öffnen: Stellen Sie die Baudrate auf 115200 ein.

- Tag auflegen: Halten Sie mehrere RFID/NFC-Tags an das RFID-RC522-Modul.
- Ergebnis ansehen: Die UID jedes Tags wird im seriellen Monitor ausgegeben.
- Profi-Tipp: Wenn nichts ausgegeben wird, prüfen Sie zuerst die SS- und RST-Leitungen. Eine vertauschte SS- oder RST-Leitung ist der häufigste Fehler.
Zeilenweise Code-Erklärung
Der obige ESP32 C3 Super Mini Code enthält eine zeilenweise Erklärung. Bitte lesen Sie die Kommentare im Code!
Anwendungen und Projektideen
Hier sind einige einfache Projekte, die Sie mit dem ESP32 C3 Super Mini und dem RC522 RFID-Leser bauen können.
- Türschloss: Ein elektromagnetisches Schloss öffnen, wenn ein bekanntes Tag aufgelegt wird.
- Anwesenheitserfassung: Die UID und die Uhrzeit speichern, zu der sich jede Person anmeldet.
- Bargeldloser Automat: Ein Tag startet eine kleine Maschine oder ein Relais.
- Spielzeugkisten-Sortierer: Jedes Spielzeug erhält einen Aufkleber-Tag, und sein Name wird auf einem LCD angezeigt.
- WLAN-Zugangsprotokoll: Jede UID per WLAN an einen Webserver senden.
- Alarm entschärfen: Einen Summer-Alarm nur ausschalten, wenn das richtige Tag vorhanden ist.
Fordern Sie sich selbst heraus
Probieren Sie diese kleinen Erweiterungen aus, um mehr über RFID am ESP32 C3 Super Mini zu lernen.
- Einfach: Schalten Sie bei jedem gelesenen Tag eine LED an GPIO2 für eine Sekunde ein.
- Einfach: Geben Sie statt der rohen UID eine kurze Nachricht aus.
- Mittel: Speichern Sie eine Liste erlaubter UIDs und geben Sie "Access granted" oder "Access denied" aus.
- Mittel: Fügen Sie einen Summer hinzu, der bei einem erlaubten Tag einmal und bei einem unbekannten Tag zweimal piept.
- Fortgeschritten: Lesen und schreiben Sie eigene Daten in einen Speicherblock eines MIFARE-Tags.
- Fortgeschritten: Senden Sie jede gescannte UID an eine Webseite, die vom ESP32 C3 Super Mini gehostet wird.