Đồ Án Vi Điều Khiển Mạch giao tiếp RFID RC522 NFC Sử dụng PIC16F877A Ứng dụng làm khóa số điện tử Người Thực Hiện Bộ Môn Tự Động Hóa Khoa Điện Điện Tử Trường Cao Đẳng Kỹ Thuật Cao Thắng Tháng 11 năm 2020 Mạch giao tiếp RFID RC522 NFC Sử dụng PIC16F877A Ứng dụng làm khóa số điện tử Người thực hiện Nhận xét của Giảng viên hướng dẫn Ký tên Nhận xét của Giảng viên phản biện Ký tên Mạch giao tiếp RFID RC522 NFC Sử dụng PIC16F877A Ứng dụng làm khóa số điện tử Người thực hiện Hội Đồng Chấm Bảo Vệ (Trưở.
Đồ Án Vi Điều Khiển Mạch giao tiếp RFID RC522 NFC Sử dụng PIC16F877A Ứng dụng làm khóa số điện tử Người Thực Hiện Bộ Mơn Tự Động Hóa Khoa Điện-Điện Tử Trường Cao Đẳng Kỹ Thuật Cao Thắng Tháng 11 năm 2020 Mạch giao tiếp RFID RC522 NFC Sử dụng PIC16F877A Ứng dụng làm khóa số điện tử Người thực Nhận xét Giảng viên hướng dẫn - Ký tên Nhận xét Giảng viên phản biện - Ký tên Mạch giao tiếp RFID RC522 NFC Sử dụng PIC16F877A Ứng dụng làm khóa số điện tử Người thực Hội Đồng Chấm Bảo Vệ: (Trưởng Ban ) (Thành Viên) (Thành Viên) (Thành Viên) (Thành Viên) (Thành Viên) (ThànhViên) Tháng 11 năm 2020 Lời Cảm Ơn Đồ án vi điều khiển nhiệm vụ thử thách cuối yếu tố quan trọng em năm học tập nghiên cứu trường Đồ án khơng thể hồn thành khơng có giúp đỡ quý thầy cô khoa điện-điện tử , trước hết chúng em gửi tới quý thầy cô khoa, đặt biệt với mơn tự động hóa lời chúc sức khỏe lời cảm ơn sâu sắc Với quan tâm, bảo tận tình cho đáo q thầy cơ, đến chúng em hoàn thành đồ án đề tài: “ Mạch giao tiếp RFID RC522 NFC sử dụng PIC16F877A, ứng dụng làm khóa số điện tử” Đặc biệt chúng em xin gửi lời cảm ơn chân thành quan tâm giúp đỡ, hướng dẫn chúng em hoàn thành tốt đồ án học phần thời gian vừa qua Chúng em xin bày tỏ lòng biết ơn lãnh đạo trường Cao Đẳng Kỹ Thuật Cao Thắng, phòng khoa ban chức trực tiếp gián tiếp giúp đỡ chúng em trình học tập nghiên cứu đề tài Với điều kiện thời gian hạn chế, đồ án khơng thể tránh thiếu sót Chúng em mong nhận bảo, đóng góp ý kiến q thầy để chúng em có điều kiện bổ sung, nâng cao ý thức kiến thức để phục vụ tốt thực tế MỤC LỤC Chương Giới thiệu 1.1 Tổng quan đề tài 1.1.1 Sơ lược công nghệ RFID 1.1.2 Giới thiệu sơ lược hoạt động mạch 1.1.3 Mục đích nghiên cứu .3 1.2 Mục tiêu đề tài .3 1.3 Cấu trúc đồ án 1.4 Kế hoạch thực Chương Lý thuyết 2.1 Giới thiệu linh kiện mạch .5 2.1.1 Tổng quan PIC 2.1.2 PIC16F877A 2.1.3 Module RC522 12 2.1.4 LCD .15 2.1.5 IC LM7805 18 2.1.6 IC AMS1117 19 2.1.7 Relay 20 2.1.8 Loa báo 20 2.1.9 Khóa Chốt Điện Từ LY-03 12VDC .20 2.1.10 Giao thức SPI .22 2.2 Giới thiệu phần mềm CCS 24 Chương Sơ đồ khối Thiết kế mạch 26 3.1 Sơ đồ khối .26 3.1.1 Nguyên lý hoạt động mạch 26 3.2 Sơ đồ nguyên lý 27 3.2.1 Khối nguồn 27 3.2.2 Khối RFID 28 3.2.3 Khối Xử lý 29 3.2.4 Khối hiển thị 30 3.2.5 Khối Relay 30 3.2.6 Khối loa .31 3.2.7 Mạch giảm áp cho RFID 31 Chương Chương trình điều khiển 33 4.1 Lưu đồ thuật giải 33 4.1.1 Lưu đồ thuật giải đọc mã thẻ .33 4.1.2 Sơ đồ thuật giải hệ thống mở cửa 34 4.2 Lưu đồ giải thuật chương trình 37 4.2.1 Lưu đồ giải thuật loa báo .37 4.2.2 Lưu đồ giải thuật quét thẻ 38 Chương Kết đạt hướng phát triển 39 5.1 Kết đạt 39 5.1.2 Ứng dụng .39 5.1.3 Một số hạn chế .40 5.2 Hướng phát triển 40 TÀI LIỆU THAM KHẢO 41 Danh Sách Các Hình HÌNH 2.1 PIC16F877A _6 HÌNH 2.2 SƠ ĐỒ CHÂN PIC 16F877A _7 HÌNH 2.3 MODULE RC522 _13 HÌNH 2.4 SƠ ĐỒ CHÂN MODULE RC522 _14 HÌNH 2.5 MÀN HÌNH LCD 1602 _15 HÌNH 2.6 SƠ ĐỒ CHÂN LCD 16 HÌNH 2.7 IC LM7805 _18 HÌNH 2.8 IC AMS1117 19 HÌNH 2.9 RELAY 12V 20 HÌNH 2.10 LOA BÁO 20 HÌNH 2.11 KHĨA SỐ ĐIỆN TỪ 21 HÌNH 2.12 XUẤT XUNG ĐỒNG HỒ 23 HÌNH 2.13 KÍCH ĐIỆN ÁP MỨC THẤP _23 HÌNH 2.14 MASTER GỬI DỮ LIỆU ĐẾN SLAVE _24 HÌNH 2.15 SLAVE GỬI DỮ LIỆU PHẢN HỒI VỀ MASTER _24 HÌNH 3.1 SƠ ĐỒ KHỐI CỦA MẠCH 26 HÌNH 3.2 SƠ ĐỒ TỔNG QT MẠCH ĐĨNG MỞ CỬA BẰNG RFID _27 HÌNH 3.4 KHỐI RFID 28 HÌNH 3.5 GIAO TIẾP SPI _28 HÌNH 3.6 KHỐI XỬ LÝ _29 HÌNH 3.7 KHỐI HIỂN THỊ 30 HÌNH 3.8 KHỐI RELAY 31 HÌNH 3.9 KHỐI LOA _31 HÌNH 3.10 MẠCH GIẢM ÁP 3.3V 32 HÌNH 4.1 LƯU ĐỒ GIẢI THUẬT ĐỌC MÃ THẺ 34 HÌNH 4.2 MÃ UID _34 HÌNH 4.4 LƯU ĐỒ THUẬT GIẢI CÒI BÁO 37 HÌNH 4.5 HÌNH LƯU ĐỒ GIẢI THUẬT QUÉT THẺ _38 HÌNH 5.1 MẠCH ĐÓNG MỞ CỬA DÙNG RFID RC522 39 Danh Sách Các Bả BẢNG 2.1 CHỨC NĂNG CÁC CHÂN BẢNG 2.2 CHỨC NĂNG TỪNG CHÂN 16 Y Các Từ Viết Tắt - - - RFID (Radio Frequency Identification) : Nhận dạng qua tần số vô tuyến, cơng nghệ dùng kết nối sóng vơ tuyến để tự động xác định theo dõi thẻ nhận dạng gắn vào vật thể SPI (Serial Peripheral Interface ) : đồng giao tiếp nối tiếp giao diện đặc điểm kỹ thuật sử dụng để giao tiếp ngắn khoảng cách, chủ yếu hệ thống nhúng AC (Alternating Current): Là dịng điện có chiều giá trị biến đổi theo thời gian DC (Direct Current): hiểu cách đơn giản dòng điện chảy theo hướng cố định, không thay đổi Khối tín hiệu xuất từ vi điều khiển đưa vào chân B Q2, Q2 dẫn, chân Relay nối GND, có từ trường xuất cuộn dây hút chân tiếp xúc với chân 3, relay đóng, led sáng, D1 dùng để chống dịng ngược 3.2.6 Khối loa Hình 3.9 Khối loa Khối loa báo có chức phát âm báo hiệu mở cửa, cửa đóng hay cảnh báo thẻ khơng hợp lệ Khi có tín hiệu xuất từ vi điều khiển vào chân B Q1, Q1 dẫn, chân loa nối GND, loa phát tiếng kêu 3.2.7 Mạch giảm áp cho RFID Hình 3.10 Mạch giảm áp 3.3V Đối với Module RFID cần nguồn nuôi 3.3V nên cần mạch giảm áp dùng IC AMS1117 từ nguồn 12V xuống 3.3V Chương Chương trình điều khiển 4.1 Lưu đồ thuật giải 4.1.1 Lưu đồ thuật giải đọc mã thẻ Hình 4.1 Lưu đồ giải thuật đọc mã thẻ Hình 4.2 Mã UID Mã thẻ RFID đọc đưa vào chương trình hệ thống đóng mở Như vậy,chỉ có thẻ RFID có mã UID cho phép đóng mở cửa Những thẻ chưa lưu hay thẻ khác bị từ chối 4.1.2 Sơ đồ thuật giải hệ thống mở cửa Nguyên lý hoạt động hệ thống: Giả sử ban đầu cửa đóng, đưa thẻ RFID vào module RC522, module RC522 nhận diện đọc mã thẻ sau gửi liệu mã thẻ khối xử lý trung tâm PIC 16F877A giao thức truyền SPI, mã thẻ đọc với mã thẻ lập trình LCD hiển thị thông báo cửa mở, đồng thời chân RC1 xuất mức cao đưa vào khối relay để mở cửa liệu chân RC0 đưa vào khối loa để phát tiếng kêu báo hiệu cửa mở Tương tự cho trường hợp đóng cửa, ta tiếp tục đưa thẻ RFID có mã thẻ vào module RC522, lúc LCD hiển thị thơng báo cửa đóng, đồng thời chân RC1 mức thấp đưa vào khối relay để đóng cửa, liệu chân RC0 đưa vào khối loa để phát tiếng kêu báo hiệu cửa đóng Trường hợp người dùng quét thẻ RFID sai (thẻ có mã UID khơng lập trình chương trình hệ thống mở cửa) LCD hiển thị dịng chữ cảnh báo thẻ không hợp lệ Chân RC1 không xuất mức cao, khối relay khơng kích hoạt, cửa khơng mở Nếu đưa thẻ sai vào chân RC0 đưa liệu vào khối loa, loa báo phát âm dài để cảnh báo thẻ sai Hình 4.3 Lưu đồ hệ thống mở cửa 4.2 Lưu đồ giải thuật chương trình 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 loa báo mở cửa đóng cửa vi xử lý đưa liệu đến chân RC1 lên mức cao làm loa phát âm 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 so sánh mã UID chương trình với thẻ chứa mã UID đưa vào thẻ chuyển đến chương trình để hiển thị LCD thẻ sai ngắt khơng cần kiểm tra thẻ Chương Kết đạt hướng phát triển 5.1 Kết đạt Hình 5.1 Mạch đóng mở cửa dùng RFID RC522 Qua trình nghiên cứu làm đồ án,em đạt kết quả: Mạch hoạt động tương đối tốt, với chương trình lập trình Khi người dùng muốn mở đóng cửa cần quét thẻ Hiểu nguyên lý hoạt động mạch đóng mở cửa RFID 5.1.2 Ứng dụng Hiện hệ thống đóng mở cửa công nghệ RFID sử dụng rộng rãi phổ biến 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 vài chổ chưa tối ưu, thiếu khách quan Chưa lập trình cho nhiều thẻ RFID Mạch có độ bền khơng cao 5.2 Hướng phát triển Thiết kế 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 phải qt thẻ để đóng cửa Nâng cấp ngồi mở cửa RFID, thêm số tính mở cửa 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 #USE DELAY(CLOCK=20M) #FUSES PUT,HS,NOWDT,NOPROTECT,NOLVP #define LCD_ENABLE_PIN #define LCD_RS_PIN #define LCD_RW_PIN PIN_D5 PIN_D7 PIN_D6 #define LCD_DATA4 PIN_D4 #define LCD_DATA5 PIN_C7 #define LCD_DATA6 PIN_C6 #define LCD_DATA7 PIN_C5 #include #define MFRC522_CS #define MFRC522_SCK #define MFRC522_SI PIN_D3 PIN_D2 PIN_C2 #define MFRC522_SO PIN_D0 #define MFRC522_RST PIN_C3 #include char The_2[5]={ 0X04, 0X1a, 0X14, 0X2b, 0X21 }; char The_3[5]={0Xb9, 0X1e, 0Xfb, 0Xb9, 0Xe5}; void _Init_lcd(void); int1 THE_1=0, KT = 0, i; 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