Mini RFID Shield RC522

In diesem Beitrag möchte ich dir das kleine Mini RFID Shield vom Typ RC522 vorstellen und zeigen, wie du dieses am Arduino UNO programmierst.

Mini RFID Shield RC522 am Arduino UNO
Mini RFID Shield RC522 am Arduino UNO

Wenn du meinen Blog bereits länger verfolgst, dann kennst du bestimmt schon die Beiträge zum RFID Shield vom Typ RC522:

In diesem Beitrag möchte ich jedoch speziell auf die kleine Version eingehen und auch die Unterschiede zum großen RFID Modul aufzeigen (soweit es welche gibt).

Bezug

Das kleine RFID Shield habe ich über aliexpress.com für knapp 5 € zzgl. Versandkosten erworben. Leider habe ich dieses bisher nicht auf ebay.de oder anderen Plattformen gefunden.

Lieferumfang

Zum Lieferumfang des Shields gehört:

  • zwei RFID Karten im Scheckkartenformat,
  • ein RFID Anhänger,
  • das RFID Modul, sowie
  • zwei Stiftleisten (eine gerade, eine 90° abgewinkelt)

Anschluss an den Arduino UNO

Das RFID Modul wird per SPI Pins an den Arduino UNO angeschlossen.

Mini RFID Shield RC522Arduino UNO
SDAdigitaler Pin D10
SCKdigitaler Pin D19
MOSIdigitaler Pin D17
MISOdigitaler Pin D18
IRQ– unbelegt –
GNDGND
RSTReset
3v33.3V
Schaltung - RFID Modul am Arduino UNO
Schaltung – RFID Modul am Arduino UNO

Programmieren des Shields in der Arduino IDE

Kommen wir nun dazu, dieses Shield in der Arduino IDE zu programmieren. Damit wir dieses Shield komfortable ansprechen / steuern können, verwenden wir die Bibliothek „MFRC522 by GithubCommunity“

Installieren der Bibliothek MFR522 zur Programmierung des RFID Moduls RC522
Installieren der Bibliothek MFR522 zur Programmierung des RFID Moduls RC522

Wie man eine Bibliothek in der Arduino IDE installiert, habe ich dir im gleichnamigen Beitrag Arduino IDE, Einbinden einer Bibliothek ausführlich erläutert.

Der nachfolgende Sketch zeigt dir auf dem seriellen Monitor der Arduino IDE die RFIDs an.

#include <SPI.h>
#include <MFRC522.h>

#define SS_PIN 10
#define RST_PIN 9

MFRC522 rfid(SS_PIN, RST_PIN);

void setup() {
  Serial.begin(9600);
  SPI.begin();
  rfid.PCD_Init();
}

void loop() {
  if ( !rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial()) {
    return;
  }

  String nuid = readHex(rfid.uid.uidByte, rfid.uid.size);
  Serial.println(nuid);

  rfid.PICC_HaltA();
  rfid.PCD_StopCrypto1();
}

String readHex(byte *buffer, byte bufferSize) {
  String result = "";
  for (byte i = 0; i < bufferSize; i++) {
    String* hex[] = {};
    result = result + String(buffer[i] < 0x10 ? " 0" : "");
    result = result + String(buffer[i], HEX);
  }
  return result;
}

Vergleich mit dem großen RFID Modul

Die beiden RFID Module sind von der Pinbelegung gleich und auch ist die zum Programmieren benötigte Bibliothek dieselbe. D.h. wenn du ein kleines RFID Modul benötigst, kannst du ohne Probleme auf das hier vorgestellte Modul zurückgreifen.

Kommentar hinterlassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert