Arduino UNO R4 - RFID/NFC

In diesem Leitfaden lernen wir, RFID/NFC-Technologie mit einem Arduino UNO R4 zu verwenden. Das System besteht aus zwei Teilen: einem Lesegerät und einem Tag. Wir werden zwei Typen von Lesegeräten besprechen: RC522 und PN532. Dieser Leitfaden konzentriert sich auf den RC551-Leser, und wir werden den PN532 in einem anderen Leitfaden bald behandeln.

Das RC522 RFID/NFC-Lesegerät, das auch als RFID-RC522-Modul bekannt ist, kann:

Dieses Tutorial zeigt dir, wie du die UID eines RFID-/NFC-Tags mit dem Arduino UNO R4 ausliest. Dies ist eine gängige Anwendung für dieses Gerät. Weitere Tutorials zu anderen Funktionen werden später folgen.

Arduino UNO R4 und RFID RC522

Über das RFID-RC522-Modul

RFID-RC522-Modul-Pinbelegung

Das RFID-RC522-Modul verfügt über 8 Pins. Einige Pins werden gemeinsam genutzt, während andere für drei verschiedene Kommunikationsmethoden verwendet werden: SPI, I2C und UART. Sie können jeweils nur eine Kommunikationsmethode verwenden. Die Pins sind:

  • GND-Pin: Verbinde ihn mit GND (0 Volt).
  • VCC-Pin: Verbinde ihn mit VCC (3,3 Volt).
  • RST-Pin: Dies ist ein Reset- und Power-Down-Pin. Empfängt dieser Pin ein niedriges Signal, aktiviert er eine harte Abschaltung. Ein ansteigendes Signal setzt das Modul zurück.
  • IRQ-Pin: Dies ist ein Interrupt-Pin, der den Mikrocontroller benachrichtigt, wenn sich ein RFID-Tag in der Nähe befindet.
  • MISO/SCL/TX-Pin: Dient als MISO bei SPI, SCL bei I2C und TX bei UART.
  • MOSI-Pin: Funktioniert als MOSI mit aktiviertem SPI.
  • SCK-Pin: Arbeitet als SCK mit aktiviertem SPI.
  • SS/SDA/RX-Pin: Funktioniert als SS mit SPI, SDA mit I2C und RX mit UART.
RFID-RC522 Pinbelegung

※ Notiz:

  • Die Anordnung der Pins kann je nach Hersteller unterschiedlich sein. Befolgen Sie immer die Beschriftungen am Modul selbst. Das bereitgestellte Bild ist spezifisch für den Hersteller DIYables.
  • Schließen Sie den VCC-Pin nicht an den 5V-Pin an, da dies Ihr Modul beschädigen könnte.
  • Die MFRC522-Bibliothek arbeitet nur im SPI-Modus. Daher verwendet diese Anleitung ausschließlich SPI-Kommunikation.

Wie RFID/NFC funktioniert

RFID/NFC besteht aus zwei Teilen: einem Leser und einem Tag.

  • Das Lesegerät enthält ein RF-Modul und eine Antenne, die ein hochfrequentes elektromagnetisches Feld erzeugt.
  • Der Tag ist ein passives Gerät, das keine eigene Stromquelle benötigt. Er besitzt einen Mikrochip zum Speichern und Verarbeiten von Informationen und eine Antenne zum Senden und Empfangen von Signalen. Der Tag enthält Informationen wie UID (Unique ID) und andere Daten.
Arduino RFID-NFC-System

Um die Informationen auf einem Tag zu lesen, muss sich der Tag in der Nähe des Lesegeräts befinden (eine direkte Sicht ist nicht erforderlich). Die Lesevorgänge:

  • Das Lesegerät erzeugt ein Magnetfeld, das den Elektronenfluss durch die Antenne des Tags bewirkt, wodurch der Chip aktiviert wird.
  • Als Nächstes sendet der Chip im Tag die benötigten Informationen als neues Funksignal an das Lesegerät zurück.
  • Das Lesegerät empfängt dieses Signal und wandelt es in Daten um.
  • Der Arduino UNO R4 verarbeitet die vom Lesegerät empfangenen Daten.

Verdrahtungsdiagramm zwischen RFID-RC522-Modul und Arduino UNO R4

Das RFID-RC522-Modul wird mit 3,3 V betrieben, aber die Ausgangspins eines Arduino UNO R4 liefern 5 V.

  • Sicherheit sicherstellen, indem die Spannung von 5 V an den Pins des Arduino UNO R4 auf 3,3 V reduziert wird, bevor eine Verbindung zum RC522-Modul hergestellt wird. Zur Vereinfachung und zum Testen können Sie die Pins des Arduino UNO R4 direkt an das RC522-Modul anschließen, aber dies kann manchmal dazu führen, dass der Arduino UNO R4 nicht ordnungsgemäß funktioniert.

Dieser Leitfaden bietet zwei verschiedene Schaltpläne für jeden Fall:

  • So verbinden Sie RC522 mit Arduino UNO R4 ohne Spannungsregler
Arduino UNO R4 RFID RC522 Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

  • Verdrahtungsdiagramm zum Anschluss des RC522 an den Arduino UNO R4 mit einem Spannungsregler
Arduino UNO R4 RFID RC522 mit spannungsregulierendem Schaltplan

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.

Siehe Der beste Weg, den Arduino Uno R4 und andere Komponenten mit Strom zu versorgen.

Der Verdrahtungsplan zeigt, dass ein Paar Widerstände, 1 kΩ und 2 kΩ, verwendet wird, um die Spannung von 5 V auf 3,3 V zu regulieren. Es besteht keine Notwendigkeit, die Spannung zwischen dem Pin des Arduino UNO R4 und dem MISO-Pin des RC522-Moduls anzupassen. Es ist jedoch erforderlich, die Spannung zwischen den Pins des Arduino UNO R4 und den SS-, SCK-, MOSI- und RST-Pins des RC522-Moduls zu regulieren.

Verdrahtungstabelle für RFID/NFC RC522-Modul und Arduino UNO R4

RFID/NFC RC522 Arduino UNO R4
SS → 10
SCK → 13
MOSI → 11
MISO → 12
IRQ(not connected)
GNDGND
RST → 5
VCC → 3.3V

Arduino UNO R4 RFID/NFC-Code

/* * Dieser Arduino UNO R4 Code wurde von newbiely.de entwickelt * Dieser Arduino UNO R4 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-uno-r4/arduino-uno-r4-rfid */ #include <SPI.h> #include <MFRC522.h> #define SS_PIN 10 // The Arduino UNO R4 pin connected to the SS pin of RC522 module #define RST_PIN 5 // The Arduino UNO R4 pin connected to the RST pin of RC522 module MFRC522 rfid(SS_PIN, RST_PIN); void setup() { Serial.begin(9600); SPI.begin(); // init SPI bus rfid.PCD_Init(); // init MFRC522 Serial.println("Tap RFID/NFC Tag on 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 NUID 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

Folgen Sie diesen Anweisungen Schritt für Schritt:

  • Wenn Sie das Arduino Uno R4 WiFi/Minima zum ersten Mal verwenden, lesen Sie Einrichtung der Umgebung für Arduino Uno R4 WiFi/Minima in der Arduino IDE.
  • Verdrahten Sie die Bauteile gemäß dem bereitgestellten Diagramm.
  • Schließen Sie das Arduino Uno R4-Board über ein USB-Kabel an Ihren Computer an.
  • Starten Sie die Arduino IDE auf Ihrem Computer.
  • Wählen Sie das passende Arduino Uno R4-Board aus (z. B. Arduino Uno R4 WiFi) und den COM-Port.
  • Gehen Sie zum Symbol Bibliotheken auf der linken Seite der Arduino IDE.
  • Suchen Sie nach „MFRC522“ und finden Sie die Bibliothek von GithubCommunity.
  • Klicken Sie auf die Schaltfläche „Install“, um die MFRC522-Bibliothek hinzuzufügen.
Arduino UNO R4 MFRC522-Bibliothek
  • Kopieren Sie den Code und öffnen Sie ihn in der Arduino-IDE
  • Klicken Sie in der Arduino-IDE auf die Hochladen-Schaltfläche, um den Code auf Arduino UNN R4 hochzuladen
  • Öffnen Sie den seriellen Monitor
  • Halten Sie einige RFID-/NFC-Tags an das RFID-RC522-Modul
  • Überprüfen Sie die UID, die im seriellen Monitor angezeigt wird
COM6
Send
Tap RFID/NFC tag on reader RFID/NFC tag Type: MIFARE 1KB UID: 3A C9 6A CB RFID/NFC tag Type: MIFARE Ultralight or Ultralight C UID: 04 64 34 5A 1E 4E 80
Autoscroll Show timestamp
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.

Verwandte Tutorials

※ UNSERE NACHRICHTEN

  • Sie können gerne den Link zu diesem Tutorial teilen. Bitte verwenden Sie jedoch unsere Inhalte nicht auf anderen Websites. Wir haben viel Mühe und Zeit in die Erstellung der Inhalte investiert, bitte respektieren Sie unsere Arbeit!