Σε αυτό το έργο, πρόκειται να αναπτύξουμε ένα σύστημα ασφαλείας με βάση το RFID και το πληκτρολόγιο. Αυτό το έργο υλοποιείται χρησιμοποιώντας 8051 μικροελεγκτή. Η τεχνολογία RFID Tecnology (Αναγνώριση και Ανίχνευση Ραδιοσυχνοτήτων) χρησιμοποιείται συνήθως σε σχολεία, κολέγια, γραφεία και σταθμούς για διάφορους σκοπούς για την αυτόματη πιστοποίηση ατόμων με έγκυρες ετικέτες RFID. Εδώ θα ελέγξουμε την ετικέτα RFID, μαζί με έναν κωδικό πρόσβασης που σχετίζεται με την ετικέτα, για να ασφαλίσουμε το σύστημα.
Εργαζόμενος
Μπορούμε να χωρίσουμε το πλήρες σύστημα ασφαλείας σε διάφορες ενότητες - ενότητα Αναγνώστης, Πληκτρολόγιο, ενότητα ελέγχου, ενότητα προγράμματος οδήγησης και ενότητα οθόνης Η λειτουργία ολόκληρου του συστήματος και ο ρόλος κάθε ενότητας μπορούν να γίνουν κατανοητές μέσω του παρακάτω διαγράμματος.
Ενότητα Αναγνώστη: Αυτή η ενότητα περιέχει ένα RFID, το οποίο είναι μια ηλεκτρονική συσκευή που έχει δύο μέρη - ένα είναι το RFID Reader και ένα άλλο είναι το RFID tag ή Card. Όταν τοποθετούμε την ετικέτα RFID κοντά στον αναγνώστη RFID διαβάζει σειριακά δεδομένα ετικετών. Η ετικέτα RFID που χρησιμοποιήσαμε εδώ έχει 12ψήφιο κωδικό χαρακτήρα ή σειριακό αριθμό. Αυτό το RFID λειτουργεί με ρυθμό baud 9600 bps.
Πληκτρολόγιο: Εδώ χρησιμοποιήσαμε ένα πληκτρολόγιο μήτρας 4x4 για την εισαγωγή του κωδικού πρόσβασης στο σύστημα.
Τμήμα ελέγχου: Ο μικροελεγκτής 8051 χρησιμοποιείται για τον έλεγχο της πλήρους διαδικασίας αυτού του συστήματος ασφαλείας που βασίζεται σε RFID. Εδώ χρησιμοποιώντας το 8051 λαμβάνουμε δεδομένα RFID και στέλνουμε κατάσταση ή μηνύματα σε LCD.
Ενότητα οθόνης: Το LCD 6x2 χρησιμοποιείται σε αυτό το έργο για την εμφάνιση μηνυμάτων σε αυτό. Εδώ μπορείτε να δείτε το σεμινάριο: LCD διασύνδεση με 8051 μικροελεγκτή
Τμήμα προγράμματος οδήγησης: Αυτή η ενότητα διαθέτει οδηγό κινητήρα L293D για άνοιγμα πύλης και βομβητή με τρανζίστορ BC547 NPN για ενδείξεις.
Όταν ένα άτομο βάζει την ετικέτα RFID του στη συσκευή ανάγνωσης RFID τότε το RFID διαβάζει τα δεδομένα της ετικέτας και το στέλνει σε 8051 μικροελεγκτή και στη συνέχεια ο μικροελεγκτής συγκρίνει αυτά τα δεδομένα με προκαθορισμένα δεδομένα. Εάν τα δεδομένα αντιστοιχίζονται με προκαθορισμένα δεδομένα, τότε ο μικροελεγκτής ζητά κωδικό πρόσβασης και μετά την εισαγωγή κωδικού πρόσβασης, ο μικροελεγκτής συγκρίνει τον κωδικό πρόσβασης με τον προκαθορισμένο κωδικό πρόσβασης. Εάν η πύλη αντιστοίχισης κωδικού πρόσβασης ανοίξει, διαφορετικά η οθόνη LCD δεν επιτρέπεται η πρόσβαση και ο βομβητής αρχίζει να ηχεί για λίγο.
Διάγραμμα κυκλώματος και επεξήγηση
Όπως φαίνεται στο παραπάνω διάγραμμα κυκλώματος συστήματος ασφαλείας RFID, η οθόνη LCD 16x2 συνδέεται σε λειτουργία τεσσάρων bit με μικροελεγκτή. Οι ακροδέκτες RS, RW και EN των LCD συνδέονται απευθείας στους ακροδέκτες PORT 1 με αριθμό 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. Και το πληκτρολόγιο είναι συνδεδεμένο στο PORT0. Η σειρά του πληκτρολογίου συνδέεται στο P0.4 - P0.7 και οι στήλες συνδέονται στο P0.0 - P0.3.
Επεξήγηση προγράμματος
Κατά τον προγραμματισμό του μικροελεγκτή 8051 για σύστημα ασφαλείας που βασίζεται σε RFID, πρώτα απ 'όλα συμπεριλαμβάνουμε αρχεία κεφαλίδας και ορίζουμε εισόδους και έξοδο pin και μεταβλητές.
#περιλαμβάνω
Στη συνέχεια, ορίστε καρφίτσες για τη μονάδα πληκτρολογίου.
sbit col1 = P0 ^ 0; sbit col2 = P0 ^ 1; sbit col3 = P0 ^ 2; sbit col4 = P0 ^ 3; sbit row1 = P0 ^ 4; sbit row2 = P0 ^ 5; sbit row3 = P0 ^ 6; sbit row4 = P0 ^ 7;
Μετά από αυτό έχουμε δημιουργήσει μια λειτουργία για καθυστέρηση.
άκυρη καθυστέρηση (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, και fuction για λήψη παρακολουθούμε το SBUF register για τη λήψη δεδομένων.
άκυρο uart_init () {TMOD = 0x20; SCON = 0x50; TH1 = 0xfd; TR1 = 1; } char rxdata () {ενώ (! RI); ch = SBUF; RI = 0; επιστροφή ch; }
Μετά από αυτό στο κύριο πρόγραμμα έχουμε αρχικοποιήσει το lcd και το Uart και μετά διαβάζουμε την έξοδο του RFID όταν φέρει οποιαδήποτε ετικέτα. Αποθηκεύουμε αυτήν τη συμβολοσειρά σε έναν πίνακα και στη συνέχεια ταιριάζουμε με τα δεδομένα του πίνακα προκαθορισμένων εντολών. Και μετά αντιστοιχίστε τον κωδικό πρόσβασης.
if (strncmp (rfid, "160066A5EC39", 12) == 0) {πληκτρολόγιο (); if (strncmp (pass, "4201", 4) == 0) {αποδοχή (); lcdcmd (1); lcdstring ("Επιτρέπεται η πρόσβαση"); lcdcmd (0xc0);
Εάν συμβεί αντιστοιχία, τότε ο ελεγκτής ανοίγει την πύλη, διαφορετικά ο βομβητής ξεκινά και η οθόνη LCD εμφανίζει άκυρη κάρτα.