Πίνακας περιεχομένων:

Πώς να χρησιμοποιήσετε τη μονάδα RFID-RC522 με Arduino: 5 βήματα
Πώς να χρησιμοποιήσετε τη μονάδα RFID-RC522 με Arduino: 5 βήματα

Βίντεο: Πώς να χρησιμοποιήσετε τη μονάδα RFID-RC522 με Arduino: 5 βήματα

Βίντεο: Πώς να χρησιμοποιήσετε τη μονάδα RFID-RC522 με Arduino: 5 βήματα
Βίντεο: LCD1602 I2C Address for Arduino explained 2024, Νοέμβριος
Anonim
Πώς να χρησιμοποιήσετε τη μονάδα RFID-RC522 με το Arduino
Πώς να χρησιμοποιήσετε τη μονάδα RFID-RC522 με το Arduino

Σε αυτό το Instructable, θα δώσω μια περιήγηση στη βασική αρχή λειτουργίας της μονάδας RFID σε συνδυασμό με τις ετικέτες και τα τσιπ της. Θα δώσω επίσης ένα σύντομο παράδειγμα ενός έργου που έκανα χρησιμοποιώντας αυτήν τη μονάδα RFID με LED RGB. Ως συνήθως με το Instructables μου, θα κάνω μια σύντομη επισκόπηση στα πρώτα βήματα και θα αφήσω μια ολοκληρωμένη, λεπτομερή εξήγηση στο τελευταίο βήμα για όσους ενδιαφέρονται.

Προμήθειες:

RC522 RFID Module + ετικέτα και κάρτα αναγνώρισης-https://www.amazon.com/SunFounder-Mifare-Reader-Ar…

RGB LED + τρεις αντιστάσεις 220 ohm

Βήμα 1: Συνδέσεις υλικού

Συνδέσεις υλικού
Συνδέσεις υλικού

Σε αυτό το έργο χρησιμοποίησα το Arduino Mega, αλλά μπορείτε να χρησιμοποιήσετε όποιον μικροελεγκτή θέλετε, καθώς πρόκειται για ένα έργο σχετικά χαμηλών πόρων, το μόνο που θα διαφέρει είναι οι συνδέσεις καρφιτσών για SCK, SDA, MOSI, MISO και RST αφού είναι διαφορετικά σε κάθε πίνακα. Εάν δεν χρησιμοποιείτε το Mega, ανατρέξτε στην κορυφή αυτού του σεναρίου που θα χρησιμοποιήσουμε σύντομα:

RFID:

SDA (λευκό) - 53

SCK (πορτοκαλί) - 52

MOSI (κίτρινο) - 51

MISO (πράσινο) - 50

RST (μπλε) - 5

3,3v - 3,3v

GND - GND

(Σημείωση: Παρόλο που ο αναγνώστης απαιτεί αυστηρά 3,3V, οι ακίδες είναι ανεκτικές στα 5V, γεγονός που μας επιτρέπει να μπορούμε να χρησιμοποιούμε αυτήν την ενότητα με Arduinos και άλλους μικροελεγκτές 5V DIO)

RGB LED:

Κόκκινο Καθό (μοβ) - 8

GND - GND

Πράσινο καθόδου (πράσινο) - 9

Μπλε καθόδου (μπλε) - 10

Βήμα 2: Λογισμικό

Λογισμικό
Λογισμικό

Τώρα στο λογισμικό.

Πρώτον, πρέπει να εγκαταστήσουμε τη βιβλιοθήκη MFRC522 για να μπορέσουμε να λάβουμε, να γράψουμε και να επεξεργαστούμε δεδομένα RFID. Ο σύνδεσμος github είναι: https://github.com/miguelbalboa/rfid, αλλά μπορείτε επίσης να τον εγκαταστήσετε μέσω του διαχειριστή βιβλιοθήκης στο Arduino IDE ή στο PlatformIO. Προτού μπορέσουμε να δημιουργήσουμε το δικό μας, προσαρμοσμένο πρόγραμμα για την αντιμετώπιση και την επεξεργασία δεδομένων RFID, πρέπει πρώτα να πάρουμε τα πραγματικά UID για την κάρτα και την ετικέτα μας. Για αυτό, πρέπει να ανεβάσουμε αυτό το σκίτσο:

(Arduino IDE: παραδείγματα> MFRC522> DumpInfo)

(PlatformIO: PIO Αρχική σελίδα> βιβλιοθήκες> εγκατεστημένες> MFRC522> παραδείγματα> DumpInfo)

Αυτό που κάνει αυτό το σκίτσο είναι ουσιαστικά να εξάγει όλες τις πληροφορίες που υπάρχουν σε μια κάρτα, συμπεριλαμβανομένου του UID σε δεκαεξαδική μορφή. Για παράδειγμα, το UID της κάρτας μου είναι 0x72 0x7D 0xF5 0x1D (δείτε την εικόνα). Η υπόλοιπη εκτυπωμένη δομή δεδομένων είναι οι πληροφορίες που υπάρχουν στην κάρτα στις οποίες μπορούμε να διαβάσουμε ή να γράψουμε. Θα μπω πιο αναλυτικά στην τελευταία ενότητα.

Βήμα 3: Λογισμικό (2)

Λογισμικό (2)
Λογισμικό (2)

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

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

Βήμα 4: RFID. Εξηγήθηκε

RFID; Εξηγήθηκε
RFID; Εξηγήθηκε

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

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

Βήμα 5: RFID. Εξηγήθηκε (2)

RFID; Εξηγήθηκε (2)
RFID; Εξηγήθηκε (2)

Αν κοιτάξετε την κορυφή της εξόδου του σεναρίου που ανεβάσαμε νωρίτερα, θα παρατηρήσετε ότι ο τύπος της κάρτας είναι PICC 1 KB, που σημαίνει ότι έχει 1 KB μνήμης. Αυτή η μνήμη κατανέμεται σε μια δομή δεδομένων αποτελούμενη από 16 τομείς που φέρουν 4 μπλοκ, καθένα από τα οποία φέρει 16 byte δεδομένων (16 x 4 x 16 = 1024 = 1 KB). Το τελευταίο μπλοκ σε κάθε τομέα (AKA Sector Trailer) θα προορίζεται για τη χορήγηση πρόσβασης ανάγνωσης / εγγραφής στον υπόλοιπο τομέα, πράγμα που σημαίνει ότι έχουμε μόνο τα 3 πρώτα μπλοκ για να δουλέψουμε όσον αφορά την αποθήκευση και την ανάγνωση δεδομένων.

(Σημείωση: το πρώτο μπλοκ του τομέα 0 είναι γνωστό ως Manufacturer Block και περιέχει ζωτικές πληροφορίες όπως δεδομένα κατασκευαστή. Η αλλαγή αυτού του μπλοκ θα μπορούσε να κλειδώσει τελείως την κάρτα σας, οπότε προσέξτε όταν επιχειρείτε να γράψετε δεδομένα σε αυτήν)

Καλό τσίμπημα.

Συνιστάται: