(Đồ án hcmute) giám sát và diều khiển nhà thông minh bằng giọng nói

109 1 0
(Đồ án hcmute) giám sát và diều khiển nhà thông minh bằng giọng nói

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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Ử - TRUYỀN THÔNG GIÁM SÁT VÀ ĐIỀU KHIỂN NHÀ THÔNG MINH BẰNG GIỌNG NÓI GVHD:NGUYỄN VĂN PHÚC SVTT:NGUYỄN BÁ QUÂN MSSV:15141340 SVTT:LÊ KHÁNH TRÌNH MSSV:15141311 SKL 0 9 Tp Hồ Chí Minh, tháng 12/2019 an TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN ĐIỆN TỬ BỘ MƠN KỸ THUẬT MÁY TÍNH - VIỄN THÔNG ĐỒ ÁN TỐT NGHIỆP GIÁM SÁT V I U KHI N NH THÔNG MINH B NG GI NG N I NG NH CÔNG NGHỆ KỸ THUẬT IỆN TỬ - TRUYỀN THÔNG Sinh viên: NGUYỄN BÁ QUÂN MSSV: 15141340 LÊ KHÁNH TRÌNH MSSV: 15141311 TP HỒ CHÍ MINH – 12/2019 an TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐIỆN ĐIỆN TỬ BỘ MƠN KỸ THUẬT MÁY TÍNH - VIỄN THƠNG ĐỒ ÁN TỐT NGHIỆP GIÁM SÁT V I U KHI N NH THÔNG MINH B NG GI NG N I NG NH CÔNG NGHỆ KỸ THUẬT IỆN TỬ TRUYỀN THÔNG Sinh viên: NGUYỄN BÁ QUÂN MSSV: 15141340 LÊ KHÁNH TRÌNH MSSV: 15141311 Hướng dẫn: Th.s NGUYỄN VĂN PHÚC TP HỒ CHÍ MINH – 12/2019 an THƠNG TIN KHĨA LUẬN TỐT NGHIỆP Thông tin sinh viên Họ tên sinh viên: Nguyễn Bá Quân MSSV: 15141340 Email: 15141340@student.hcmute.edu.vn Điện thoại: 0942968113 Họ tên sinh viên: Lê Khánh Trình MSSV: 15141311 Email: 15141311@student.hcmute.edu.vn Điện thoại: Thông tin đề tài - Tên đề tài: Giám sát điều khiển nhà thơng minh giọng nói - Đơn vị quản lý: Bộ mơn Kỹ Thuật Máy Tính - Viễn Thơng, Khoa Điện Điện Tử, Trường Đại Học Sư Phạm Kỹ Thuật Tp Hồ Chí Minh - Thời gian thực hiện: Từ ngày 20 / 09 / 2019 đến ngày 20 / 12 / 2019 - Thời gian bảo vệ trước hội đồng: Ngày 06 / 01 / 2020 Lời cam đoan sinh viên Chúng – Nguyễn Bá Qn Lê Khánh Trình cam đoan KLTN cơng trình nghiên cứu thân chúng tơi hướng dẫn thạc sỹ Nguyễn Văn Phúc Kết công bố KLTN trung thực không chép từ cơng trình khác Tp.HCM, ngày … tháng … năm 20… SV thực đồ án (Ký ghi rõ họ tên) Nguyễn Bá Quân Lê Khánh Trình Giảng viên hướng dẫn xác nhận báo cáo chỉnh sửa theo đề nghị ghi biên Hội đồng đánh giá Khóa luận tốt nghiệp ……………………………………………………………………………………………… Tp.HCM, ngày … tháng … năm 20… Xác nhận Bộ Môn Giáo viên hướng dẫn (Ký, ghi rõ họ tên học hàm - học vị) an an BẢN NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP (Dùng cho giảng viên phản biện) Đề tài: Nghiên cứu thực hệ thống nhận dạng tiếng nói kit FPGA Sinh viên thực hiện: Nguyễn Bá Quân Lê Khánh Trình Giảng viên hướng dẫn: Th.s Nguyễn Văn Phúc MSSV: 15141340 MSSV: 15141311 Nhận xét bao gồm nội dung sau đây: Tính hợp lý cách đặt vấn đề giải vấn đề; ý nghĩa khoa học thực tiễn [15/100]: Đặt vấn đề rõ ràng, mục tiêu cụ thể [5]; đề tài có tính mới, cấp thiết [5]; đề tài có khả ứng dụng, tính sáng tạo [5] Phương pháp thực hiện/ phân tích/ thiết kế [25/100]: Phương pháp hợp lý tin cậy dựa sở lý thuyết [10]; có phân tích đánh giá phù hợp [10]; có tính tính sáng tạo [5] Kết thực hiện/ phân tích đánh giá kết quả/ kiểm định thiết kế [25/100]: Phù hợp với mục tiêu [10]; phân tích đánh giá / kiểm thử thiết kế hợp lý [10]; có tính sáng tạo/ kiểm định chặt chẽ đảm bảo độ tin cậy [5] Kết luận đề xuất [10/100]: Kết luận phù hợp với cách đặt vấn đề, đề xuất mang tính cải tiến thực tiễn [5]; kết luận có đóng góp mẻ, đề xuất sáng tạo thuyết phục[5] Hình thức trình bày, bố cục chất lượng báo cáo [15/100]: Văn phong quán, bố cục hợp lý, cấu trúc rõ ràng, định dạng mẫu [5]; có tính hấp dẫn, thể lực tốt, văn trau chuốt [15] Tài liệu trích dẫn [10/100] Tính trung thực việc trích dẫn tài liệu tham khảo; tính phù hợp tài liệu trích dẫn; trích dẫn theo dẫn APA Đánh giá trùng lặp đề tài Cần khẳng định đề tài có trùng lặp hay khơng? Nếu có, đề nghị ghi rõ mức độ, tên đề tài, nơi công bố, năm công bố đề tài công bố Những nhược điểm thiếu sót, điểm cần bổ sung chỉnh sửa* Câu hỏi sinh viên phải trả lời trước hội đồng* (ít 02 câu) Đánh giá chung - Điểm (Quy thang điểm 10 khơng làm trịn): …………./10 - Xếp loại chung (Xuất sắc, Giỏi, Khá, Trung bình, Yếu, Kém):…………………………………… Đề nghị giảng viên phản biện Ghi rõ: “Báo cáo đạt/ không đạt yêu cầu khóa luận tốt nghiệp kỹ sư, phép/ khơng phép bảo vệ khóa luận tốt nghiệp” Tp HCM, ngày … tháng … năm 20… Người nhận xét (Ký ghi rõ họ tên) an * Giáo viên phản biện ghi tiếp vào mặt sau C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an LỜI CẢM ƠN Sau trình tìm hiểu, nghiên cứu thực đồ án tốt nghiệp, nhóm chúng em xin chân thành gửi lời cảm ơn sâu sắc đến q thầy cơ, gia đình bạn bạn bè, người giúp đỡ, đưa lời khun, định hướng cho nhóm chúng em thực hồn thành đề tài Chúng em xin gửi lời cảm ơn đến thầy Nguyễn Văn Phúc, giảng viên trường Đại Học Sư Phạm Kỹ Thuật Tp.HCM tận tình giúp đỡ, hướng dẫn tạo điều kiện thuận lợi để nhóm thực tốt đề tài Và chúng em xin gửi lời tri ân đến thầy cô công tác khoa Điện - Điện tử trường Đại Học Sư Phạm Kỹ Thuật Tp.HCM tận tình dạy dỗ bảo cho chúng em suốt năm qua, tạo cho chúng em sở kiến thức vững vàng để thực đồ án áp dụng sống sau Gia đình ln nguồn động lực nguồn cảm hứng để chúng em nỗ lực vàà phấn đấu học tập sống, Chính vậy, chúng em xin gửi lời cảm ơn đến bố mẹ, người giúp đỡ nhiều để chúng em có ngày hơm Và cuối cùng, nhóm Chúng em gửi lời đồng cảm ơn đến bạn bè, người chia sẻ kiến thức kinh nghiệm quý báu thời gian thực đề tài Xin chân thành cảm ơn! Người thực đề tài: Nguyễn Bá Quân vi Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn an Lê Khánh Trình C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an TÓM TẮT Đề tài hướng đến việc thiết kế, thi công mơ hình hệ thống điều khiển thiết bị điện giám sát nhà sử dụng vi điều khiển arduino mega 2560, vi điều khiển thực việc điều khiển thiết bị bật/tắt điều khiển người dùng thơng qua giọng nói, ứng dụng điện thoại công tắc trực tiếp, đồng thời đọc module cảm biến để thu thập thông số môi trường xung quanh Arduino mega 2560 kết nối với NodeMCU để truy cập vào internet nhằm nhận gửi liệu tới người dùng Ngồi ra, mơ hình cịn sử dụng arduino uno r3 để đọc cảm biến vân tay, liệu từ bàn phím, hiển thị liệu lên LCD điều khiển động servo đóng/mở cửa vii Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn an C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an MỤC LỤC Trang bìa i Thông tin luận văn iii Nhận xét giảng viên hướng dẫn .iv Nhận xét giảng viên phản biện v Lời cảm ơn vi Mục lục viii Danh mục hình xi Danh mục bảng .xiv Các từ viết tắt xv CHƯƠNG TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ 1.2 MỤC TIÊU 1.3 NỘI DUNG THỰC HIỆN 1.4 GIỚI HẠN 1.5 BỐ CỤC CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 TỔNG QUAN VỀ ARDUINO 2.1.1 Giới thiệu 2.1.2 Phần cứng arduino 2.1.3 Arduino mega 2560 2.1.4 Arduino uno r3 viii Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn an C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an 2.1.5 Phần mềm lập trình arduino IDE 11 2.2 MODULE CẢM BIẾN KHÍ GAS MQ2 12 2.3 MODULE CẢM BIẾN CHUYỂN ĐỘNG PIR HC – SR501 13 2.4 MODULE WIFI ESP8266 NODEMCU 15 2.5 MODULE CẢM BIẾN NHIỆT ĐỘ - ĐỘ ẨM DHT11 16 2.6 QUANG TRỞ 17 2.7 NGUỒN XUNG 12V-5A 17 2.8 MODULE CẢM BIẾN VÂN TAY R305 18 2.8.1 Nguyên lý hoạt động 19 2.8.2 Các đặc tính module 19 2.8.3 Tài nguyên module 21 2.9 BÀN PHÍM MA TRẬN 4X4 25 2.10 MÀN HÌNH LCD 1602 26 2.11 LÝ THUYẾT CHUẨN GIAO TIẾP UART 28 2.11 LÝ THUYẾT CHUẨN GIAO TIẾP ONE-WIRE 30 CHƯƠNG TÍNH TỐN VÀ THIẾT KẾ 33 3.1 GIỚI THIỆU 33 3.2 TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG 34 3.2.1 Thiết kế sơ đồ khối hệ thống 34 3.2.2 Tính tốn thiết kế mạch 36 3.2.2.1 Thiết kế khối cảm biến 36 3.2.2.2 Thiết kế khối x lí trung t m 36 3.2.2.3 Thiết kế khối relay điều khiển thiết b 37 3.2.2.4 Thiết kế khối truyền d liệu 38 ix Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn an C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an byte index_id = 0; char id_buff[] = {}; uint8_t getFingerprintEnroll(); SoftwareSerial mySerial(10, 11); SoftwareSerial mySerial1(12, 13);// RX, TX Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial); uint8_t getFingerprintEnroll(); bool check_dangky = false; bool check_delete = false; boolean out_fingerprint = false; char statu[4] = {'0', '0', '0', '0'}; void setup() { lcd.begin (); ////lcd//////// lcd.backlight (); lcd.display (); Serial.begin (57600); mySerial1.begin (57600); pinMode (buttonPin, INPUT); finger.begin (57600); //Khoi tao van tay gServo.attach (SERVO_PIN); gServo.write (0); delay (1000); } String nhandulieu() { String buffer1; WHILE (mySerial1.available () > 0) { CHAR c = mySerial1.read (); buffer1.concat (c); delay (3); } 80 Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn an C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an RETURN buffer1; } void loop() { CHAR key = mykeypad.getKey (); SWITCH (class_x) { CASE '0': { hienthi_lcd_clear (0, 0, "NHAN PHIM DE"); hienthi_lcd (1, 0, "QUET VAN TAY "); mySerial1.println (canhbao); Serial.println ("canhbaocvantay :"); Serial.println (canhbao); delay (500); WHILE (class_x == '0') { CHAR key = mykeypad.getKey (); IF (key == '1') { class_x = '1'; mySerial1.println (canhbao); Serial.println ("canhbaocvantay :"); Serial.println (canhbao); BREAK; } IF (key == 'A') { class_x = '2'; class_y = '3'; mySerial1.println (canhbao); Serial.println ("canhbaocvantay :"); Serial.println (canhbao); hienthi_lcd_clear (0, 0, "Nhap MK Admin:"); lcd.setCursor (0, 1); BREAK; } } BREAK; 81 Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn an C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an } CASE '1': { hienthi_lcd_clear (0, 0, "DANG QUET "); WHILE (!out_fingerprint) { IF (canhbao == 4) { getFingerprintEnroll1 (); canhbao = 0; mySerial1.println (canhbao); Serial.println ("canhbaocvantay :"); Serial.println (canhbao); } ELSE { getFingerprintIDez (); mySerial1.println (canhbao); Serial.println ("canhbaocvantay :"); Serial.println (canhbao); delay (50); } } out_fingerprint = false; BREAK; } CASE '2': { SWITCH (class_y) { CASE '3': { mySerial1.println (canhbao); Serial.println ("canhbaocvantay :"); Serial.println (canhbao); IF (key) { IF (key == '#') 82 Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn an C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an { matkhau[index] = '\0'; IF (String (matkhau) == password_admin) { hienthi_lcd_clear (0, 0, "Xin Chao Admin ! ") ; index = 0; delay (1000); class_y = '0'; } ELSE { hienthi_lcd_clear (0, 0, "Nhap lai mat khau:"); lcd.setCursor (0, 1); index = 0; } } else IF (key == 'D') { class_x = '0'; index = 0; } else IF (index < 4) { matkhau[index] = key; index++; lcd.print (" * "); } } BREAK; } CASE '0': { hienthi_lcd_clear (0, 0, "1.THEM"); hienthi_lcd (0, 8, "2.XOA"); hienthi_lcd (1, 0, "3.MOCUA"); hienthi_lcd (1, 8, "D.TROLAI"); delay (500); 83 Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn an C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an WHILE (class_y == '0') { CHAR key = mykeypad.getKey (); IF (key == '1') { class_y = '1'; hienthi_lcd_clear (0, 0, "Nhap ID Can Them:"); lcd.setCursor (0, 1); } IF (key == '2') { class_y = '2'; hienthi_lcd_clear (0, 0, "Nhap ID Can Xoa:"); lcd.setCursor (0, 1); } IF (key == 'D'){class_y = 'D'; } IF (key == '3'){class_y = '4'; } } BREAK; } CASE '1': { id = 0; CHAR id_buff[] = {}; index_id = 0; WHILE (!check_dangky) { CHAR key = mykeypad.getKey (); IF (key) { IF (key == '#') { String str_id = String (id_buff); id = str_id.toInt (); 84 Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn an C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an check_dangky = 1; } else IF (key == 'D') { class_y = '0'; id = 0; check_dangky = 1; } ELSE { id_buff[index] = key; index_id++; check_dangky = 0; lcd.print (key); } } } IF (id != 0) getFingerprintEnroll () ; delay (1000); check_dangky = false; class_y = '0'; class_x = '2'; BREAK; } CASE '2': //xoa van tay { id = 0; CHAR id_buff[] = {}; index_id = 0; WHILE (!check_delete) { CHAR key = mykeypad.getKey (); IF (key) { IF (key == '#') { 85 Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn an C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an String str_id = String (id_buff); id = str_id.toInt (); check_delete = 1; } else IF (key == 'D') { class_y = '0'; check_delete = 1; id = 0; } ELSE { id_buff[index_id] = key; index_id++; check_delete = 0; lcd.print (key); } } } id_del = id; IF (id != 0) deleteFingerprint (id); id = 0; check_delete = false; class_y = '0'; BREAK; } CASE 'D': { class_y = '0'; class_x = '0'; BREAK; } CASE '4': { hienthi_lcd_clear (0, 5, "MOI VAO") ; gServo.write (0); delay (1000); gServo.write (90); delay (1000); gServo.write ( - 90); delay (1000); 86 Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn an C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an class_y = '0'; class_x = '0'; BREAK; } } BREAK; } } } // -FINDGER -uint8_t getFingerprintEnroll1() { INT p = - 1; WHILE (p != FINGERPRINT_OK) { p = finger.getImage (); } p = finger.image2Tz (); RETURN p; id = 9; p = finger.storeModel (id); IF (p == FINGERPRINT_OK) { //Stored; hienthi_lcd_clear (0, 2, "LUU VAN TAY"); hienthi_lcd (1, 2, " THANH CONG"); mySerial1.println (canhbao); Serial.println ("canhbaocvantay :"); Serial.println (canhbao); delay (1000); class_x = '0'; out_fingerprint = true; // check de out delay (1); RETURN - 1; } } // -Enroll -uint8_t getFingerprintEnroll() { INT p = -1; 87 Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn an C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an hienthi_lcd_clear (0, 0, "THEM VAN TAY"); hienthi_lcd (1, 3, " VOI ID:"); lcd.print (id); WHILE (p != FINGERPRINT_OK){p = finger.getImage (); } p = finger.image2Tz (1); RETURN p; hienthi_lcd_clear (0, 0, "Remove finger"); delay (2000); p = 0; WHILE (p != FINGERPRINT_NOFINGER) {p = finger.getImage (); } p = -1; hienthi_lcd_clear (0, 0, "Same finger"); WHILE (p != FINGERPRINT_OK) { p = finger.getImage (); BREAK; } p = finger.image2Tz (2); RETURN p; } p = finger.createModel (); IF (p == FINGERPRINT_OK) {} ELSE { RETURN p; } p = finger.storeModel (id); IF (p == FINGERPRINT_OK) {hienthi_lcd_clear (0, 2, "THEM VAN TAY"); hienthi_lcd (1, 2, " THANH CONG"); } else IF (p == FINGERPRINT_PACKETRECIEVEERR) {} else{RETURN p; } // -FINGER - PRINT -uint8_t getFingerprintID () { uint8_t p = finger.getImage (); SWITCH (p) 88 Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn an C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an { CASE FINGERPRINT_OK: BREAK; DEFAULT: RETURN p; } p = finger.image2Tz (); SWITCH (p) { CASE FINGERPRINT_OK: BREAK; DEFAULT: RETURN p; } p = finger.fingerFastSearch (); IF (p == FINGERPRINT_OK) {} ELSE { RETURN p; } } INT getFingerprintIDez () { uint8_t p = finger.getImage (); CHAR dataString[50] = {0}; IF (p != FINGERPRINT_OK) { RETURN - 1; canhbao++; mySerial1.println (canhbao); Serial.println ("canhbaocvantay :"); Serial.println (canhbao); } p = finger.image2Tz (); IF (p != FINGERPRINT_OK) { 89 Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn an C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an RETURN - 1; canhbao++; mySerial1.println (canhbao); Serial.println ("canhbaocvantay :"); Serial.println (canhbao); } p = finger.fingerFastSearch (); IF (p != FINGERPRINT_OK) { hienthi_lcd_clear (0, 0, "van tay khong"); hienthi_lcd (1, 3, " trung khop"); delay (1000); canhbao++; Serial.println ("canhbaovantay:"); Serial.println (canhbao); mySerial1.println (canhbao); Serial.println ("canhbaocvantay :"); Serial.println (canhbao); delay (20); class_x = '0'; out_fingerprint = true; // check de out delay (1); RETURN - 1; } IF (finger.fingerID != 9) { hienthi_lcd_clear (0, 0, "Xin chao ID :"); lcd.print (finger.fingerID); delay (1000); hienthi_lcd (1, 2, " MOI VAO "); delay (1000); gServo.write (0); delay (1000); //mo cua gServo.write (90); delay (1000); gServo.write ( - 90); delay (1000); hienthi_lcd_clear (0, 0, "Dang tai du lieu "); delay (1); class_x = '0'; // Quay lai menu out_fingerprint = true; // check de out de ay ( ) KO DELAY LÀ B »Š L »–I RETURN finger.fingerID; } ELSE { hienthi_lcd_clear (0, 0, "CANH BAO"); delay (5000); String chophep1 = nhandulieu (); 90 Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn an C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Serial.println ("cho phep :"); Serial.println (chophep1); class_x = '0'; class_y = '3'; out_fingerprint = false; delay (1); } } // -DeleteFinger uint8_t deleteFingerprint (uint8_t id) { uint8_t p = -1; CHAR dataString[50] ={0}; p = finger.deleteModel (id); IF (p == FINGERPRINT_OK) { hienthi_lcd_clear (0, 4, "DA XOA ! ") ; delay (1000); } else IF (p == FINGERPRINT_PACKETRECIEVEERR) { hienthi_lcd_clear (0, 0, "communication error"); delay (2000); RETURN p; } else if (p == FINGERPRINT_BADLOCATION) {RETURN p; } else if (p == FINGERPRINT_FLASHERR) {RETURN p; } else{RETURN p; } } // -LCD -VOID hienthi_lcd (int hang, int cot, char * content) { lcd.setCursor (cot, hang); lcd.print (content); } VOID hienthi_lcd_clear (int hang, int cot, char * content) { lcd.clear (); lcd.setCursor (cot, hang); 91 Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn an C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an lcd.print (content); } 92 Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn an C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an TÀI LIỆU THAM KHẢO [1] Arduino mega 2560: https://www.robotshop.com/media/files/pdf/arduinomega2560datasheet.pdf [2] Arduino uno r3: https://www.fecegypt.com/uploads/dataSheet/1522237550_arduino%20uno%20r 3.pdf [3] Module cảm biến khí ga MQ2: https://www.pololu.com/file/0J309/MQ2.pdf [4] Cảm biến chuyển động PIR HC – SR501: https://www.mpja.com/download/31227sc.pdf [5] Cảm biến nhiệt độ - độ ẩm DHT11: https://image.dfrobot.com/image/data/KIT0003/DHT11%20datasheet.pdf [6] 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 điều khiển qua mạng internet”, Đồ Án Tốt Nghiệp ĐH, trường ĐH Sư Phạm Kỹ Thuật TP.HCM, 2018 [7] Sách hướng dẫn sử dụng “R30X Series Fingerprint Identification Module” [8] Bàn phím ma trận 4x4: https://thegioiic.com/products/ban-phim-4x4-16-nut [9] Nguyễn Đình Phú, “vi điều khiển PIC 16f887”, trường ĐH Sư Phạm Kỹ Thuật TP.HCM, 08/2016 [10] Giao tiếp UART: http://www.hocavr.com/2018/06/bai-5-giao-tiep-uart.html 93 Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn an C.33.44.55.54.78.65.5.43.22.2.4 22.Tai lieu Luan 66.55.77.99 van Luan an.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.C.33.44.55.54.78.655.43.22.2.4.55.22 Do an.Tai lieu Luan van Luan an Do an.Tai lieu Luan van Luan an Do an Stt.010.Mssv.BKD002ac.email.ninhd 77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77.77.99.44.45.67.22.55.77.C.37.99.44.45.67.22.55.77t@edu.gmail.com.vn.bkc19134.hmu.edu.vn.Stt.010.Mssv.BKD002ac.email.ninhddtt@edu.gmail.com.vn.bkc19134.hmu.edu.vn

Ngày đăng: 28/07/2023, 08:07

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan