Inhaltsverzeichnis:

So verwenden Sie das RFID-RC522-Modul mit Arduino - Gunook
So verwenden Sie das RFID-RC522-Modul mit Arduino - Gunook

Video: So verwenden Sie das RFID-RC522-Modul mit Arduino - Gunook

Video: So verwenden Sie das RFID-RC522-Modul mit Arduino - Gunook
Video: RFID am Arduino auslesen mit MFRC-522 Card Reader 2024, November
Anonim
So verwenden Sie das RFID-RC522-Modul mit Arduino
So verwenden Sie das RFID-RC522-Modul mit Arduino

In diesem Instructable gebe ich eine exemplarische Vorgehensweise zum grundlegenden Funktionsprinzip des RFID-Moduls in Verbindung mit seinen Tags und Chips. Ich werde auch ein kurzes Beispiel für ein Projekt geben, das ich mit diesem RFID-Modul mit einer RGB-LED gemacht habe. Wie bei meinen Instructables üblich, gebe ich in den ersten Schritten einen kurzen Überblick und hinterlasse im letzten Schritt eine umfassende, detaillierte Erklärung für Interessierte.

Lieferungen:

RC522 RFID-Modul + Identifikations-Tag und Karte -

RGB-LED + drei 220-Ohm-Widerstände

Schritt 1: Hardwareverbindungen

Hardware-Anschlüsse
Hardware-Anschlüsse

In diesem Projekt habe ich den Arduino Mega verwendet, aber Sie können jeden beliebigen Mikrocontroller verwenden, da dies ein relativ ressourcenarmes Projekt ist. Das einzige, was anders wäre, sind die Pin-Anschlüsse für SCK, SDA, MOSI, MISO und RST, da sie auf jedem Board anders sind. Wenn Sie das Mega nicht verwenden, lesen Sie oben in diesem Skript, das wir in Kürze verwenden werden:

RFID:

SDA (weiß) - 53

SCK (orange) - 52

MOSI (gelb) - 51

MISO (grün) - 50

RST (blau) - 5

3,3 V - 3,3 V

Masse - Masse

(Hinweis: Obwohl der Reader unbedingt 3,3 V benötigt, sind die Pins 5 V tolerant, was es uns ermöglicht, dieses Modul mit Arduinos und anderen 5 V DIO-Mikrocontrollern zu verwenden)

RGB-LED:

Rote Kathode (lila) - 8

Masse - Masse

Grüne Kathode (grün) - 9

Blaue Kathode (blau) - 10

Schritt 2: Software

Software
Software

Nun zur Software.

Zuerst müssen wir die MFRC522-Bibliothek installieren, um RFID-Daten abrufen, schreiben und verarbeiten zu können. Der Github-Link lautet: https://github.com/miguelbalboa/rfid, Sie können ihn aber auch über den Bibliotheksmanager in der Arduino IDE oder auf PlatformIO installieren. Bevor wir unser eigenes, benutzerdefiniertes Programm erstellen können, um RFID-Daten zu verarbeiten und zu verarbeiten, müssen wir zuerst die tatsächlichen UIDs für unsere Karte und unser Tag erhalten. Dazu müssen wir diese Skizze hochladen:

(Arduino-IDE: Beispiele > MFRC522 > DumpInfo)

(PlatformIO: PIO Home > Bibliotheken > installiert > MFRC522 > Beispiele > DumpInfo)

Diese Skizze extrahiert im Wesentlichen alle auf einer Karte vorhandenen Informationen, einschließlich der UID in hexadezimaler Form. Zum Beispiel ist die UID meiner Karte 0x72 0x7D 0xF5 0x1D (siehe Bild). Der Rest der ausgedruckten Datenstruktur sind die Informationen auf der Karte, die wir lesen oder schreiben können. Ich werde im letzten Abschnitt noch tiefer gehen.

Schritt 3: Software (2)

Software (2)
Software (2)

Wie bei meinen Instructables üblich, werde ich die Software in zeilenweisen Kommentaren erklären, so dass jeder Teil des Codes in Bezug auf seine Funktion im Rest des Skripts erklärt werden kann, aber im Wesentlichen identifiziert es die Karte, die ist lesen und entweder den Zugriff gewähren oder verweigern. Es enthüllt auch eine geheime Nachricht, wenn die richtige Karte zweimal gescannt wird.

github.com/belsh/RFID_MEGA/blob/master/mfr….

Schritt 4: RFID; Erklärt

RFID; Erklärt
RFID; Erklärt

Im Lesegerät befinden sich ein Hochfrequenzmodul und eine Antenne, die ein elektromagnetisches Feld erzeugt. Die Karte hingegen enthält einen Chip, der Informationen speichern und durch Beschreiben eines der vielen Blöcke verändern kann, auf die ich im nächsten Abschnitt näher eingehen werde, da er unter die Datenstruktur des RFID fällt.

Das Funktionsprinzip der RFID-Kommunikation ist ziemlich einfach. Die Antenne des Lesegeräts (in unserem Fall ist die Antenne des RC522 die eingebettete spulenartige Struktur auf der Vorderseite), die Funkwellen aussendet, die wiederum eine Spule in der Karte/dem Tag (in unmittelbarer Nähe) mit Energie versorgen und das Der umgewandelte Strom wird vom Transponder (Gerät, das Hochfrequenzsignale empfängt und aussendet) in der Karte verwendet, um die darin gespeicherten Informationen in Form von weiteren Funkwellen zurückzusenden. Dies wird als Rückstreuung bezeichnet. Im nächsten Abschnitt werde ich die spezifische Datenstruktur diskutieren, die von der Karte/dem Tag verwendet wird, um Informationen zu speichern, die wir entweder lesen oder schreiben können.

Schritt 5: RFID; Erklärt (2)

RFID; Erklärt (2)
RFID; Erklärt (2)

Wenn Sie sich den Anfang der Ausgabe unseres zuvor hochgeladenen Skripts ansehen, werden Sie feststellen, dass der Kartentyp PICC 1 KB ist, was bedeutet, dass sie 1 KB Speicher hat. Dieser Speicher ist einer Datenstruktur zugeordnet, die aus 16 Sektoren besteht, die 4 Blöcke tragen, von denen jeder 16 Byte Daten trägt (16 x 4 x 16 = 1024 = 1 KB). Der letzte Block in jedem Sektor (AKA Sector Trailer) wird für den Lese-/Schreibzugriff auf den Rest des Sektors reserviert, was bedeutet, dass wir nur die ersten 3 Blöcke zum Speichern und Lesen von Daten haben.

(Hinweis: Der erste Block von Sektor 0 ist als Herstellerblock bekannt und enthält wichtige Informationen wie Herstellerdaten; eine Änderung dieses Blocks könnte Ihre Karte vollständig sperren. Seien Sie also vorsichtig, wenn Sie versuchen, Daten darauf zu schreiben.)

Viel Spaß beim Basteln.

Empfohlen: