RFID-Leseschaltung mit Arduino

Versuchen Sie Unser Instrument, Um Probleme Zu Beseitigen





In diesem Artikel werden wir einen Rundgang durch die RFID-Schaltungstechnologie machen. Wir werden untersuchen, wie RFID-Tags und -Lesegeräte funktionieren, wie das RFID-Modul (RC522) mit Arduino verbunden wird und einige nützliche Informationen aus den RFID-Tags extrahiert werden.

Verwenden von RFID-Tags

Ich bin sicher, dass jeder von Ihnen RFID verwendet hat, um mindestens einmal Zugang zu Sicherheit in Büro, Schule, Hochschule, Bibliothek usw. zu erhalten.



In das Etikett / die Karte, die Sie mit sich herumtragen, ist ein elektronischer Chip eingebettet. Der Chip speichert Ihre Identität elektronisch. Im Gegensatz zu Barcodes, bei denen die Karte die Sichtlinie des Lesegeräts sein sollte, können RFIDs direkt neben dem Lesegerät platziert werden, um die Informationen zu lesen.

Die meisten unserer Smartcards verwenden die passive RFID-Technologie, sodass zum Lesen der Informationen von der Karte kein Strom erforderlich ist. Der Leser versorgt den RFID-Chip mit Strom und extrahiert gleichzeitig Informationen.



Diese Arten von Tags können je nach Tag und Anwendung Informationen von Millimetern bis zu einigen Fuß lesen.

Ein aktives RFID-Tag wird extern mit Strom versorgt. Diese Art von Tags übertragen die Informationen bis zu 100 Fuß. Der Batterieverbrauch ist auf einige Jahre optimiert.

In diesem Projekt beschäftigen wir uns mit der passiven RFID-Technologie. Wir verwenden das RC522-Lesemodul zusammen mit Arduino zum Extrahieren und Anzeigen von Informationen. Das RC522-Modul ist allgemein auf E-Commerce-Websites und im örtlichen Elektronik-Kit-Shop erhältlich.

Abbildung des Lese- / Schreibmoduls RC522:

RC522 Lese- / Schreibmodul

Tags vom Typ Karte und Schlüsselbund:

Tags vom Typ Karte und Schlüsselbund

Wie wir sehen können, ist ein Teil der Leiterplatte von einem quadratischen Leitpfad auf dem Lesegerät umgeben, wodurch ein elektromagnetisches Feld für das Etikett mit einer Frequenz von 13,56 MHz erzeugt wird.

Die erzeugte EMF wird vom Tag aufgenommen und in eine ausreichende Spannung umgewandelt, damit das Tag funktioniert. Das Tag sendet die erforderlichen Informationen in Impulsform an den Leser zurück. Der integrierte Mikrocontroller decodiert die Informationen.

Wie es funktioniert

RFID-Schaltung mit Arduino

Das Schema ist sehr einfach und selbsterklärend, wenige Überbrückungsdrähte reichen aus, um dieses Projekt durchzuführen. Wir werden das Arduino und RFID über den USB-Anschluss des Computers mit Strom versorgen. Die Betriebsspannung des RC522 beträgt 3,3 V, schließen Sie keine 5-V-Versorgung an das Modul an und beschädigen Sie die integrierten Komponenten.

Prototyp einer Arduino-RFID-Schaltung:

Das sind alle Hardwareverbindungen. Kommen wir nun zur Codierung.

Laden Sie vor dem Hochladen des Programms die Bibliotheksdatei über den folgenden Link herunter und wechseln Sie in den Bibliotheksordner von arduino IDE.

github.com/miguelbalboa/rfid.git

Programmcode:

//-------------------------Program developed by R.Girish------------------//
#include
#include
#define SS_PIN 10
#define RST_PIN 9
MFRC522 rfid(SS_PIN, RST_PIN)
MFRC522::MIFARE_Key key
void setup()
{
Serial.begin(9600)
SPI.begin()
rfid.PCD_Init()
}
void loop() {
if ( ! rfid.PICC_IsNewCardPresent())
return
if ( ! rfid.PICC_ReadCardSerial())
return
MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak)
if(piccType != MFRC522::PICC_TYPE_MIFARE_MINI &&
piccType != MFRC522::PICC_TYPE_MIFARE_1K &&
piccType != MFRC522::PICC_TYPE_MIFARE_4K)
{
Serial.println(F('Your tag is not of type MIFARE Classic, your card/tag can't be read :('))
return
}
String StrID = ''
for (byte i = 0 i <4 i ++)
{
StrID +=
(rfid.uid.uidByte[i]<0x10? '0' : '')+
String(rfid.uid.uidByte[i],HEX)+
(i!=3?':' : '' )
}
StrID.toUpperCase()
Serial.print('Your card's UID:')
Serial.println(StrID)
rfid.PICC_HaltA ()
rfid.PCD_StopCrypto1 ()
}
//-------------------------Program developed by R.Girish------------------//

OK! Was soll das obige Programm funktionieren?

Das obige Programm zeigt die UID des Tags im seriellen Monitor der IDE an, wenn Sie auf dem Lesegerät scannen. Die UID ist eine eindeutige Identifikationsnummer des Tags. Sie kann nicht geändert werden und wird vom Hersteller festgelegt.

AUSGABE:

UID: FA: 4E: B2 Ihrer Karte // Dies ist ein Beispiel.

Hinweis 1: Die jeweils zwei Werte werden durch Doppelpunkte getrennt. Dies wird vom Programm vorgenommen. Reale Werte dürfen nicht durch Doppelpunkte, sondern durch Leerzeichen getrennt werden.

Hinweis 2: Mit dem vorgeschlagenen Setup sind nur von NXP hergestellte RFID-Tags lesbar / beschreibbar. Diese werden üblicherweise und kommerziell verwendet.

Die UID wird verwendet, um das Tag zu erkennen, auf dem das mit dem Kit gelieferte Tag bis zu 1 KB an Informationen speichern kann. Es gibt andere Karten, auf denen bis zu 4 KB oder mehr Informationen gespeichert werden können.

Das Speichern und Extrahieren der Informationen aus dem Tag ist Gegenstand eines anderen Artikels.
Wenn Sie Fragen zu diesem Projekt haben, wenden Sie sich bitte an den Kommentarbereich.




Zurück: Stromkreis des Luftdrucksensors - Arbeits- und Schnittstellendetails Weiter: Triac-Phasensteuerung mit PWM Time Proportional