Schnittstellen -RCTOP 102 RFID -Sensor mit Arduino -Nano

Schnittstellen -RCTOP 102 RFID -Sensor mit Arduino -Nano
ARDUINO NANO ist eine Stromversorgung, die kompakte Mikrocontroller-basierte Platine enthält, die mehrere GPIO-Stifte für Schnittstellensensoren enthält. In diesem Tutorial wird Arduino Nano mit dem RFID -Sensor mit dem Arduino -Code miteinander verbunden sein. RC522 ist ein Smartsensor auf SPI -basiert.

Inhalt in diesem Artikel behandelt:

  • 1: Einführung in den RC522 -Sensor
  • 2: RC522 -Sensor -Pinout
  • 3: Schnittstellen von RC522 RFID -Sensor mit Arduino Nano
    • 3.1: Schema
    • 3.2: Installation der erforderlichen Bibliotheken
    • 3.3: Die UID für RFID -Karte/Tag erhalten
  • 4: Lesen eines RFID -Tags mit Arduino Nano
    • 4.1: Code
    • 4.2: Ausgabe

1: Einführung in den RC522 -Sensor

Der MFRC522 ist ein rFID -basiertes kontaktloses IC, das Daten mit einer Häufigkeit von 13 lesen und schreiben kann.56 MHz. Es ist für eine einfache Integration in eine Vielzahl von Anwendungen ausgelegt, einschließlich Zugriffskontrollsystemen, Zahlungsanschlüssen und anderen Systemen, für die sichere drahtlose Kommunikation erfordern.

Der Sensor verfügt über ein Design mit geringem Stromverbrauch und entspricht dem ISO/IEC 14443 A/MIFARE -Standard, mit dem er mit einer Vielzahl kontaktloser Karten und Tags kommunizieren kann.

Darüber hinaus verfügt das MFRC522 über eine eingebaute Antenne, die es zu einer bequemen und kompakten Lösung zum Hinzufügen von kontaktlosen Kommunikationsfunktionen zu einem Projekt macht.

2: RC522 -Sensor -Pinout

Der Sensor verfügt über insgesamt 8 Stifte, die ihn mit einem Mikrocontroller oder einem anderen Steuergerät verkürzen. Die Pinout des MFRC522 -Sensors lautet wie folgt:

Der SDA, SCK, Mosi, Und Miso Stifte werden verwendet, um den MFRC522.

Der Irq PIN kann verwendet werden, um einen Interrupt zu generieren, wenn bestimmte Ereignisse auftreten, z.

Der GND Der Stift wird mit dem Boden des Stromkreises verbunden, und der erste Pin wird zum Zurücksetzen des Sensors verwendet.

Endlich, das 3.3v Pin wird verwendet, um dem Sensor Strom zu liefern.

Es ist wichtig zu beachten, dass diese PIN -Namen je nach spezifischem Modul geringfügig variieren können. Daher ist es immer am besten, das Datenblatt des Herstellers für die richtigen Pinout -Informationen zu konsultieren.

3: Schnittstellen von RC522 RFID -Sensor mit Arduino Nano

Schnittstellen des MFRC522 -Sensors mit einem Arduino -Mikrocontroller ist ein einfacher Prozess, der mit der MFRC522 -Bibliothek durchgeführt werden kann, die frei zum Download zur Verfügung steht. Diese Bibliothek bietet eine benutzerfreundliche Funktion für den Zugriff auf die Funktionalität des Sensors, einschließlich Funktionen zum Lesen und Schreiben von Daten in kontaktlose Karten und Tags.

Sobald die Bibliothek installiert ist. In der Skizze ist es wichtig, die korrekten Pin -Verbindungen zwischen Arduino und dem MFRC522 -Sensor wie den SPI.

Mit der richtigen Verkabelung und der ordnungsgemäßen Bibliothek kann der Arduino mit dem MFRC522 -Sensor kommunizieren und die gewünschten Aktionen wie Lesen und Schreiben auf Karten und Tags ausführen.

1: Schema

RC522 Schematisches Bild mit Arduino -Nano ist unten gezeigt:

2: Installation der erforderlichen Bibliotheken

Die MFRC522 -Bibliothek ist zum Lesen der RFID -Karte und den Tags erforderlich Uid. Öffnen Sie die IDE, gehen Sie zum Bibliotheksmanager und suchen Sie nach der MFRC522 -Bibliothek. Installieren Sie die Bibliothek in Arduino IDE:

Nach der Installation der MFRC522 -Bibliothek lesen wir die UID für RFID -Tags und Karten.

3: Die UID für RFID -Karte/Tag erhalten

Öffne das DumpInfo Beispiel für MFRC522 -Sensor. Gehe zu: Datei> Beispiele> MFRC522> DUPPINFO

Der folgende Code wird in einem neuen IDE -Fenster geöffnet. Laden Sie den Code in Arduino Nano hoch. Denken Sie daran, den Rücksetz- und Slave -Auswahl -PIN gemäß Ihrem Arduino -Board festzulegen. Jeder der digitalen Arduino -Stifte kann als festgelegt werden RST Und Ss.

Nach dem Hochladen von Code auf Arduino Nano. Berühren Sie und halten Sie die RFID -Karte/den RFID -Tag mit dem MFRC522 -Sensor.

Der Sensor liest die im RFID -Tag gespeicherten Daten und zeigt sie auf dem seriellen Monitor an. Hier können wir das sehen Uid Für RFID -Tag mit Angabe 02 DC B4 C3.

Insgesamt 16 (0-15) Sektoren, in denen Rfid Karten-/Tag -1K -Speicher sind organisiert. In jedem dieser 16 Sektoren sind vier (0-3) Blöcke enthalten. Jeder Block verfügt über die Fähigkeit, 16 (0-15) Datenbytes zu speichern.

Diese Daten stellt das dar:

16 Sektoren x 4 Blöcke x 16 Bytes von Daten = 1024 Bytes = 1k Speicher

Der serielle Monitor von Arduino IDE zeigt uns die Verteilung von 1K -Speicher des RFID -Tags. Diese Verteilung enthält auch die Sektoren, Blöcke und Dateninformationen in Zeilen und Spalten der Ausgabedaten:

Sie können auch die eindeutige ID lesen (Uid) für die Karte am Ende der Ausgabe:

4: Lesen eines RFID -Tags mit Arduino Nano

Jetzt haben wir die eindeutige ID (UID) für RFID -Tag gelesen. Wir schreiben einen Arduino -Code, der diese Karteninformationen speichert und dem Benutzer Zugriff gewährt, wenn das RFID -Tag mit demselben UID mit dem MFRC522.

1: Code

Öffnen Sie die IDE, wählen Sie Nano -Board und laden Sie den angegebenen Code hoch:

/*
****************
LinuxHint.com
****************
LinuxHint.com
****************
*/
#enthalten
#enthalten
#define ss_pin 10 /*Slave auswählen PIN* /
#define rst_pin 9 /*Pin für RC522* / /*
#define led_g 8 /*Pin 8 für LED* /
MFRC522 MFRC522 (SS_PIN, RST_PIN); /*Erstellen Sie MFRC522 initialisiert*/
void setup ()

Serie.Beginnen Sie (9600); /*Serielle Kommunikation beginnt*/
Spi.Start(); /*SPI -Kommunikation initialisiert*/
MFRC522.Pcd_init (); /*RFID -Sensor initialisiert*/
PinMode (LED_G, Ausgabe); /*LED -Pin als Ausgabe eingestellt*/
Serie.println ("Legen Sie Ihre Karte an den Leser ...");
Serie.println ();

Hohlraumschleife ()

/*Suchen Sie nach der RFID -Karte*//
Wenn ( ! MFRC522.Picc_isnewcardpresent ())

zurückkehren;

/*Karte auswählen*/
Wenn ( ! MFRC522.PICC_READCARDERIAL ())

zurückkehren;

/*Uid für karten/tag auf seriell monitor*/anzeigen
Serie.print ("uid tag:");
String content = "";
Bytebrief;
für (byte i = 0; i < mfrc522.uid.size; i++)

Serie.Druck (MFRC522.uid.uidbyte [i] < 0x10 ? " 0" : " ");
Serie.Druck (MFRC522.uid.uidbyte [i], hex);
Inhalt.concat (String (MFRC522.uid.uidbyte [i] < 0x10 ? " 0" : " "));
Inhalt.concat (String (MFRC522.uid.uidbyte [i], hex));

Serie.println ();
Serie.print ("meldung:");
Inhalt.touppercase ();
if (Inhalt.Substring (1) == "02 DC B4 C3")/*UID für die Karte/Tag, die wir durch Ihre Karte uid ersetzen möchten*/

Serie.println ("autorisierter Zugriff"); /*Meldung drucken, wenn UID mit der Datenbank übereinstimmt*/
Serie.println ();
Verzögerung (500);
DigitalWrite (LED_G, Hoch); /*LED eingeschaltet*/
Verzögerung (2500);
DigitalWrite (LED_G, LOW);

anders
Serie.println ("Zugriff verweigert"); /*Wenn UID nicht übereinstimmt, über die Druckmeldung*//nicht übereinstimmt*/

Der Code begann mit der SPI- und MFRC522 -Bibliothek. Als nächstes haben wir den Reset- und Slave Select Pin für den Sensor definiert. Eine LED am Pin D8 wird als Ausgang initialisiert.

Die RFID -Karte, die wir lesen möchten, wird durch Definieren der UID initialisiert. Dies ist die gleiche UID, die wir mit dem erhalten haben DumpInfo Beispielcode:

Ein WENN Der Zustand überprüft die UID auf die Karte, die mit dem Sensor abgebildet ist. Wenn die UID mit der in der Code -LED übereinstimmenden und autorisierten Zugriffsnachricht übereinstimmt, bleibt die LED ausgeschaltet und der Zugriff verweigert wird angezeigt, wenn eine andere Karte abgebildet ist.

2: Ausgabe

In der Ausgabe können wir sehen, dass das RFID -Tag nicht mit dem MFRC522 -Sensor abgebildet ist, sodass keine LED eingeschaltet ist:

Berühren Sie oder bringen Sie die RFID -Karte/das nach der Ausgabe in die Nähe des Sensors mit. Auf dem seriellen Monitor werden die Karten -UID angezeigt:

LED wird eingeschaltet, wenn der Zugang gewährt wird und UID mit dem, den wir im Code definiert haben, übereinstimmt:

Wir haben die Schnittstelle des RFID -Tags mit dem RC522 -Sensor mit Arduino Nano Board und IDE abgeschlossen.

Abschluss

Arduino Nano ist ein Stromspeicherplatine, das über mehrere GPIO -Stifte verfügt, um Eingaben von verschiedenen Sensoren zu erhalten. Arduino Nano bietet eine integrierte Unterstützung für UART-, SPI- und I2C-Protokoll, mit dem Sensoren verwendet werden können, die diese Arduino-Kommunikationsprotokolle verwenden. Dieser Artikel deckt die Arduino -Nano -Schnittstelle mit RC522 -Sensor und Code ab, das zum Lesen einer RFID -Karte/des Tags erforderlich ist.