Arduino Starterkit: RFID (WIP)

Einleitung

RIFD (engl. radio-frequency identification) ist eine Technologie die elektromagnetische Wellen nutzt um Daten über kurze Distanzen zu übertragen. RFID ist besonders nützlich zur Identifikation von Personen und Tieren, bargeldlosen Bezahlung oder als Zutrittskontrolle.

Die Übertragung der Daten erfolgt über ein Lesegerät (Reader) welches ein elektromagnetisches Wechselfeld erzeugt auf das der RFID-Transponder (RFID-Tag/Karte) reagiert. Die vom RFID-Tag aufgenomme Hochfrequenz dient während der Kommunikation als Stromversorgung, wodurch die RFID-Transponder keine Batterien benötigen.

Die RFID-Transponder bestehen aus einem kleinen Chip und einem aufgewickelten Kupferdraht der als Antenne dient. Sie sind in verschiedenen Varianten erhältlich, zb. als Schlüsselanhänger oder im Kreditkartenformat.

Auslesen von RFID-Tags mit dem MFRC522 RFID-Reader und einem Arduino

Für dieses Projekt basiererend auf unserem Arduino Starterkit benötigen wir folgende Komponenten: 

Beim MFRC522 Modul sind 2 verschiedene Stiftleisten enthalten, zur Verwendung auf einem Breadboard sollte man die gewinkelten Stiftleiste anlöten.

RFID-set57ea844b3ad55

Die Verkabelung mit dem Arduino Uno sieht wie folgt aus:

RFID ModulArduino Uno
SDA Pin 10
SCK Pin 13
MOSI Pin 11
MISO Pin 12
GND GND Pin
RST Pin 9
3.3V 3.3V Pin
IRQ nicht angeschlossen

Achtung, das Modul muss mit 3,3V betrieben werden! Bei verwendung mit einem 5V Board wird ein Pegelwandler benötigt!

Zur Programmierung des Arduinos empfiehlt sich diese RFID-Bibliothek, welche auch in der offiziellen Arduino IDE zu finden ist. Einfach in der Bibliothekenverwaltung nach "RFID" suchen:

bibliotheken-verwalten2 rfid-bibliothek357e52ae7640c4

Die Bibliothek enhält gute Beispiel-Sketches für grundlegende RFID-Funktionen.

Daher laden wir den „DumpInfo“-Beispielsketch auf unser Arduino um die einzigartige Identifikationsnummer (UID) des RFID-Tags herauszufinden. Den Sketch gibt es hier nochmal mit deutschen Kommentaren versehen um die einzelnen Zeilen zu verstehen.

Download Sketch 1

Anschließend öffnen wir den seriellen Monitor und halten ein RFID-Transponder an den RFID-Reader bis die Daten übertragen wurden. Wurde der Transponder erfolgreich ausgelesen, bekommen wir UID, Typ, Datenblöcke, Sektoren, ect. angezeigt.

RFID-Tag

 

Weiteres Beispiel: Eine LED aufleuchten lassen!

Nachdem wir nun die UID unseres RFID-Transponders kennen, können wir diese nutzen um verschiedenste Funktionen zu programmieren. So zeigen wir im nächsten Beispiel wie man eine LED aufleuchten lässt sobald der richtige RFID-Tag erkannt wird. Diesen Sketch kann man auch einfach verändern um z. B. ein Relais anstelle einer LED zu schalten.

Download Sketch 2

Die Anschlussbelegung ist wie im ersten Sketch, nur mit einer zusätzlichen LED an Pin 2.

RFID_LED_Steckplatine_resize

Um den Sketch mit Eurem RFID-Tag verwenden zu können muss lediglich eine Zeile angepasst werden:

if (rfid == "34 22 EC E2") // Wenn die richtige Karte erkannt wurde...

Hier wird einfach die vorher ausgelesene Card UID eingetragen.
Bitte geben Sie die Zahlenfolge in das nachfolgende Textfeld ein

Die mit einem * markierten Felder sind Pflichtfelder.