Lưu đồ giải thuật của chương trình con

Một phần của tài liệu Đồ Án Vi Điều Khiển Mạch giao tiếp RFID RC522 NFC Sử dụng PIC16F877A (Trang 44)

4.2.1 Lưu đồ giải thuật loa báo

Hình 4.4 Lưu đồ thuật giải còi báo

Chương trình con loa báo mỗi khi mở cửa hoặc đóng cửa sẽ được vi xử lý đưa dữ liệu đến chân RC1 lên mức cao làm loa phát ra âm thanh

4.2.2 Lưu đồ giải thuật quét thẻ

Hình 4.5 Hình lưu đồ giải thuật quét thẻ

Chương trình sẽ so sánh mã UID trong chương trình với thẻ chứa mã UID đang được đưa vào nếu thẻ đúng sẽ được chuyển đến chương trình chính để hiển thị ra LCD nếu thẻ sai thì ngắt không cần kiểm tra thẻ nữa.

Chương 5 Kết quả đạt được và hướng phát triển 5.1 Kết quả đạt được

Hình 5.1 Mạch đóng mở cửa dùng RFID RC522

Qua quá trình nghiên cứu và làm đồ án,em đã đạt được kết quả: Mạch hoạt động tương đối tốt, đúng với chương trình lập trình Khi người dùng muốn mở hoặc đóng cửa chỉ cần quét thẻ đúng Hiểu được nguyên lý hoạt động của mạch đóng mở cửa bằng RFID

5.1.2 Ứng dụng

Hiện nay hệ thống đóng mở cửa bằng công nghệ RFID được sử dụng khá rộng rãi và phổ biến trong trường học, thư viện, nhà thông minh…

5.1.3 Một số hạn chế

Do chưa có kinh nghiệm nên còn một vài chổ còn chưa tối ưu, thiếu khách quan

Chưa lập trình cho nhiều thẻ RFID hơn. Mạch có độ bền không cao.

5.2 Hướng phát triển

Thiết kế một hệ thống đóng mở cửa thực tế.

Lập trình cho hệ thống đóng mở cửa tự động thay vì phải quét thẻ để đóng cửa.

Nâng cấp ngoài mở cửa bằng RFID, có thể thêm một số tính năng như mở cửa bằng bàn phím số hay cảm biến vân tay…

TÀI LIỆU THAM KHẢO [1] http://www.piccircuit.com [2] www.makerspace.vn [3] www.embed4fun.com [4] http://giapvn.blogspot.com/ [5] http://arduino.vn/ [6] http://projectpoint.in/ [7] http://ytuongnhanh.vn/ [8] http://www.alldatasheet.com/ [9] Giáo trình vi xử lý PIC 16F877A Ts. Đặng Đắc Chi

Ths. Cao Hoàng Vũ

Chương trình

#include <16F877A.h>

#USE DELAY(CLOCK=20M)

#FUSES PUT,HS,NOWDT,NOPROTECT,NOLVP

#define LCD_ENABLE_PIN PIN_D5

#define LCD_RS_PIN PIN_D7

#define LCD_RW_PIN PIN_D6

#define LCD_DATA4 PIN_D4

#define LCD_DATA5 PIN_C7

#define LCD_DATA6 PIN_C6

#define LCD_DATA7 PIN_C5 #include <lcd.c> #define MFRC522_CS PIN_D3

#define MFRC522_SCK PIN_D2 #define MFRC522_SI PIN_C2

#define MFRC522_SO PIN_D0

#define MFRC522_RST PIN_C3 #include<Built_in.h>

char The_2[5]={ 0X04, 0X1a, 0X14, 0X2b, 0X21 }; char The_3[5]={0Xb9, 0X1e, 0Xfb, 0Xb9, 0Xe5}; void _Init_lcd(void);

char user1,user2;

int quet_the(char THE[], char UID[]) { for(int i = 0; i < 5; i++) { if(UID[i] == THE[i]) { THE_1 = 1; } else { THE_1 = 0; break; } } return THE_1; }

void coibao(unsigned int8 hoi, unsigned int8 tieng) {

int8 i,j;

for(i=0;i<hoi;i++) {

{ output_high(pin_c0); delay_ms(10); } output_low(pin_c0); delay_ms(10); } } void main() { CHAR UID[6];

UNSIGNED int TagType; lcd_init (); lcd_gotoxy(4,1); printf(lcd_putc,"DO AN VDK"); lcd_gotoxy(4,2); printf(lcd_putc,"BAO PHUC"); delay_ms(2000); lcd_gotoxy(1,1);

printf(lcd_putc,"HE THONG MO CUA"); lcd_gotoxy(4,2);

printf(lcd_putc,"BANG RFID "); delay_ms(2000);

MFRC522_Init ();

while(TRUE) {

printf (LCD_PUTC,"\fXin moi quet the"); if(MFRC522_isCard(&TagType))

{

if(MFRC522_ReadCardSerial(&UID)) {

user1 = quet_the(The_2, UID); user2 = quet_the(The_3, UID); if(user1 == 1)

{

if(KT == 0) {

printf(lcd_putc,"\fThe hop le"); output_high(pin_C1);

lcd_gotoxy(1,2);

printf(lcd_putc,"Xin moi vao"); coibao(1,1);

delay_ms(100); }

else if(KT == 1) {

printf(lcd_putc,"\fThe hop le"); output_low(pin_C1);

lcd_gotoxy(1,2); printf(lcd_putc,"Cua da dong "); coibao(1,1); delay_ms(100); } KT =~ KT; delay_ms(1000); } else if(user2 == 1) {

printf(lcd_putc,"\fThe hop le"); output_high(pin_C1);

lcd_gotoxy(1,2);

printf(lcd_putc,"Xin moi vao"); coibao(1,1);

delay_ms(5000);

printf(lcd_putc,"\fThe hop le"); output_low(pin_C1);

lcd_gotoxy(1,2);

printf(lcd_putc,"Cua da dong "); coibao(1,1);

} else {lcd_gotoxy(0,1); printf(lcd_putc,"The khong hop le"); lcd_gotoxy(1,2); printf(lcd_putc,"!!!!Canh bao!!!!"); coibao(10,10); delay_ms(500);} KT=~ KT; delay_ms(1000); } } MFRC522_Halt (); } } }

Một phần của tài liệu Đồ Án Vi Điều Khiển Mạch giao tiếp RFID RC522 NFC Sử dụng PIC16F877A (Trang 44)

Tải bản đầy đủ (DOCX)

(54 trang)
w