Σε αυτό το έργο που βασίζεται σε RFID System Attendance System, θα σας εξηγήσουμε πώς μπορούμε να μετρήσουμε την παρουσία αυτόματα χρησιμοποιώντας κάρτες RFID. Η τεχνολογία RFID (Αναγνώριση και Ανίχνευση Ραδιοσυχνοτήτων) χρησιμοποιείται συνήθως σε σχολεία, κολέγια, γραφεία και σταθμούς για διάφορους σκοπούς για να παρακολουθεί αυτόματα τα άτομα. Εδώ θα μετρήσουμε την παρουσία εξουσιοδοτημένου ατόμου χρησιμοποιώντας RFID.
Μπορούμε να χωρίσουμε το πλήρες σύστημα παρακολούθησης σε διαφορετικές ενότητες: ενότητα αναγνώστη, τμήμα ελέγχου, ενότητα προγράμματος οδήγησης και ενότητα οθόνης Ο ρόλος κάθε ενότητας εμφανίζεται στο παρακάτω διάγραμμα μπλοκ:
Ενότητα Αναγνώστη
Αυτή η ενότητα περιέχει ένα RFID, το οποίο είναι μια ηλεκτρονική συσκευή που έχει δύο μέρη - ένα είναι το RFID Reader και ένα άλλο είναι το RFID tag ή Card Όταν τοποθετούμε την ετικέτα RFID κοντά στον αναγνώστη RFID, διαβάζει σειριακά δεδομένα ετικετών. Η ετικέτα RFID έχει 12ψήφιο κωδικό χαρακτήρα σε ένα πηνίο. Αυτό το RFID λειτουργεί με ρυθμό baud 9600 bps. Το RFID χρησιμοποιεί ηλεκτρομαγνήτη για τη μεταφορά δεδομένων από αναγνώστη σε ετικέτα ή ετικέτα σε αναγνώστη.
Τμήμα ελέγχου:
Ο μικροελεγκτής 8051 χρησιμοποιείται για τον έλεγχο της πλήρους διαδικασίας αυτού του έργου. Εδώ χρησιμοποιώντας το 8051 λαμβάνουμε δεδομένα RFID και στέλνουμε κατάσταση ή μηνύματα σε LCD.
Ενότητα οθόνης:
Μια οθόνη 16x2 LCD χρησιμοποιείται σε αυτό το έργο για την εμφάνιση μηνυμάτων σε αυτήν.
Ενότητα προγράμματος οδήγησης:
Αυτή η ενότητα διαθέτει έναν οδηγό κινητήρα L293D για άνοιγμα πύλης και έναν βομβητή με τρανζίστορ BC547 NPN για ενδείξεις.
Εργαζόμενος
Όταν ένα άτομο βάζει την ετικέτα RFID στον αναγνώστη RFID, τότε το RFID διαβάζει τα δεδομένα της ετικέτας και το στέλνει σε 8051 μικροελεγκτή και στη συνέχεια ο μικροελεγκτής συγκρίνει αυτά τα δεδομένα με καθορισμένα δεδομένα ή πληροφορίες. Εάν τα δεδομένα αντιστοιχίζονται με καθορισμένα δεδομένα, τότε ο μικροελεγκτής αυξάνει την παρακολούθηση από ένα άτομο της ετικέτας και εάν δεν ταιριάζει, τότε ο μικροελεγκτής εμφανίζει άκυρη κάρτα στην οθόνη LCD και ο βομβητής ακούγεται συνεχώς για έναν καιρό.
Το διάγραμμα κυκλώματος για το έργο συστήματος παρακολούθησης με βάση το RFID φαίνεται παραπάνω. Στο κύκλωμα, η LCD συνδέεται σε λειτουργία τεσσάρων bit με μικροελεγκτή 8051. Οι ακροδέκτες RS, RW και EN των LCD συνδέονται απευθείας στους αριθμούς PORT 1 pin P1.0, P1.1 και P1.2. Οι ακροδέκτες D4, D5, D6 και D7 της LCD συνδέονται απευθείας στους ακροδέκτες P1.4, P1.5, P1.6 και P1.7 της θύρας 1. Ο οδηγός του κινητήρα είναι συνδεδεμένος με τον αριθμό PIN PORT P2.4 και P2.5. και ο βομβητής συνδέεται στο P2.6 στο PORT2.
Επεξήγηση προγράμματος
Για να προγραμματίσουμε σύστημα RFedance με βάση RFID, πρέπει πρώτα να συμπεριλάβουμε αρχεία κεφαλίδας και να ορίσουμε pin και μεταβλητές εισόδου και εξόδου
#περιλαμβάνω
Μετά από αυτό πρέπει να δημιουργήσουμε μια συνάρτηση για καθυστέρηση.
άκυρη καθυστέρηση (int itime) {int i, j; για (i = 0; i
Στη συνέχεια κάνουμε κάποια λειτουργία για LCD και αρχικοποιούμε τη λειτουργία lcd,
void lcd_init (void) {lcdcmd (0x02); lcdcmd (0x28); lcdcmd (0x0e); lcdcmd (0x01); }
Εδώ έχουμε κάποια λειτουργία που έχουμε χρησιμοποιήσει στο πρόγραμμά μας. Σε αυτό έχουμε διαμορφώσει 9600bps baud rate στα 11.0592MHz Crystal Frequency. Παρακολουθούμε το μητρώο SBUF για τη λήψη δεδομένων.
άκυρο uart_init () {TMOD = 0x20; SCON = 0x50; TH1 = 0xfd; TR1 = 1; } char rxdata () {ενώ (! RI); ch = SBUF; RI = 0; επιστροφή ch; }
Μετά από αυτό στο κύριο πρόγραμμα, αρχικοποιήσαμε το lcd και το UART και μετά διαβάζουμε την έξοδο του RFID όταν υπάρχει μία ετικέτα σε αυτό. Αποθηκεύουμε αυτήν τη συμβολοσειρά σε έναν πίνακα και μετά ταιριάζουμε με προκαθορισμένα δεδομένα πίνακα.
lcdcmd (1); lcdstring ("Τοποθετήστε την κάρτα σας:"); lcdcmd (0xc0); i = 0; για (i = 0; i <12; i ++) rfid = rxdata (); rfid = '\ 0'; lcdcmd (1);
Εάν συμβεί αντιστοιχία, τότε ο ελεγκτής αυξάνει την παρουσία κατά ένα. Ο βομβητής Else Beep λειτουργεί συνεχώς και η οθόνη LCD δείχνει άκυρη κάρτα.
if (strncmp (rfid, "160066A5EC39", 12) == 0) {count1 ++; lcdcmd (1); lcdstring ("Συμμετοχή"); lcdcmd (0xc0); lcdstring ("Εγγεγραμμένος"); καθυστέρηση (200) lcdcmd (1); lcdstring ("Student1"); lcdcmd (0xc0); lcdstring ("Attnd. No.:"); sprintf (αποτέλεσμα, "% d", count1); lcdstring (αποτέλεσμα);
Διάταξη PCB
Εδώ είναι η διάταξη PCB για σύστημα παρακολούθησης με βάση RFID: