Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 105 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
105
Dung lượng
7,46 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - VIỄN THƠNG THIẾT KẾ VÀ THI CƠNG MƠ HÌNH TỦ KHĨA NGÂN HÀNG GVHD: NGUYỄN ĐÌNH PHÚ SVTH: NGUYỄN HẢI ÂU TRẦN DIỆP NGỌC YẾN SKL009263 Tp Hồ Chí Minh, tháng 08/2022 i BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - TRUYỀN THÔNG Đề tài: THIẾT KẾ VÀ THI CÔNG MÔ HÌNH TỦ KHĨA NGÂN HÀNG GVHD: Th.S NGUYỄN ĐÌNH PHÚ SVTH : NGUYỄN HẢI ÂU MSSV : 17141046 SVTH : TRẦN DIỆP NGỌC YẾN MSSV : 17141166 Tp.Hồ Chí Minh – 08/2022 i BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ KỸ THUẬT ĐIỆN TỬ - TRUYỀN THÔNG Đề tài: THIẾT KẾ VÀ THI CÔNG MÔ HÌNH TỦ KHĨA NGÂN HÀNG GVHD: Th.S NGUYỄN ĐÌNH PHÚ SVTH : NGUYỄN HẢI ÂU MSSV : 17141046 SVTH : TRẦN DIỆP NGỌC YẾN MSSV : 17141166 Tp.Hồ Chí Minh – 08/2022 i CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc *** -TP Hồ Chí Minh, ngày 08 tháng 03 năm 2022 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: - - - - - Nguyễn Hải Âu MSSV: 17141046 Lớp: 17141CLDT Trần Diệp Ngọc Yến MSSV: 17141166 Lớp: 17141CLDT Chuyên ngành: Kỹ thuật Điện tử - Truyền thơng Mã ngành: 41 Hệ đào tạo: Đại học quy Mã hệ: Khóa: 2017 I TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CƠNG MƠ HÌNH TỦ KHĨA NGÂN HÀNG II NHIỆM VỤ Các số liệu ban đầu: Nguyễn Đình Phú, “Giáo trình Vi điều khiển”, Trường ĐH Sư Phạm Kỹ Thuật Tp Hồ Chí Minh Trần Thu Hà – Trương Thị Bích Ngà – Nguyễn Thị Lưỡng – Bùi Thi Tuyết Đan – Phù Thị Ngọc Hiếu – Dương Thi Cẩm Tú, “Giáo trình Điện tử bản”, Nhà xuất ĐH Quốc gia Tp Hồ Chí Minh Nhóm sinh viên Nguyễn Văn Phúc, Diệp Minh Thiện, “Giám sát cảnh báo sinh viên thông qua hệ thống quét vân tay qua mạng Internet”, Đồ án tốt nghiệp Ngành Công nghệ Kỹ thuật Điện tử Truyền thông, Trường ĐH Sư phạm Kỹ thuật TP.HCM, 01/2018 Nhóm sinh viên Nguyễn Minh Tuấn, Nguyễn Thị Nguyệt Kầm, “Thiết kế thi cơng mơ hình điều khiển hệ thống điện có bảo mật vân tay RFID”, Đồ án tốt nghiệp Ngành Công nghệ Kỹ thuật Điện tử Truyền thơng, Trường ĐH Sư phạm Kỹ thuật TP.HCM, 10/2021 Nhóm nghiên cứu khoa kỹ thuật điện, “Tủ khóa ngân hàng dựa dấu vân tay với tính chụp ảnh”, đề tài nghiên cứu Học viện Công nghệ Swami Keshvanand, 03/2018 Nội dung thực hiện: Đọc tài liệu tham khảo, tóm tắt hướng đề tài i i CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc *** -TP Hồ Chí Minh, ngày tháng năm 2022 PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN Họ tên Sinh viên: Nguyễn Hải Âu MSSV: 17141046 Trần Diệp Ngọc Yến MSSV: 17141166 Ngành: Công nghệ kỹ thuật điện tử – truyền thông Tên đề tài: Thiết kế thi cơng mơ hình tủ khóa ngân hàng Họ tên Giáo viên hướng dẫn: ThS Nguyễn Đình Phú NHẬN XÉT Về nội dung đề tài & khối lượng thực hiện: Ưu điểm: Khuyết điểm: Đề nghị cho bảo vệ hay không? Đánh giá loại: Điểm: (Bằng chữ: ) GIẢNG VIÊN HƯỚNG DẪN i CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc *** -TP Hồ Chí Minh, ngày tháng năm 2022 PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN Họ tên Sinh viên: Nguyễn Hải Âu MSSV: 17141046 Trần Diệp Ngọc Yến MSSV: 17141166 Ngành: Công nghệ kỹ thuật điện tử – truyền thông Tên đề tài: : Thiết kế thi cơng mơ hình tủ khóa ngân hàng Họ tên Giáo viên phản biện: NHẬN XÉT Về nội dung đề tài & khối lượng thực hiện: Ưu điểm: Khuyết điểm: Đề nghị cho bảo vệ hay không? Đánh giá loại: Điểm: (Bằng chữ: ) GIẢNG VIÊN PHẢN BIỆN i LỜI CAM ĐOAN Nhóm thực Đồ án Tốt nghiệp dựa vào số tài liệu tham khảo có trước, nhóm cam đoan không chép nội dung kết cơng trình nghiên cứu khác, nội dung tham khảo trích dẫn đầy đủ phần Tài liệu tham khảo Nhóm thực Nguyễn Hải Âu Trần Diệp Ngọc Yến i i LỜI CẢM ƠN Lời đầu tiên, nhóm chúng em xin gửi lời cảm ơn Quý Thầy Cô Trường Đại Học Sư Phạm Kỹ Thuật đặc biệt Quý Thầy Cô khoa Đào Tạo Chất Lượng Cao Khoa Điện - Điện Tử bảo truyền đạt kiến thức cho chúng em suốt q trình học tập, rèn luyện trường Nhóm xin gửi lời cám ơn sâu sắc tới giáo viên hướng dẫn ThS Nguyễn Đình Phú suốt thời gian qua tận tình góp ý, tạo điều kiện tốt để chúng em hồn thành đề tài cách hoàn chỉnh Nhận hướng dẫn thầy, nhóm em học hỏi thêm nhiều kinh nghiệm quý báu từ kiến thức chuyên môn tới kỹ cần thiết để phục vụ cho trình phát triển thân tương lai Đồng thời, nhóm em xin chân thành cảm ơn nguồn động viên từ gia đình, người thân, bạn bè ln quan tâm, giúp đỡ chúng em gặp khó khăn nguồn động lực tinh thần to lớn để chúng em thực hồn thành Đồ án Tốt nghiệp Một lần chúng em xin chân thành gửi lời cảm ơn! Nhóm thực Nguyễn Hải Âu Trần Diệp Ngọc Yến ii i TÓM TẮT Ngày nay, bảo mật sinh trắc học phương pháp bảo mật đảm bảo nhận dạng người dùng với ưu điểm khó bị mất, nhân rộng bị đánh cắp Các hệ thống sinh trắc học có chế bảo mật mạnh mẽ ứng dụng nhiều lĩnh vực khác vân tay, tĩnh mạch lòng bàn tay, giọng nói, đó, dấu vân tay hình thức nhận dạng sinh trắc học lâu đời sử dụng rộng rãi Ứng dụng dấu vân tay để xác thực cá nhân, ví dụ truy cập vào điện thoại di động, máy tính, thẻ ATM, xe tơ, Việc chép công nghệ dấu vân tay sinh trắc học khơng thể, có phần trăm nhỏ hội Vì mục đích nghiên cứu giải pháp bảo đảm an toàn hệ thống bảo mật với cách xác minh mang lại rủi ro thấp nhất, nhóm thực đề tài “Thiết kế thi cơng mơ hình tủ khóa ngân hàng” kết hợp lớp bảo mật cho tủ, kèm theo tính thông báo tin nhắn điện thoại phát có đột nhập Nội dung đề tài: Sử dụng kit Arduino Mega 2560 R3 làm mạch điều khiển trung tâm Xác nhận mật mã quét thẻ từ RFID cảm biến vân tay, tích hợp điều khiển bàn phím ma trận Module SIM 800C thực nhiệm vụ gửi tin nhắn báo đột nhập iii i PHỤ LỤC Nhóm bổ sung phần code chương trình hệ thống, khơng bao gồm thư viện void loop() { // put your main code here,#include #include #include //thư viện cảm biến vân tay //các chương trình điều khiển kết hợp #include "mySim900.hpp" #include "keypad4x4.hpp" #include "rfid.hpp" #define RELAY 7// chốt cửa #define BUZZER 8// còi báo động #define mySerial // giao tiếp CBVT R305 LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x27 for a 16 chars and line display Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial); char mode_1_class = '0'; char mode_2_class = '3'; byte inx = 0; byte inx_buff = 0; int id =0 ; char id_buff []={}; byte inx_id = 0; //uint8_t getFingerprintEnroll(); boolean check_all = false ; boolean enroll = false ; boolean delete_id = false ; boolean finger_id = false ; const int buffer_size = 160;//bộ nhớ đệm cho sim char buffer[buffer_size]; // Data from sim int xbuff=0; char c=0; char c1=0; char *ptr1=0; char *ptr2=0; boolean sms_mode=false; boolean rfid_mode = true; boolean mode_class = true; 75 i ////// BO LENH ĐK = SMS //// char openDoor[]="mo khoa"; //// PASS KHOA //// String pass = "17141"; String inputPass; int tryNumber = 0; char value=' '; unsigned long updateTime; int stt=0,en=0,dem=0; void setup() { pinMode(BUZZER, OUTPUT); pinMode(RELAY, OUTPUT); digitalWrite(BUZZER, LOW); digitalWrite(RELAY, LOW); Serial.begin(9600); Serial1.begin(9600); keypadInit(); //setupRFID(); //initInOut();//buzzer lcd.init(); lcd.backlight(); lcd.clear(); lcd.setCursor(0, 0); lcd.print("DO AN TOT NGHIEP"); lcd.setCursor(0, 1); lcd.print(" ket noi sim "); initSIM900A(); fingerInit(); eraseBuffer(); updateTime = millis(); } void loop() { value = defineButtonPhone4x4(); if(value=='*'){ stt=1; value=' '; } 76 i else if(value=='#'){ stt=0; lcd.clear(); lcd.print(" Door Lock "); value=' '; } if(stt==0){ lcd.setCursor(0, 0); lcd.print(" Door Lock "); lcd.setCursor(0, 1); lcd.print(" * de tiep tuc "); }else if(stt==1){ lcd.setCursor(0, 0); lcd.print(" Door Lock "); lcd.setCursor(0, 1); lcd.print(" scan rfid "); setupRFID(); int giatri = getRfidVal(); if(giatri!=0){ digitalWrite(BUZZER, HIGH); delay(200); digitalWrite(BUZZER, LOW); } if(giatri == 202){ stt=2; lcd.setCursor(0, 1); lcd.print(" rfid true "); delay(2000); lcd.setCursor(0, 1); lcd.print(" quet van tay "); } else if(giatri!=0){ lcd.setCursor(0, 1); lcd.print(" rfid fail "); delay(2000); tryNumber++; } } else if(stt==2){ 77 i getFingerprintID(); delay(50); } else if(stt==3){ for(int i=0; i=3) cotrom(); if(stt==4) { lcd.setCursor(0,0); 78 i lcd.print("THIET BI DA KHOA "); lcd.setCursor(0,1); lcd.print(" GUI SMS DE MO "); messageExcute(); } } // -// void cotrom(){ lcd.setCursor(0,0); lcd.print(" WARNING ! "); lcd.setCursor(0,1); lcd.print(" KHOA THIET BI "); for(int idx = 0; idx < 5; idx++) { digitalWrite(BUZZER, HIGH); delay(200); digitalWrite(BUZZER, LOW); delay(200); } stt=4; sendSMS("Co Trom!!!"); delay(5000); tryNumber = 0; } void buzzerAlarm() { for(int idx = 0; idx < 5; idx++) { digitalWrite(BUZZER, HIGH); delay(200); digitalWrite(BUZZER, LOW); delay(200); } } /////// SIM800 MESSAGE EXECUTE ////// void messageExcute() { receive_uart(); // Receive data from Sim if(sms_mode) { 79 i ptr2=strstr(buffer,openDoor); // Checking to open door if (strncmp(ptr2,openDoor,strlen(openDoor))==0) { digitalWrite(RELAY, HIGH); delay(5000); digitalWrite(RELAY, LOW); sendSMS("Mo Khoa Bang SMS"); eraseBuffer(); stt=0; return; } sendSMS("Lenh Khong Ton Tai !!"); eraseBuffer(); } } void eraseBuffer() { int i; for(i=0;i= buffer_size) { xbuff=0; } else{ buffer[xbuff++]=c; } } } /////// - fingerPrint ////// void fingerInit() { Serial.println("\n\nAdafruit finger detect test"); finger.begin(57600);//tốc độ truyền nhận data giũa cảm biến vs arduino delay(5); if (finger.verifyPassword()) { Serial.println("Found fingerprint sensor!"); } else { Serial.println("Did not find fingerprint sensor :("); while (1) { delay(1); } } finger.getTemplateCount();//đếm số lượng vân tay đc lưu cảm biến Serial.print("Sensor contains "); Serial.print(finger.templateCount); Serial.println(" templates"); Serial.println("Waiting for valid finger "); } ///nhận ID vân tay để xử lí uint8_t getFingerprintID() { uint8_t p = finger.getImage(); switch (p) { case FINGERPRINT_OK: Serial.println("Image taken"); break; case FINGERPRINT_NOFINGER: Serial.println("No finger detected"); return p; 81 i case FINGERPRINT_PACKETRECIEVEERR: Serial.println("Communication error"); return p; case FINGERPRINT_IMAGEFAIL: Serial.println("Imaging error"); return p; default: Serial.println("Unknown error"); return p; } p = finger.image2Tz(); switch (p) { case FINGERPRINT_OK: Serial.println("Image converted"); break; case FINGERPRINT_IMAGEMESS: Serial.println("Image too messy"); return p; case FINGERPRINT_PACKETRECIEVEERR: Serial.println("Communication error"); return p; case FINGERPRINT_FEATUREFAIL: Serial.println("Could not find fingerprint features"); return p; case FINGERPRINT_INVALIDIMAGE: Serial.println("Could not find fingerprint features"); return p; default: Serial.println("Unknown error"); return p; } p = finger.fingerFastSearch();///tìm vân tay nhanh if (p == FINGERPRINT_OK) { Serial.println("Found a print match!"); } else if (p == FINGERPRINT_PACKETRECIEVEERR) { Serial.println("Communication error"); return p; 82 i } else if (p == FINGERPRINT_NOTFOUND) { Serial.println("Did not find a match"); lcd.setCursor(0, 1); lcd.print(" VAN TAY SAI "); tryNumber++; delay(2000);//sau giây hiển thị lại trạng thái ban đầu if(tryNumber < 3) { lcd.setCursor(0, 1); lcd.print(" quet van tay "); return p; } } else { Serial.println("Unknown error"); return p; } // found a match Serial.print("Found ID #"); Serial.print(finger.fingerID);//nhận ID vân tay từ cảm biến Serial.print(" with confidence of "); Serial.println(finger.confidence); if(tryNumber