Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 70 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
70
Dung lượng
3,02 MB
Nội dung
ĐẠI HỌC CƠNG NGHIỆP TP.HCM KHOA CƠNG NGHỆ ĐIỆN KHĨA LUẬN TỐT NGHIỆP NGHIÊN CỨU VÀ MÔ PHỎNG BỘ MỞ KHÓA CỬA BẰNG CẢM BIẾN NHẬN DẠNG VÂN TAY SINH VIÊN : TRẦN TRƯỜNG KHUYÊN MSSV : 15021171 SINH VIÊN : ĐỖ HỮU MINH LÂM MSSV : 15015311 LỚP : DHDI11A GVHD : PHAN LÂM VŨ TP HCM, NĂM 2019 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP HCM KHOA CÔNG NGHỆ ĐIỆN PHIẾU GIAO NHIỆM VỤ KHÓA LUẬN TỐT NGHIỆP Họ tên sinh viên/ nhóm sinh viên giao đề tài (1): Trần Trường Khuyên, MSSV: 15021171 (2): Đỗ Hữu Minh Lâm, MSSV: 15015311 Tên đề tài NGHIÊN CỨU VÀ MƠ PHỎNG BỘ MỞ KHĨA CỬA BẰNG CẢM BIẾN NHẬN DẠNG VÂN TAY Nhiệm vụ (Nội dung số liệu ban đầu) Tìm hiểu loại khóa cửa sử dụng vân tay có thị trường Tìm hiểu loại cảm biến vân tay, mạch vi điều khiển Tìm hiểu cách thức khóa mở cửa Tìm hiểu chế an tồn có cố xảy Thiết kế bợ mở khóa cửa bằng cảm biến nhận diện vân tay Kết dự kiến Mơ hình hồn thiện phù hợp với kích thước thực tế, dự kiến giá phù hợp Giảng viên hướng dẫn Tp HCM, ngày tháng Sinh viên Trưởng môn i năm 20… NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN - ii MỤC LỤC PHIẾU GIAO NHIỆM VỤ KHÓA LUẬN TỐT NGHIỆP i NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN ii MỤC LỤC iii DANH SÁCH CÁC HÌNH VẼ v DANH SÁCH CÁC BẢNG vii CHƯƠNG : THỰC TRẠNG CHƯƠNG : TÍNH CẤP THIẾT CỦA ĐỀ TÀI CHƯƠNG : NỘI DUNG ĐỀ TÀI 3.1 Giải pháp : 3.2 Các vật tư thiết bị sử dụng 3.2.1 Bợ khóa 3.2.2 Cảm biến vân tay R308 3.2.3 Khóa chốt điện ( Solenoid lock LY-03) 15 3.2.4 Arduino UNO R3 18 3.2.5 Cảm biến hồng ngoại (IR SENSOR) 24 3.2.6 Cảm biến từ (Magnetic Door Switch Sensor) 29 3.2.7 Mạch biến đổi 5V sang 12V 31 3.2.8 Pin dự phòng: 32 CHƯƠNG : TÍNH TOÁN,LỰA CHỌN, THIẾT KẾ 34 4.1 Arduino UNO R3 34 4.2 Cảm biến vân tay R308 35 4.3 Khóa chốt điện ( Solenoid lock LY-03) 35 iii 4.4 Cảm biến tiệm cận 36 4.4.1 Các linh kiện cảm biến tiệm cận 36 4.4.2 Sơ đồ nguyên lý, giải thích thiết kế 41 4.5 Pin dự phòng : 43 4.6 Mạch tổng thể 44 4.6.1 Mạch in thử nghiệm 45 4.6.2 Sơ đồ nguyên lí 46 4.6.3 Sơ đồ mạch in 47 4.6.4 Hoàn thiện mạch 48 4.6.5 Chương trình (Code) 49 4.6.6 Bảng báo giá vật tư 58 CHƯƠNG : KẾT QUẢ ĐẠT ĐƯỢC 59 5.1 Ưu điểm 59 5.2 Nhược điểm: 60 TÀI LIỆU THAM KHẢO 61 LỜI CẢM ƠN 62 iv DANH SÁCH CÁC HÌNH VẼ Hình 3.1: Cảm biến vân tay Hình 3.2: Sơ đồ giải thuật thiết kế Hình 3.3: Ở khóa Hình 3.4: Cảm biến vân tay Hình 3.5: Thơng số kích thước cảm biến vân tay Đơn vị mm Hình 3.6: Sơ đồ khối logic hệ thống sinh trắc học 12 Hình 3.7: Ngun lý hoạt đợng cảm biến vân tay 13 Hình 3.8: Dấu vân tay 14 Hình 3.9: Nguyên lý nhị phân hóa liệu 14 Hình 3.10: Khóa từ LY-03 15 Hình 3.11: Nguyên lý hoạt đợng khóa từ 15 Hình 3.12: Khóa chốt điện từ hảng Vigatech- VI-280LS 16 Hình 3.13: Khóa chốt điện từ Soyal AR-EBL-AD Đài Loan 17 Hình 3.14: Khóa chốt từ KC002 17 Hình 3.15: Arduino Uno R3 18 Hình 3.16: Sơ đồ chân chip ATmega328P 19 Hình 3.17: Phần mềm Arduino IDE(Intergrated Development Environment) 23 Hình 3.18: Cảm biến tiệm cận 24 Hình 3.19: Tác đợng giác tiếp có bề mặt phản xạ 25 Hình 3.20: Tác đợng gián tiếp bề mặt khơng phản xạ 26 Hình 3.21: Cảm biến tiệm cận điện thoại di động 27 Hình 3.22: Mơ hình Robot dị line sử dụng cảm biến hồng ngoại 28 Hình 3.23: Các bợ báo động, chống trộm 29 Hình 3.24: Cảm biến từ 29 Hình 3.25: Ngun lý hoạt đợng cảm biến từ 30 Hình 3.26: Mạch biến đổi 5V sang 12V 31 Hình 3.27: Sơ đồ nguyên lý mạch biến đổi 5V sang 12V 32 v Hình 3.28: Pin dự phòng Xmobile Y222 33 Hình 4.1: Board Arduino Uno R3 34 Hình 4.2: Cảm biến vân tay R308 35 Hình 4.3: Solenoid 35 Hình 4.4: Cảm biến tiệm cận 36 Hình 4.5: Led phát hồng ngoại 37 Hình 4.6: Sơ đồ chân ký hiệu led phát hồng ngoại 37 Hình 4.7: Photodiode (led thu hồng ngoại) 38 Hình 4.8: IC LM358N 39 Hình 4.9: Sơ đồ chân IC LM358N 39 Hình 4.10: Biến trờ 40 Hình 4.11: Sơ đồ nguyên lý cảm biến tiệm cận 41 Hình 4.12: Nguyên mẫu cảm biến tiệm cận 42 Hình 4.13: Sơ đồ mạch in cảm biến tiệm cận 42 Hình 4.14: Cảm biến tiệm cận thiết kế 43 Hình 4.15: Sơ đồ chân Atmega328 45 Hình 4.16: Sơ đồ ngun lý tổng thể mơ hình 46 Hình 4.17: Sơ đồ mạch in tổng thể 47 Hình 4.18: Mạch tổng thể sau hoàn thiện 48 vi DANH SÁCH CÁC BẢNG Bảng 3.1 Thông số cảm biến vân tay R308 Bảng 3.2 các công giao tiếp Bảng 4.1: Bảng giá vật tư 58 vii Đồ án tốt nghiệp SV: Trần Trường Khuyên Đỗ Hữu Minh Lâm CHƯƠNG : THỰC TRẠNG Trong thời đại hiện đa số người dân Việt Nam sử dụng các loại ổ khóa truyền thống để khóa cửa hoặc khóa cổng (loại ổ khóa chìa) Tại thời điểm hiện đợ an tồn các loại ổ khóa truyền thống khơng còn đảm bảo Với khả tinh vi, bọn trợm thời phá khóa cửa thời gian ngắn Mặt hạn chế lớn nhất loại khóa khơng có bất kỳ mợt hình thức báo đợng nào, kẻ gian sau bẻ khóa đợt nhập thực hiện hành vi trợm cắp mà chủ nhà không hay biết Hoặc vơ tình làm mất, để qn chìa khóa làm cho chủ nhà khơng thể mở cửa vào nhà mà phải chờ người nhà mở, phải nhờ thợ sửa khóa tới mở rất tốn thời gian tiền bạc Với cổng khu nhà trọ, có người vào ở, ta phải cấp cho họ mợt chìa khóa để vào, họ trả phịng ta phải thu lại chìa khóa ấy Việc phát lấy lại chìa còn nhiều bất cập: người trọ cho người khác mượn chìa khóa, người trọ tự ý làm chìa khác để phòng hờ làm mất, trả phòng người trọ khơng trả lại chìa khóa,… Những điều làm cho chủ trọ khó quản lý số lượng chìa khóa, tệ dẫn đến tình hình trợm cắp khơng quản lý số lượng chìa khóa Trong các cơng ty, văn phòng thường có mợt số phòng có tính bảo mật cao (phòng chứa tài liệu công ty, phòng đặt máy chủ công ty IT, phòng giám đốc,…) khả bị người xấu vào trộm tài sản hoặc đánh cắp liệu các phòng khá cao vẫn sử dụng ổ khóa truyền thống Tuy các khu vực lắp camera camera chỉ mang vai trò xem lại tình để truy tìm thủ phạm, còn vụ việc xảy (dữ liệu bị đánh cắp tuồn cho công ty đối thủ, máy chủ bị nhiễm vi rút máy tính làm ảnh hướng đến hoạt đợng cơng ty,…) khó sữa chữa mọi thứ ban đầu Vì các lý mọi người dần chuyển sang sử dụng các loại khóa thơng để tăng đợ an tồn tiện dụng Đối với loại khóa thơng minh sử dụng vân tay mà nhóm nghiên cứu đáp ứng đợ bảo mật tiện dụng các trường hợp Với hộ gia Đồ án tốt nghiệp SV: Trần Trường Khuyên Đỗ Hữu Minh Lâm đình khu nhà trọ sử dụng khóa vân tay hạn chế tình trạng qn mang hoặc làm mất chìa khóa, tăng cường đợ bảo mật cho gia đình, khơng cần phải mất cơng ngồi cắt chìa có người vào Với các cơng ty sử dụng khóa vân tay sẽ tăng cường đợ bảo mật rất khó để phá khóa vân tay Nhưng với các loại ổ khóa vân tay có thị trường hiện giá thành rất cao, với giá tầm triệu chỉ có chức mở khóa bằng vân tay khơng có nhiều chức báo đợng có người cố phá khóa, cảnh báo cửa chưa đóng lại, để có đầy đủ chức giá thành sản phẩm rất cao (khoảng triệu – sản phẩm hảng Yale Hàn Quốc) [1] nên vẫn còn rất nhiểu chủ khu trọ còn e ngại chưa muốn lắp đặt ổ khóa vân tay cho khu trọ họ Do vậy nhóm nghiên cứu thiết kế loại khóa vân tay có đủ chức (đăng ký/xóa vân tay,báo đợng chưa đóng cửa, báo nhập sai vân tay) với mặt ngồi chỉ có cảm biến vân tay, mặt ổ khóa (ổ khóa phía sử dụng cho trường hợp khẩn cấp ổ khóa vân tay bị hư bất ngờ dùng chìa để mở khóa từ bên trong) dãy nút nhấn (1 nút dùng để mở cửa từ bên ngoài, nút dùng để đăng ký/xóa vân tay) với giá thành rẻ Đồ án tốt nghiệp SV: Trần Trường Khuyên Đỗ Hữu Minh Lâm 4.6.4 Hồn thiện mạch Hình 4.18: Mạch tổng thể sau hoàn thiện Sau hàn các linh kiện vào mạch hồn tất mạch chính, mạch sẽ gắn vào mơ hình kết nối với thiết vị ngoại vi khác, sau nạp chương trình vào cho chip Atmega328 để tạo mơ hình hồn chỉnh 48 Đồ án tốt nghiệp SV: Trần Trường Khuyên Đỗ Hữu Minh Lâm 4.6.5 Chương trình (Code) #include #include #include SoftwareSerial mySerial(3, 4); Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial); int fingerprintID = 0; const int cambientu = 2; const int coi = 5; const int Nut1 = 6; const int Nut2 = 7; const int Nut3 = 8; const int nutmocua = 10; const int cambientiemcan = 11; const int leddo = 12; const int solenoid = 13; volatile bool ngat = 0; unsigned long mocuaMillis; unsigned long solenoidMillis; unsigned long cambienMillis; unsigned long hientaiMillis; unsigned long hientaiMillis2; int int int int int int int int tc = 0; id = -1; p = -2; fs = -2; i = -1; pd = -2; p1 = -2; ps = -2; void setup() { Serial.begin(9600); pinMode(cambientiemcan, INPUT); pinMode(solenoid, OUTPUT); pinMode(leddo, OUTPUT); pinMode(nutmocua, INPUT) ; pinMode(cambientu, INPUT_PULLUP); pinMode(coi, OUTPUT); attachInterrupt(0, tatcoi, FALLING); pinMode(Nut1, INPUT); pinMode(Nut2, INPUT); pinMode(Nut3, INPUT); } void loop() { int Nut1Status = digitalRead(Nut1); int trangthaiCambien = digitalRead(cambientiemcan); int trangthaiNutmocua = digitalRead(nutmocua); if (trangthaiCambien == HIGH) { ngat = 0; startFingerprintSensor(); delay(50); 49 Đồ án tốt nghiệp cambienMillis quet(); delay(50); mocua(); SV: Trần Trường Khuyên Đỗ Hữu Minh Lâm = millis(); } if (trangthaiNutmocua == HIGH) { ngat = 0; digitalWrite(coi, HIGH); delay(50); digitalWrite(coi, LOW); digitalWrite(solenoid, HIGH); solenoidMillis = millis(); mocua(); } if (Nut1Status == HIGH) { Nhapxoa(); } } void quet() { while (1) { hientaiMillis = millis(); fingerprintID = getFingerprintID(); delay(50); if (fingerprintID >= && fingerprintID = 10000UL) { delay(50); uint8_t p = finger.fingerFastSearch(); p = 0; Reset(); } } } void startFingerprintSensor() { finger.begin(9600); if (finger.verifyPassword()) { Serial.println("Tìm thấy cảm biến vân tay !"); } else { 50 Đồ án tốt nghiệp SV: Trần Trường Khuyên Đỗ Hữu Minh Lâm Serial.println("Khơng tìm thấy cảm biến vân tay"); Reset(); } Serial.println("Chờ vân tay "); } int getFingerprintID() { uint8_t p = finger.getImage(); if (p != FINGERPRINT_OK) return -2; p = finger.image2Tz(); if (p != FINGERPRINT_OK) return -2; p = finger.fingerFastSearch(); if (p != FINGERPRINT_OK) return -1; return finger.fingerID; } void mocua() { while (1) { if (ngat == 1) { break; } hientaiMillis2 = millis(); if ( digitalRead(cambientu) == LOW) { mocuaMillis = hientaiMillis2; if ((hientaiMillis2 - solenoidMillis ) >= 5000UL) { digitalWrite(solenoid, LOW); Reset(); } } if ( digitalRead(cambientu) == HIGH) { digitalWrite(solenoid, LOW); if ((hientaiMillis2 - mocuaMillis) >= 10000UL) { digitalWrite(coi, HIGH); Serial.println("Chưa đóng cửa"); } } } } void tatcoi() { digitalWrite(coi, HIGH); delay(10000); digitalWrite(coi, LOW); digitalWrite(solenoid, LOW); ngat = 1; } void Reset() { asm volatile ( "jmp 0"); } 51 Đồ án tốt nghiệp SV: Trần Trường Khuyên Đỗ Hữu Minh Lâm void Nhapxoa() { startFingerprintSensor(); delay(50); int Nut2Status = digitalRead(Nut2); int Nut3Status = digitalRead(Nut3); Serial.println("Bắt đầu system checking"); while (1) { fingerprintID = getFingerprintID(); delay(50); if (fingerprintID >= && fingerprintID