Κύκλωμα RFID Reader χρησιμοποιώντας Arduino

Δοκιμάστε Το Όργανο Μας Για Την Εξάλειψη Των Προβλημάτων





Σε αυτό το άρθρο θα κάνουμε μια περιήγηση στην τεχνολογία κυκλωμάτων RFID. Θα διερευνήσουμε πώς λειτουργούν οι ετικέτες RFID και οι αναγνώστες, πώς να διασυνδέσετε τη μονάδα RFID (RC522) με το Arduino και να εξαγάγουμε μερικές χρήσιμες πληροφορίες από τις ετικέτες RFID.

Χρήση ετικετών RFID

Είμαι βέβαιος ότι ο καθένας από εσάς έχει χρησιμοποιήσει RFID για να αποκτήσει πρόσβαση ασφαλείας τουλάχιστον μία φορά στο γραφείο, το σχολείο, το κολέγιο, τη βιβλιοθήκη κ.λπ.



Η ετικέτα / κάρτα που μεταφέρετε έχει ενσωματωμένο ηλεκτρονικό τσιπ, το τσιπ αποθηκεύει την ταυτότητά σας ηλεκτρονικά. Σε αντίθεση με τους γραμμωτούς κώδικες, όπου η κάρτα πρέπει να είναι οπτική γωνία του αναγνώστη, τα RFID μπορούν να τοποθετηθούν κοντά στον αναγνώστη για να διαβάσουν τις πληροφορίες.

Οι περισσότερες από τις έξυπνες κάρτες μας χρησιμοποιούν παθητική τεχνολογία RFID, πράγμα που σημαίνει ότι δεν απαιτείται ενέργεια για την ανάγνωση των πληροφοριών από την κάρτα. Ο αναγνώστης τροφοδοτεί το τσιπ RFID και εξάγει πληροφορίες ταυτόχρονα.



Αυτά τα είδη ετικετών μπορούν να διαβάσουν πληροφορίες από χιλιοστά έως λίγα πόδια, ανάλογα με την ετικέτα και την εφαρμογή.

Οι ενεργές ετικέτες RFID τροφοδοτούνται εξωτερικά, αυτά τα είδη ετικετών μεταδίδουν τις πληροφορίες έως και 100 πόδια. Η κατανάλωση ισχύος της μπαταρίας έχει βελτιστοποιηθεί για να διαρκέσει μερικά χρόνια.

Σε αυτό το έργο θα εξετάσουμε την παθητική τεχνολογία RFID. Χρησιμοποιούμε μονάδα ανάγνωσης RC522 μαζί με το arduino για εξαγωγή και εμφάνιση πληροφοριών. Η ενότητα RC522 διατίθεται συνήθως σε ιστότοπους ηλεκτρονικού εμπορίου και σε τοπικό κατάστημα ηλεκτρονικών κιτ.

Απεικόνιση της ενότητας αναγνώστη / συγγραφέα RC522:

Ενότητα αναγνώστη / συγγραφέα RC522

Ετικέτες τύπου κάρτας και μπρελόκ:

Ετικέτες τύπου κάρτας και μπρελόκ

Όπως μπορούμε να δούμε ότι, ένα μέρος του PCB περιβάλλεται από αγωγό σε τετράγωνο σχήμα στον αναγνώστη, αυτό θα δημιουργήσει ηλεκτρομαγνητικό πεδίο για την ετικέτα με συχνότητα 13,56MHz.

Το παραγόμενο EMF επιλέγεται από την ετικέτα και μετατρέπεται σε επαρκή τάση για να λειτουργεί η ετικέτα, η ετικέτα θα στείλει τις απαραίτητες πληροφορίες σε μορφή παλμού πίσω στον αναγνώστη. Ο ενσωματωμένος μικροελεγκτής αποκωδικοποιεί τις πληροφορίες.

Πως δουλεύει

Κύκλωμα RFID χρησιμοποιώντας το Arduino

Το σχηματικό είναι πολύ εύκολο και αυτονόητο, μερικά καλώδια βραχυκυκλωτήρα είναι αρκετά για να ολοκληρώσουν αυτό το έργο. Θα τροφοδοτήσουμε το arduino και το RFID μέσω θύρας USB του υπολογιστή. Η τάση λειτουργίας του RC522 είναι 3,3V, μην συνδέετε την τροφοδοσία 5V στη μονάδα και θα προκαλέσετε ζημιά στα ενσωματωμένα εξαρτήματα.

Πρωτότυπο κυκλώματος Arduino RFID:

Αυτές είναι όλες οι συνδέσεις υλικού, τώρα ας περάσουμε στην κωδικοποίηση.

Πριν ανεβάσετε το πρόγραμμα, κατεβάστε το αρχείο βιβλιοθήκης από τον παρακάτω σύνδεσμο και μεταβείτε στο φάκελο βιβλιοθήκης του arduino IDE.

github.com/miguelbalboa/rfid.git

Κωδικός προγράμματος:

//-------------------------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------------------//

Εντάξει! Τι σχεδιάστηκε για να λειτουργήσει το παραπάνω πρόγραμμα;

Το παραπάνω πρόγραμμα θα εμφανίσει το UID της ετικέτας σε σειριακή οθόνη του IDE, όταν κάνετε σάρωση στη συσκευή ανάγνωσης. Το UID είναι μοναδικός αριθμός αναγνώρισης της ετικέτας, δεν μπορεί να αλλάξει και ορίζεται από τον κατασκευαστή.

ΠΑΡΑΓΩΓΗ:

UID της κάρτας σας: FA: 4E: B2 // αυτό είναι ένα παράδειγμα.

Σημείωση 1: Οι δύο τιμές διαχωρίζονται με άνω και κάτω τελεία, κάτι που γίνεται από το πρόγραμμα. Οι πραγματικές τιμές ενδέχεται να μην διαχωρίζονται με άνω και κάτω τελεία, αλλά μάλλον από κενό.

Σημείωση 2: Μόνο οι ετικέτες RFID που κατασκευάζονται NXP είναι αναγνώσιμες / εγγράψιμες με την προτεινόμενη ρύθμιση, αυτές χρησιμοποιούνται συνήθως και εμπορικά.

Το UID χρησιμοποιείται για την αναγνώριση της ετικέτας, η ετικέτα που συνοδεύει το κιτ μπορεί να αποθηκεύσει έως και 1 KB πληροφοριών. Υπάρχουν άλλες κάρτες που μπορούν να αποθηκεύσουν έως και 4KB πληροφοριών ή ακόμα και περισσότερες.

Η διαδικασία αποθήκευσης και εξαγωγής των πληροφοριών από την ετικέτα υπόκειται σε άλλο άρθρο.
Εάν έχετε απορίες σχετικά με αυτό το έργο, μη διστάσετε να ρωτήσετε στην ενότητα σχολίων.




Προηγούμενο: Κύκλωμα αισθητήρα βαρομετρικής πίεσης - Λεπτομέρειες εργασίας και διασύνδεσης Επόμενο: Triac Phase Control χρησιμοποιώντας PWM Time Proportional