В този проект, базиран на RFID Attendance System, ние ще ви обясним как можем да отчитаме присъствието автоматично с помощта на RFID карти. RFID технологията (радиочестотна идентификация и откриване) се използва често в училища, колежи, офиси и станции за различни цели, за да се води автоматично запис на хората. Тук ще преброим посещаемостта на упълномощено лице чрез използване на RFID.
Можем да разделим цялата система за присъствие на различни секции: секция за четец, секция за управление, секция за водача и секция за дисплей. Ролята на всеки раздел е показана в долната блок-схема:
Читателска секция
Този раздел съдържа RFID, което е електронно устройство, което има две части - едната е RFID четец, а другата е RFID етикет или карта. Когато поставим RFID етикет близо до RFID четеца, той чете данните на маркерите последователно. RFID етикетът има 12-цифрен код в бобина. Този RFID работи със скорост на предаване от 9600 bps. RFID използва електромагнит за прехвърляне на данни от четец към етикет или етикет към четец.
Контролен раздел:
8051 микроконтролер се използва за управление на цялостния процес на този проект. Тук с помощта на 8051 получаваме RFID данни и изпращаме статус или съобщения на LCD.
Раздел на дисплея:
В този проект се използва LCD 16x2 за показване на съобщения върху него.
Секция на водача:
Този раздел има двигател L293D за отваряне на порта и зумер с транзистор BC547 NPN за индикации.
Работещи
Когато човек постави своя RFID етикет в RFID четец, RFID чете данните на маркера и ги изпраща на микроконтролер 8051 и след това микроконтролерът сравнява тези данни с дефинирани данни или информация. Ако данните съвпадат с дефинирани данни, тогава микроконтролерът увеличава присъствието на някой от човека на маркера и ако съвпадението не се случи, тогава микроконтролерът показва невалидна карта на LCD и зумерът издава непрекъснато звуков сигнал
Схемата на схемата за проект за система за посещаемост с базирано RFID е показана по-горе. Във веригата LCD е свързан в четирибитов режим с микроконтролер 8051. 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. Драйверът на двигателя е свързан на PORT номер P2.4 и P2.5. и зумерът е свързан на P2.6 на PORT2.
Обяснение на програмата
За да програмираме за базирана на RFID система за поддръжка, първо трябва да включим заглавни файлове и дефинира входния и изходния щифт и променливите.
#include
След това трябва да създадем функция за забавяне.
void delay (int itime) {int i, j; за (i = 0; i
След това правим някаква функция за LCD и инициализираме lcd fuction,
void lcd_init (void) {lcdcmd (0x02); lcdcmd (0x28); lcdcmd (0x0e); lcdcmd (0x01); }
Тук имаме някаква функция, която сме използвали в нашата програма. В това сме конфигурирали 9600bps скорост на предаване при 11.0592MHz кристална честота. Наблюдаваме SBUF регистъра за получаване на данни.
void uart_init () {TMOD = 0x20; SCON = 0x50; TH1 = 0xfd; TR1 = 1; } char rxdata () {while (! RI); ch = SBUF; RI = 0; return ch; }
След това в основната програма сме инициализирали lcd и UART и след това четем изхода на RFID, когато някой от тях маркира. Съхраняваме този низ в масив и след това съвпадаме с предварително дефинирани данни за масив.
lcdcmd (1); lcdstring ("Поставете вашата карта:"); lcdcmd (0xc0); i = 0; за (i = 0; i <12; i ++) rfid = rxdata (); rfid = '\ 0'; lcdcmd (1);
Ако възникнат съвпадения, тогава контролерът увеличава присъствието с един. Иначе звуковият сигнал се пуска непрекъснато и 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 (резултат);
Оформление на печатни платки
Ето оформлението на печатни платки за базирана на RFID система за присъствие: