В этом проекте мы собираемся разработать систему безопасности на основе RFID и клавиатуры. Этот проект реализован с использованием микроконтроллера 8051. Технология RFID (радиочастотная идентификация и обнаружение) обычно используется в школах, колледжах, офисах и на станциях для различных целей для автоматической аутентификации людей с помощью действительных RFID-меток. Здесь мы проверим метку RFID вместе с паролем, связанным с меткой, чтобы защитить систему.
За работой
Мы можем разделить всю систему безопасности на несколько разделов - раздел для чтения, клавиатура, раздел управления, раздел драйвера и раздел дисплея. Работу всей системы и роль каждого раздела можно понять с помощью приведенной ниже блок-схемы.
Секция считывателя: этот раздел содержит RFID, электронное устройство, состоящее из двух частей: одна - это считыватель RFID, а другая - метка или карта RFID. Когда мы помещаем RFID-метку рядом с считывателем RFID, он последовательно считывает данные метки. RFID-метка, которую мы здесь использовали, имеет 12-значный код или серийный номер. Этот RFID работает со скоростью 9600 бит / с.
Клавиатура: Здесь мы использовали матричную клавиатуру 4х4 для ввода пароля к системе.
Секция управления: микроконтроллер 8051 используется для управления всем процессом этой системы безопасности на основе RFID. Здесь, используя 8051, мы получаем данные RFID и отправляем статус или сообщения на ЖК-дисплей.
Секция дисплея: В этом проекте для отображения сообщений используется ЖК-дисплей 6x2. Здесь вы можете увидеть руководство: Интерфейс ЖК-дисплея с микроконтроллером 8051
Секция драйвера: В этой секции есть драйвер двигателя L293D для открытия затвора и зуммер с транзистором BC547 NPN для индикации.
Когда человек помещает свою метку RFID в считыватель RFID, RFID считывает данные метки и отправляет их в микроконтроллер 8051, а затем микроконтроллер сравнивает эти данные с заранее заданными данными. Если данные совпадают с предопределенными данными, тогда микроконтроллер запрашивает пароль и после ввода пароля микроконтроллер сравнивает пароль с предопределенным паролем. Если откроется шлюз, соответствующий паролю, в противном случае на ЖК-дисплее появится сообщение «Доступ запрещен», и некоторое время начнет издавать звуковой сигнал.
Принципиальная схема и объяснение
Как показано на приведенной выше принципиальной схеме системы безопасности RFID, ЖК-дисплей 16x2 соединен в четырехразрядном режиме с микроконтроллером. Выводы RS, RW и EN ЖК-дисплея напрямую подключены к контактам PORT 1 с номерами P1.0, P1.1 и P1.2. Контакты D4, D5, D6 и D7 ЖК-дисплея напрямую подключены к контактам P1.4, P1.5, P1.6 и P1.7 порта 1. Драйвер двигателя подключается к контактам PORT P2.4 и P2.5. И зуммер подключен к P2.6 на PORT2. И клавиатура подключена к PORT0. Ряд клавиатуры подключается к P0.4 - P0.7, а столбцы подключаются к P0.0 - P0.3.
Пояснение к программе
При программировании микроконтроллера 8051 для системы безопасности на основе RFID мы прежде всего включаем файлы заголовков и определяем входные и выходные контакты и переменные.
#включают
Затем определите контакты для модуля клавиатуры.
sbit col1 = P0 ^ 0; sbit col2 = P0 ^ 1; сбит col3 = P0 ^ 2; сбит col4 = P0 ^ 3; sbit row1 = P0 ^ 4; sbit row2 = P0 ^ 5; сбит row3 = P0 ^ 6; сбит row4 = P0 ^ 7;
После этого мы создали функцию задержки.
недействительная задержка (int itime) {int i, j; для (i = 0; i
Затем мы делаем некоторую функцию для ЖК-дисплея и инициализируем функцию ЖК-дисплея, void lcd_init (пусто) {lcdcmd (0x02); lcdcmd (0x28); lcdcmd (0x0e); lcdcmd (0x01); }
Здесь у нас есть функция, которую мы использовали в нашей программе. В этом случае мы настроили скорость передачи 9600 бит / с на кристаллической частоте 11,0592 МГц, и функцию приема мы отслеживаем регистр SBUF для приема данных.
void uart_init () {TMOD = 0x20; SCON = 0x50; TH1 = 0xfd; TR1 = 1; } char rxdata () {в то время как (! RI); ch = SBUF; RI = 0; return ch; }
После этого в основной программе мы инициализировали lcd и Uart, а затем мы читаем вывод RFID, когда на него переносится какой-либо тег. Мы сохраняем эту строку в массиве, а затем сопоставляем с данными предопределенного массива. А затем сопоставьте пароль.
если (strncmp (RFID, "160066A5EC39", 12) == 0) {клавиатура (); если (strncmp (пройти, "4201", 4) == 0) {принять (); ЖКД (1); lcdstring («Доступ разрешен»); lcdcmd (0xc0);
Если совпадение происходит, контроллер открывает ворота, в противном случае включается зуммер и на ЖК-дисплее отображается недействительная карта.