1. Trang chủ
  2. » Giáo Dục - Đào Tạo

ĐỀ tài THIẾT kế và CHẾ tạo KHÓA THÔNG MINH NHẬN DIỆN KHUÔN mặt

81 2 0

Đ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

Họ tên sinh viên: Tươ ng Tha nh Phúc – Ngu yễn Tha nh Huy TÊN ĐỀ TÀI : Thiê t kê chê tạo khóa thôn g h nhận diện khuô n mặt ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT KHOA ĐIỆN -ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH: CÔNG NGHỆ KĨ THUẬT ĐIỆN -ĐIỆN TỬ CHUYÊN NGÀNH: KĨ THUẬT ĐIỆN TỬ ĐỀ TÀI: THIẾT KẾ VÀ CHẾ TẠO KHĨA THƠNG MINH NHẬN DIỆN KHUÔN MẶT Người hướng dẫn: Ths Trần Duy Chung Sinh viên thực hiện: Tưởng Thanh Phúc Nguyễn Thanh Huy Mã sinh viên: 1811505120142 1811505120326 Đà Nẵng, 6/2022 Lớp: 18D3 Lớp: 18D4 ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT KHOA ĐIỆN-ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGÀNH: CÔNG NGHỆ KĨ THUẬT ĐIỆN -ĐIỆN TỬ CHUYÊN NGÀNH: KĨ THUẬT ĐIỆN TỬ ĐỀ TÀI: THIẾT KẾ VÀ CHẾ TẠO KHĨA THƠNG MINH NHẬN DIỆN KHUÔN MẶT Người hướng dẫn: Ths Trần Duy Chung Sinh viên thực hiện: Tưởng Thanh Phúc Nguyễn Thanh Huy Mã sinh viên: 1811505120142 1811505120326 Lớp: 18D3 Lớp: 18D4 Đà Nẵng, 6/2022 NHẬN XÉT CỦA NGƯỜI HƯỚNG DẪN NHẬN XÉT CỦA NGƯỜI PHẢN BIỆN TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT KHOA ĐIỆN- ĐIỆN TỬ CỘNG HỊA XÃ HƠI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Giảng viên hướng dẫn: Th.s TRẦN DUY CHUNG Sinh viên thực hiện: NGUYỄN THANH HUY Mã SV: 1811505120326 TƯỞNG THANH PHÚC Mã SV: 1811505120142 Tên đề tài: THIẾT KẾ VÀ CHẾ TẠO KHÓA THÔNG MINH NHẬN DIỆN KHUÔN MẶT Các số liệu, tài liệu ban đầu: Dùng esp32 cam để nhận diện khn mặt Cảnh báo sai mật mở khóa từ xa qua điện điện thoại Tài liệu ban đầu: - Tìm hiểu thơng tin qua trạng mạng, tham khảo sách, báo tài liệu chuyên nghành - - Tài liệu lập trình vi điều khiển, chuẩn giao tiếp Nội dung đồ án: • Chương : Tổng Quan chung Trình bày đặt vấn để dẫn nhập lý chọn đề tài , mục tiêu , nội dung nghiên cứu, giới hạn thông số bố cục đồ án • Chương : Cơ Sở Lý Thuyết Trình bày lý thuyết có liên quan đến vấn đề mà đề tải dùng để thực thiết kế, thi cơng cho đề tài • Chương : Tính Tốn Và Thiết Kế Giới thiệu tổng quan yêu cầu đề tài mà thiết kế tính tốn, thiết kế gồm phần Thiết kế sơ đồ khối hệ thống, sơ đồ nguyên lý toản mạch, tính tốn thiết kế mạch • Chương : Thi Cơng Hệ Thống Trình bày q trình vẽ mạch in lắp ráp thiết bị, đo kiểm tra mạch, lắp ráp mơ hình Thiết kế lưu để giải thuật cho chương trình viết chương trình cho hệ thống Hướng dẫn quy trình sử dụng hệ thống Các sản phẩm dự kiến - Hoàn thành sản phẩm mở khóa nhận dạng khn mặt Báo cáo tổng kết đồ án tốt nghiệp Ngày giao đồ án: 2/3/2022 Ngày nộp đồ án: 2/6/2022 Trương Bộ môn Đà Nẵng, ngày 05 tháng 03 năm 2022 Người hướng dẫn TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN – ĐIỆN TỬ Độc lập - Tự - Hạnh phúc ĐỀ CƯƠNG ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: NGUYỄN THANH HUY TƯỞNG THANH PHÚC Mã sinh viên: 1811505120326 1811505120142 Lớp: 18D4 18D3 Họ tên người hướng dẫn: Th.s TRẦN DUY CHUNG Đề tài Tên đề tài: THIẾT KẾ VÀ CHẾ TẠO KHĨA THƠNG MINH NHẬN DIỆN KHN MẶT Thời gian thực hiện: Từ ngày: 2/3/2022 đến ngày: 2/6/2022 Mục tiêu - Dùng esp32 cam để nhận diện khuôn mặt, kết hợp với vân tay, thẻ từ mật để mở khóa Cảnh báo sai mật mở khóa từ xa qua điện thoại Nội dung • Chương : Tổng Quan chung Trình bày đặt vấn để dẫn nhập lý chọn đề tài , mục tiêu , nội dung nghiên cứu, giới hạn thông số bố cục đồ án • Chương : Cơ Sở Lý Thuyết Trình bày lý thuyết có liên quan đến vấn đề mà đề tải dùng để thực thiết kế, thi cơng cho đề tài • Chương : Tính Tốn Và Thiết Kế Giới thiệu tổng quan yêu cầu đề tài mà thiết kế tính tốn, thiết kế gồm phần Thiết kế sơ đồ khối hệ thống, sơ đồ nguyên lý toản mạch, tính tốn thiết kế mạch • Chương : Thi Cơng Hệ Thống Trình bày q trình vẽ mạch in lắp ráp thiết bị, đo kiểm tra mạch, lắp ráp mơ hình Thiết kế lưu để giải thuật cho chương trình viết chương trình cho hệ thống Hướng dẫn quy trình sử dụng hệ thống Kêt dự kiên đạt - Hoàn thành sản phẩm khóa thơng minh nhận diện khn mặt Tiên độ thực hiện TT Thời gian Nội dung cơng việc Lên ý tưởng cho đề tài Tìm hiểu Tuần chọn đề tài lên kế hoạch chi tiết Tuần Chọn đề tài ghi đề cương nhiệm vụ đề tài Tìm hiểu đề tài xây dựng Tuần mô hình khóa thơng minh nhận diện khn mặt Tuần Tuần Tuần Tuần Tuần Tuần 10 Tuần 10 11 Tuần 11 12 Tuần 12 13 Tuần 13 14 Tuần 14 Gặp GVHD để báo cáo hướng thực đề tài Tìm hiểu esp32 cam Nghiên cứu thiết kế chế tạo phần cứng Lập trình điều khiển Lập trình điều khiển giao tiếp phần cứng Lập trình điều khiển , lắp ráp linh kiện Sắp xếp bố trí cho hợp lí Báo cáo tiến độ cho GVHD Hồn thiện mơ hình Viết báo cáo Kiểm tra hoạt động hệ thống Hoàn tất báo cáo Khắc phục cố Kêt dự kiên đạt Vá lỗi cố có Hồn 15 Tuần 15 thiện báo cáo, gặp GVPB bảo vệ Đà Nẵng, ngày 05 tháng 03 năm 2022 BỘ MÔN DUYỆT NGƯỜI HƯỚNG DẪN SINH VIÊN LỜI CẢM ƠN Lời đầu tiên, em xin gửi đến Thầy Trần Duy Chung lời cảm ơn chân thành sâu sắc Nhờ có hướng dẫn giúp đỡ tận tình Thầy suốt thời gian qua, em thực hoàn thành Đồ Án Tốt Nghiệp Những lời nhận xét, góp ý hướng dẫn tận tình Thầy giúp em có định hướng đúng đắn suốt trình thực Đề tài giúp em nhìn ưu, khuyết điểm Đề tài bước hoàn thiện Đồng thời, em xin trân trọng cảm ơn Thầy Cô trường Đại học Sư phạm Kỹ thuật nói chung khoa Điện- Điện Tử nói riêng dạy dỗ chúng em suốt quãng thời gian ngồi ghế giảng đường Đại học Những lời giảng Thầy Cô bục giảng trang bị cho chúng em kiến thức giúp chúng em tích lũy thêm kinh nghiệm Bên cạnh đó, xin cảm ơn hỗ trợ giúp đỡ bạn bè thời gian học tập trường Đại học Sư phạm Kỹ thuật trình hồn thành Đồ Án Tốt Nghiệp 10 Thiết kế chế tạo khóa thơng minh nhận diện khn mặt KẾT QUẢ, NHẬN XÉT VÀ ĐÁNH GIÁ Kêt quả: - Thiết kế chế tạo thành cơng khóa thơng minh nhận diện khn mặt Mở khóa vân tay, thẻ từ mật Cảnh báo sai mật qua ứng dụng telegram Nhận xét: Qua q trình nghiên cứu thi cơng nhóm em hồn thành cịn nhiều thiếu xót chưa thể giao tiếp ESP32 CAM với ESP32, liệu ESP32 CAM gửi cho telegram chậm ESP32 CAM phải xử lý nhiều công việc Sinh viên thực hiện: Tưởng Thanh Phúc- Nguyễn Thanh Huy Người hướng dẫn: Ths Trần Duy Chung Thiết kế chế tạo khóa thông minh nhận diện khuôn mặt KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN • Kêt đạt được: Thực mục tiêu đề ra, nhiều thiếu sót nhờ hướng dẫn tận tình thầy hướng dẫn, đề tài đồ án “Thiêt kê chê tạo khóa thông minh nhận diện bằng khuôn mặt” đạt kết tốt • • - Hạn chê: Hệ thống yếu nhận dạng ảnh động Khả bảo mật yếu cần ảnh qua mắt hệ thống Hoạt động chưa hồn tồn hiệu với mắt kính thường nơi có ánh sáng chiếu Do module giá thành rẻ nên xử lý liệu chậm Hướng phát triển sản phẩm: Đề tài hướng phát triển rõ ràng, nâng cao khả nhận diện sẻ đảm bảo được độ an tồn cao Nâng cao bảo mật công nghệ mới, sử dụng camera 3D phương án tốt để hạn chế vấn đề bảo mật - Sinh viên thực hiện: Tưởng Thanh Phúc- Nguyễn Thanh Huy Người hướng dẫn: Ths Trần Duy Chung Thiết kế chế tạo khóa thông minh nhận diện khuôn mặt TÀI LIỆU THAM KHẢO [1] arduino.vn/bai-viet/1107-gioi-thieu-ve-module-lm2596-giai-thuong-tuan-4 [2] arduinokit.vn/giao-tiep-i2c-lcd-arduino/? fbclid=IwAR3cyWDTczYFLDHYrYnFXfHaMCWq1qEObkxlv9su_HsP4UG4T2_aC2zqmk [3] arduino.vn/bai-viet/915-huong-dan-su-dung-module-ban-phim-4x4-voi-arduino [4] bloglaptrinh.info/dieu-khien-esp32-esp8266-qua-telegram/ [5] cyberlotus.com/xac-thuc-sinh-trac-hoc-xu-huong-tat-yeu-trong-tuong-lai-gan.html [6] dientutuonglai.com/arduino-ide-la-gi.html [7] dienmayxanh.com/kinh-nghiem-hay/nguyen-ly-hoat-dong-cua-o-khoa-1287074 [8] esp32.vn/idf/i2c.html#:~:text=I2C%20l%C3%A0%20giao%20th%E1%BB%A9c %20truy%E1%BB%81n,v%C3%A0%20SDA%20(Serial%20Data) [9] hshop.vn/products/kit-rf-thu-phat-wifi-ble-esp32-cam [10] hshop.vn/products/mach-tang-op-dc-xl6009 [11] haphan.com/News/17500/tong-quan-cong-nghe-rfid-trong-thoi-dai-4-0 [12] hshop.vn/products/khoa-chot-dien-solenoid-lock-ly-03 [13] hshop.vn/products/cam-bien-nhan-dang-van-tay-as608-fingerprint-sensor [14] himart.vn/tin-tuc/lich-su-phat-trien-cua-khoa-cua/227.html [15] khoingo.net/so-sanh-face-recognition-va-face-detection/ [16] lib.hpu.edu.vn/bitstream/handle/123456789/18117/51_NguyenTienManh_CT1001.pd f [17] medium.datadriveninvestor.com/face-recognition-from-scratch-using-opencv-andpython-part-1-c61e13e553dc [18] mialock.com/cong-nghe-nhan-dien-van-tay-live-scan-13804.html? fbclid=IwAR0ibehzNQD8LCZTK44bRc1mRMkI4MK492mR7SHb22LgonAfRvHbR LlPW14 [19] nshopvn.com/product/mach-chuyen-usb-uart-ttl-ft232rl/ [20] nshopvn.com/blog/gioi-thieu-mach-thu-phat-wifi-ble-esp32-cam-ai-thinker-huongdan-su-dung-voi-arduino-thuc-hanh-lam-bo-mo-khoa-cua-nhan-dien-khuon-mat-bangesp32-cam/ [21] nshopvn.com/product/kit-rf-thu-phat-wifi-bluetooth-esp32/ [22] ohtech.vn/all-courses/lap-trinh-esp32-cam-voi-arduino-ide/lessons/stream-video-vanhan-dien-khuon-mat-voi-esp32-cam-va-arduino-ide/ [23] plctech.com.vn/relay-la-gi/ [24] tino.org/vi/rfid-la-gi/ [25] vi.wikipedia.org/wiki/H%E1%BB%87_th%E1%BB%91ng_nh%E1%BA %ADn_d%E1%BA%A1ng_khu%C3%B4n_m%E1%BA%B7t#:~:text=H%E1%BB %87%20th%E1%BB%91ng%20nh%E1%BA%ADn%20d%E1%BA%A1ng%20khu %C3%B4n%20m%E1%BA%B7t%20l%C3%A0%20m%E1%BB%99t%20%E1%BB Sinh viên thực hiện: Tưởng Thanh Phúc- Nguyễn Thanh Huy Người hướng dẫn: Ths Trần Duy Chung Thiết kế chế tạo khóa thơng minh nhận diện khn mặt %A9ng%20d%E1%BB%A5ng,d%E1%BB%AF%20li%E1%BB%87u%20v%E1%BB %81%20khu%C3%B4n%20m%E1%BA%B7t vi.wikipedia.org/wiki/Sinh_tr%E1%BA%AFc_h%E1%BB%8Dc Sinh viên thực hiện: Tưởng Thanh Phúc- Nguyễn Thanh Huy Người hướng dẫn: Ths Trần Duy Chung Thiết kế chế tạo khóa thơng minh nhận diện khn mặt PHỤ LỤC Code ESP32 CAM: #include "esp_camera.h" #include #include #include #include #include "soc/soc.h" #include "soc/rtc_cntl_reg.h" #define CAMERA_MODEL_AI_THINKER #define Green #include "camera_pins.h" String token = "5541295927:AAHafYPAFow73Su78k5wknkM72SMeMG_CR8"; String CHAT_ID = "5286348623"; const char* ssid = "NOM"; //Wifi Name SSID const char* password = "12345678"; //WIFI Password bool sendPhoto = false; WiFiClientSecure clientTCP; UniversalTelegramBot bot(token, clientTCP); int botRequestDelay = 1000; unsigned long lastTimeBotRan; void startCameraServer(); int matchFace = 0; boolean activateRelay = false; long prevMillis=0; int interval = 5000; } void setup() { pinMode(Green,OUTPUT); Serial.begin(115200); Serial.setDebugOutput(true); Serial.println(); camera_config_t config; config.ledc_channel = LEDC_CHANNEL_0; config.ledc_timer = LEDC_TIMER_0; Phụ lục Thiết kế chế tạo khóa thơng minh nhận diện khn mặt config.pin_d0 = Y2_GPIO_NUM; config.pin_d1 = Y3_GPIO_NUM; config.pin_d2 = Y4_GPIO_NUM; config.pin_d3 = Y5_GPIO_NUM; config.pin_d4 = Y6_GPIO_NUM; config.pin_d5 = Y7_GPIO_NUM; config.pin_d6 = Y8_GPIO_NUM; config.pin_d7 = Y9_GPIO_NUM; config.pin_xclk = XCLK_GPIO_NUM; config.pin_pclk = PCLK_GPIO_NUM; config.pin_vsync = VSYNC_GPIO_NUM; config.pin_href = HREF_GPIO_NUM; config.pin_sscb_sda = SIOD_GPIO_NUM; config.pin_sscb_scl = SIOC_GPIO_NUM; config.pin_pwdn = PWDN_GPIO_NUM; config.pin_reset = RESET_GPIO_NUM; config.xclk_freq_hz = 20000000; config.pixel_format = PIXFORMAT_JPEG; if(psramFound()){ config.frame_size = FRAMESIZE_UXGA; config.jpeg_quality = 10; config.fb_count = 2; } else { config.frame_size = FRAMESIZE_SVGA; config.jpeg_quality = 12; config.fb_count = 1; } #if defined(CAMERA_MODEL_ESP_EYE) pinMode(13, INPUT_PULLUP); pinMode(14, INPUT_PULLUP); #endif esp_err_t err = esp_camera_init(&config); if (err != ESP_OK) { Serial.printf("Camera init failed with error 0x%x", err); return; } sensor_t * s = esp_camera_sensor_get(); if (s->id.PID == OV3660_PID) { s->set_vflip(s, 1);//flip it back s->set_brightness(s, 1);//up the blightness just a bit s->set_saturation(s, -2);//lower the saturation } Phụ lục Thiết kế chế tạo khóa thơng minh nhận diện khuôn mặt s->set_framesize(s, FRAMESIZE_QVGA); #if defined(CAMERA_MODEL_M5STACK_WIDE) s->set_vflip(s, 1); s->set_hmirror(s, 1); #endif WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); startCameraServer(); Serial.print("Camera Ready! Use 'http://"); Serial.print(WiFi.localIP()); Serial.println("' to connect"); } void loop() { if (sendPhoto) { Serial.println("Preparing photo"); alerts2Telegram(token, CHAT_ID); sendPhoto = false; } if (millis() > lastTimeBotRan + botRequestDelay) { int numNewMessages = bot.getUpdates(bot.last_message_received + 1); while (numNewMessages) { Serial.println("got response"); handleNewMessages(numNewMessages); numNewMessages = bot.getUpdates(bot.last_message_received + 1); } lastTimeBotRan = millis(); } if(matchFace==2) { alerts2Telegram(token, CHAT_ID); } if(matchFace==1) { digitalWrite(Green,HIGH); Phụ lục Thiết kế chế tạo khóa thơng minh nhận diện khn mặt delay(2000); matchFace=0; } else { digitalWrite(Green,LOW); matchFace=0; } } String alerts2Telegram(String token, String chat_id) { const char* myDomain = "api.telegram.org"; String getAll="", getBody = ""; camera_fb_t * fb = NULL; fb = esp_camera_fb_get(); if(!fb) { Serial.println("Camera capture failed"); delay(1000); ESP.restart(); return "Camera capture failed"; } WiFiClientSecure client_tcp; if (client_tcp.connect(myDomain, 443)) { Serial.println("Connected to " + String(myDomain)); String head = " India\r\nContent-Disposition: form-data; name=\"chat_id\"; \r\n\r\n" + chat_id + "\r\n India\r\nContent-Disposition: form-data; name=\"photo\"; filename=\"esp32-cam.jpg\"\r\nContent-Type: image/jpeg\r\n\r\n"; String tail = "\r\n India \r\n"; uint16_t imageLen = fb->len; uint16_t extraLen = head.length() + tail.length(); uint16_t totalLen = imageLen + extraLen; client_tcp.println("POST /bot"+token+"/sendPhoto HTTP/1.1"); client_tcp.println("Host: " + String(myDomain)); client_tcp.println("Content-Length: " + String(totalLen)); client_tcp.println("Content-Type: multipart/form-data; boundary=India"); client_tcp.println(); client_tcp.print(head); Phụ lục Thiết kế chế tạo khóa thơng minh nhận diện khuôn mặt uint8_t *fbBuf = fb->buf; size_t fbLen = fb->len; for (size_t n=0;n millis()) { Serial.print("."); delay(100); while (client_tcp.available()) { char c = client_tcp.read(); if (c == '\n') { if (getAll.length()==0) state=true; getAll = ""; } else if (c != '\r') getAll += String(c); if (state==true) getBody += String(c); startTime = millis(); } if (getBody.length()>0) break; } Phụ lục Thiết kế chế tạo khóa thơng minh nhận diện khn mặt client_tcp.stop(); Serial.println(getBody); } else { getBody = "Connection to telegram failed."; Serial.println("Connection to telegram failed."); } delay(5000); matchFace=0; return getBody; } Code ESP32: #include #include #include #include #include #include #include #include #define ROW_NUM #define COLUMN_NUM #define RST_PIN 13 #define SS_PIN 12 #define MODEM_RX 16 #define MODEM_TX 17 #define mySerial Serial2 // use for ESP32 #define WIFI_SSID "NOM" #define WIFI_PASSWORD "12345678" #define BOT_TOKEN "5541295927:AAHafYPAFow73Su78k5wknkM72SMeMG_CR8" #define CHAT_ID "5286348623" LiquidCrystal_I2C lcd(0x27,20,4); MFRC522 mfrc522(SS_PIN, RST_PIN); const unsigned long BOT_MTBS = 1000; char keys[ROW_NUM][COLUMN_NUM] = { {'1','2','3','A'}, {'4','5','6','B'}, {'7','8','9','C'}, {'*','0','#','D'} }; byte pin_rows[ROW_NUM] = {4, 15, 32, 33}; byte pin_column[COLUMN_NUM] = {25, 26, 27, 14}; Phụ lục Thiết kế chế tạo khóa thơng minh nhận diện khuôn mặt Keypad keypad = Keypad( makeKeymap(keys), pin_rows, pin_column, ROW_NUM, COLUMN_NUM ); const String password = "7890"; String input_password; int l =4,bt=0; String TheDung="3B C3 3C 0D"; MFRC522::MIFARE_Key key; int relay = 2; //Led int ledStatus = 0; Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial); WiFiClientSecure secured_client; UniversalTelegramBot bot(BOT_TOKEN, secured_client); unsigned long bot_lasttime; // last time messages' scan has been done void handleNewMessages(int numNewMessages) { Serial.print("handleNewMessages "); Serial.println(numNewMessages); for (int i = 0; i < numNewMessages; i++) { String chat_id = String(bot.messages[i].chat_id); if (chat_id != CHAT_ID ) { bot.sendMessage(chat_id, "Unauthorized user", ""); } else { String text = bot.messages[i].text; String from_name = bot.messages[i].from_name; if (from_name == "") from_name = "Guest"; if (text == "/mocua") { digitalWrite(LED_BUILTIN, 1); ledStatus = 1; lcd.setCursor(0,1); lcd.print(" Moi Vao"); bot.sendMessage(chat_id, "Da Mo Cua", ""); delay(2000); digitalWrite(LED_BUILTIN, 0); lcd.clear(); bt=0; Phụ lục Thiết kế chế tạo khóa thơng minh nhận diện khuôn mặt l=4; } } } } void setup() { Serial.begin(9600); //input_password.reserve(32); while (!Serial); SPI.begin(); mfrc522.PCD_Init(); Serial.print(WIFI_SSID); WiFi.begin(WIFI_SSID, WIFI_PASSWORD); secured_client.setCACert(TELEGRAM_CERTIFICATE_ROOT); for (byte i = 0; i < 6; i++) { key.keyByte[i] = 0xFF; } lcd.init(); lcd.init(); lcd.backlight(); pinMode(LED_BUILTIN, OUTPUT); finger.begin(57600); delay(5); if (finger.verifyPassword()) { } else { while (1) { delay(1); } } finger.getTemplateCount(); } void loop() { if (millis() - bot_lasttime > BOT_MTBS) { int numNewMessages = bot.getUpdates(bot.last_message_received + 1); while (numNewMessages) { Serial.println("got response"); handleNewMessages(numNewMessages); numNewMessages = bot.getUpdates(bot.last_message_received + 1); } bot_lasttime = millis(); } if(bt==0) { lcd.setCursor(3,0); lcd.print("Truong SPKT!"); Phụ lục Thiết kế chế tạo khóa thơng minh nhận diện khn mặt } else { lcd.setCursor(1,0); lcd.print("Vui Long Nhap MK"); lcd.setCursor(1,1); lcd.print("MK:"); } getFingerprintIDez(); delay(50); ///////////////////////////////////////////////////////////////////////////////////// char keypadd = keypad.getKey(); if (keypadd) { bt=1; lcd.setCursor(l,1); lcd.print(keypadd); if (keypadd == '*') { input_password = ""; } else if (keypadd == '#') { if (password == input_password) { lcd.setCursor(0,1); lcd.print("MK dung moi vao"); bot.sendMessage(CHAT_ID, "Da Mo Cua Bang Mat Khau ", ""); digitalWrite(LED_BUILTIN, 1); delay(2000); digitalWrite(LED_BUILTIN, 0); lcd.clear(); bt=0; l=4; } else { lcd.setCursor(0,1); lcd.print("MK sai thu lai"); bot.sendMessage(CHAT_ID, "Nhap Mat Khau Sai ", ""); delay(2000); lcd.clear(); bt=0; l=4; } input_password = ""; } else { input_password += keypadd; l=l+1; delay(50); } } else Phụ lục Thiết kế chế tạo khóa thơng minh nhận diện khuôn mặt { String content=""; byte letter; if(!mfrc522.PICC_IsNewCardPresent()) { return; } if(!mfrc522.PICC_ReadCardSerial()) { return; } for(byte i=0;i

Ngày đăng: 26/07/2022, 08:38

Xem thêm:

w