이 RFID 기반 출석 시스템 프로젝트 에서는 RFID 카드를 사용하여 자동으로 출석을 계산하는 방법을 설명합니다. RFID 기술 (무선 주파수 식별 및 감지)은 학교, 대학, 사무실 및 방송국에서 일반적으로 사람들을 자동으로 추적하기 위해 다양한 목적으로 사용됩니다. 여기에서는 RFID를 사용하여 승인 된 사람의 출석을 계산합니다.
전체 출석 시스템을 독자 섹션, 제어 섹션, 운전자 섹션 및 디스플레이 섹션의 여러 섹션으로 나눌 수 있습니다. 각 섹션의 역할은 아래 블록 다이어그램에 나와 있습니다.
리더 섹션
이 섹션에는 RFID가 포함되어 있습니다. 하나는 RFID 리더이고 다른 하나는 RFID 태그 또는 카드입니다. RFID 리더 가까이에 RFID 태그를 놓으면 태그 데이터를 순차적으로 읽습니다. RFID 태그에는 코일에 12 자리 문자 코드가 있습니다. 이 RFID는 9600bps의 전송 속도로 작동합니다. RFID는 전자석을 사용하여 리더에서 태그 또는 태그로 데이터를 전송합니다.
제어 섹션:
8051 마이크로 컨트롤러는이 프로젝트의 전체 프로세스를 제어하는 데 사용됩니다. 여기서 8051을 사용하여 RFID 데이터를 수신하고 LCD에 상태 또는 메시지를 보냅니다.
디스플레이 섹션:
16x2 LCD는이 프로젝트에서 메시지를 표시하는 데 사용됩니다.
드라이버 섹션:
이 섹션에는 게이트를 열기위한 모터 드라이버 L293D와 표시를위한 BC547 NPN 트랜지스터가있는 버저가 있습니다.
일
사람이 RFID 태그를 RFID 리더에 넣으면 RFID가 태그의 데이터를 읽고 8051 마이크로 컨트롤러로 전송 한 다음 마이크로 컨트롤러가이 데이터를 정의 된 데이터 또는 정보와 비교합니다. 데이터가 정의 된 데이터와 일치하면 마이크로 컨트롤러는 태그의 사람 중 한 명이 출석을 증가시키고 일치하지 않으면 마이크로 컨트롤러는 LCD에 잘못된 카드를 표시하고 일정 시간 동안 부저가 계속 울립니다.
RFID 기반 출석 시스템 프로젝트의 회로도 는 위와 같습니다. 회로에서 LCD는 8051 마이크로 컨트롤러와 함께 4 비트 모드로 연결됩니다. LCD의 RS, RW 및 EN 핀은 PORT 1 핀 번호 P1.0, P1.1 및 P1.2에 직접 연결됩니다. LCD의 D4, D5, D6 및 D7 핀은 포트 1의 P1.4, P1.5, P1.6 및 P1.7 핀에 직접 연결됩니다. 모터 드라이버는 PORT 핀 번호 P2.4 및 P2.5에 연결됩니다. 부저는 PORT2의 P2.6에 연결됩니다.
프로그램 설명
RFID 기반 속성 시스템을 프로그래밍하려면 먼저 헤더 파일을 포함하고 입력 및 출력 핀과 변수를 정의해야합니다.
#포함
그런 다음 지연을위한 함수를 만들어야합니다.
void delay (int itime) {int i, j; for (i = 0; i
그런 다음 LCD 기능을 만들고 LCD 기능을 초기화합니다.
void lcd_init (void) {lcdcmd (0x02); lcdcmd (0x28); lcdcmd (0x0e); lcdcmd (0x01); }
여기에 우리 프로그램에서 사용한 몇 가지 기능이 있습니다. 여기에서는 11.0592MHz 크리스탈 주파수에서 9600bps의 전송 속도를 구성했습니다. 데이터 수신을 위해 SBUF 레지스터를 모니터링하고 있습니다.
무효 uart_init () {TMOD = 0x20; SCON = 0x50; TH1 = 0xfd; TR1 = 1; } char rxdata () {while (! RI); ch = SBUF; RI = 0; 반환 ch; }
이 후 메인 프로그램에서 LCD와 UART를 초기화 한 후 태그가 하나라도 있으면 RFID 출력을 읽습니다. 이 문자열을 배열에 저장 한 다음 사전 정의 된 배열 데이터와 일치시킵니다.
lcdcmd (1); lcdstring ("카드 배치:"); lcdcmd (0xc0); i = 0; for (i = 0; i <12; i ++) rfid = rxdata (); rfid = '\ 0'; lcdcmd (1);
경기가 발생하면 관제사는 출석을 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", 개수 1); lcdstring (결과);
PCB 레이아웃
RFID 기반 출석 시스템의 PCB 레이아웃은 다음과 같습니다.