Banner Ausblenden
Kleines Logo

Willkommen auf PSI-Online

RFID Tag auslesen

ACHTUNG: 
"Tag" bedeutet nicht Tag im kalendarischen Sinne sondern das englische Tag [täg] für Anhänger/Marke/Chip

 

Bevor man mit einem RFID Tag eine Aktion auslösen kann, muss man in einem ersten Schritt die Identifikationsnummer der verschiedenen Tags auslesen, damit man im Sketch definieren kann, welcher Tag welche Aktion auslösen soll - oder eben auch nicht. Eine Möglichkeit dies zu tun, erkläre ich hier:

 

1. Aufbau:

Wenn ihr den Link von meinen Seiten zur Arduino Zugangskontrolle genutzt habt, könnt ihr auch mit dem umfangreicheren Aufbau arbeiten.

RFID_Steckplatine

Durch die Nutzung einer library muss man die folgende Verkabelung beachten!

Anschlussbezeichnung Nummer
GND GND
3.3V 3.3V
RST 5
MISO 50
MOSI 51
SCK 52
SDA 53
IRO -

Falls ihr mit anderen Arduino Modellen als dem MEGA 2560 arbeitet, findet ihr auf der verlinkten Seite eine größere Zuordnungstabelle:
https://www.makerblog.at/2017/11/rfid-transponder-mit-dem-mfrc-522-card-reader-am-arduino-auslesen/

 

2. Sketch:

Alle eingegliederten libraries müssen natürlich auch im Arduino IDE Programm installiert sein ;-)

/*
 *  Dieser Sketch liest die Identifikationnummer eines RFID Tags aus
 *  Folgende Pinzuteilung wird vorrausgesetzt:
      Pin 5 = RST
      Pin 53 = SDA
      Pin 51 = MOSI
      Pin 50 = MISO
      Pin 52 = SCK
      GND = GND
      3,3V = 3,3V 

Quelle der Zuordnungstabelle: 
https://www.makerblog.at/2017/11/rfid-transponder-mit-dem-mfrc-522-card-reader-am-arduino-auslesen/      
*/
#include
#include
#include
#include
#define SS_PIN 53 //SDA Pin definieren
#define RST_PIN 5 //RST Pin definieren
MFRC522 mfrc522(SS_PIN, RST_PIN); //RIFD Empfänger benennen
void setup()
{
  Serial.begin(9600); //Serielle Verbindung starten (seriellen Monitor aufrufen!)
  SPI.begin();  //SPI-Verbindung aufbauen
  mfrc522.PCD_Init(); //Initialisierung des RFID-Empfängers
}
void loop()
{
  if ( ! mfrc522.PICC_IsNewCardPresent()) //Wenn ein Chip in der Nähe ist, führe folgende Aktion aus
  {
    return; //gehe zum nächsten Schritt
  }
  if ( ! mfrc522.PICC_ReadCardSerial()) //Wenn ein RFID Empfänger erkannt wurde, führe folgende Aktion aus
  {
    return; //gehe zum nächsten Schritt
  }
  long code = 0;  // Als Variable „code“ hinzufügen, unter welcher später die UID als zusammenhängende Zahl ausgegeben wird. unter "long" statt "int" lässt sich eine größere Zahl speichern
  for (byte i = 0; i < mfrc522.uid.size; i++)
  {
    code = ((code + mfrc522.uid.uidByte[i]) * 10);  // Nun werden vier Blöcke ausgelesen und in jedem Durchlauf wird der Code mit dem Faktor 10 „gestreckt“.
  }
  Serial.print("Kartennummer:"); // Der Zahlencode des Chips wird unter der Überschrift "Kartennummer" ausgegeben
  Serial.println(code);
}

 

Der Zahlencode sollte nun auf dem seriellen Monitor der PCs unter der Bezeichnung "Kartennummer:" erscheinen
Dieser kann an folgender Stelle im Arduino IDE Programm aufgerufen werden:

Schaltfläche serial_monitor Arduino IDE

 

 

erstellt Schuljahr 2019/20
Florian Porth, 10b

Erstellt: Florian Porth (17.12.2019) Letzte Änderung: Florian Porth (28.03.2020)