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

(Đồ án tốt nghiệp) thiết kế và thi công hệ thống điều khiển và giám sát thiết bị trong nhà

131 47 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

Thông tin cơ bản

Định dạng
Số trang 131
Dung lượng 8,33 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 KHOA KHOA ĐIỆN – ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP NGÀNH CNKT ĐIỆN TỬ - TRUYỀN THÔNG THIẾT KẾ VÀ THI CÔNG HỆ THỐNG ĐIỀU KHIỂN VÀ GIÁM SÁT THIẾT BỊ TRONG NHÀ GVHD: ThS NGUYỄN TRƯỜNG DUY SVTH: TRẦN HOÀNG ANH MSSV: 16141104 SVTH: TRẦN THỊ MINH THY MSSV: 16141301 SKL007825 Tp Hồ Chí Minh, tháng 01/2021 TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Chuyên ngành: Hệ đào tạo: Khóa: I TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG ĐIỀU KHIỂN VÀ GIÁM SÁT THIẾT BỊ TRONG NHÀ II NHIỆM VỤ Các số liệu ban đầu: - Tìm hiểu kiến thức điều khiển thiết bị thơng qua mạng internet - Tìm hiểu vi điều khiển phù hợp với đề tài phương pháp lập trình - Tìm hiểu cảm biến đo thông số môi trường như: cảm biến nhiệt độ, cảm biến độ ẩm, cảm biến khí gas, cảm biến chuyển động, cảm biến cường độ ánh sáng, … - Tìm hiểu thiết bị điện nhà, hệ thống điều khiển nhà thông minh - Tìm hiểu kiến thức lập trình website, lập trình app android - Tìm hiểu phần mềm lập trình Nội dung thực hiện: - Tìm hiểu kiến thức, tài liệu liên quan đến đề tài i - Tìm hiểu kiến thức module Arduino Mega 2560, module ESP8266, module ESP32-CAM, module bluetooth HC-05; loại cảm biến: cảm biến ánh sáng, cảm biến chuyển động, cảm biến khí gas, cảm biến nhiệt độ - độ ẩm,… - Tìm hiểu về: hệ thống truyền động mái hiên; hệ thống bảo mật cửa mật qua App điện thoại bàn phím ma trận; cách điều khiển camera gửi ảnh chụp từ ESP32-CAM - Tìm hiểu giao thức truyền thơng, giao tiếp Arduino Mega 2560 với ESP8266; ESP8266 với sỡ liệu, sở liêu với web server, arduino Mega 2560 app android qua bluetooth - Thiết kế sơ đồ nguyên lý cho toàn mạch - Viết chương trình cho khối điều khiển Arduino Mega 2560, ESP32-CAM, ESP8266 - Tạo sở liệu, thiết kế app hệ điều hành Android, web server để giám sát điều khiển thiết bị thông số nhà - Thiết kế mạch in PCB, thi cơng mạch, thi cơng mơ hình hồn chỉnh - Chạy thử nghiệm cân chỉnh hệ thống cho ổn định - Viết báo cáo đồ án tốt nghiệp - Báo cáo đồ án tốt nghiệp III NGÀY GIAO NHIỆM VỤ: 05/10/2020 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 24/01/2021 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS Nguyễn Trường Duy CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CƠNG NGHIỆP – Y SINH ii LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: MSSV: Họ tên sinh viên: MSSV: Tên đề tài: THIẾT KẾ VÀ THI CÔNG HỆ THỐNG ĐIỀU KHIỂN VÀ GIÁM SÁT THIẾT BỊ TRONG NHÀ Tuần/ngày Tuần (5/10 – 11/10) Tuần (12/10 – 18/10) Tuần (19/10 – 25/10) Tuần (26/10 – 1/11) Tuần (2/11 – 8/11) Tuần (9/11 – 15/11) Tuần iii (16/11 – 22/11) Tuần (23/11 – 29/11) Tuần (30/11 – 6/12) Tuần 10,11 (7/12 – 20/12) Tuần 12 (21/12 – 27/12) Tuần 13 (28/12 – 3/1) Tuần 14 (4/1– 10/1) Tuần 15 (11/1 – 17/1) Tuần 16 (18/1 – 24/1) GV HƯỚNG DẪN (Ký ghi rõ họ tên) iv LỜI CAM ĐOAN Đề tài nhóm thực dựa vào số tài liệu trước khơng chép từ tài liệu hay cơng trình nghiên cứu có trước Người thực đề tài: TRẦN HOÀNG ANH TRẦN THỊ MINH THY v LỜI CẢM ƠN Lời nhóm em xin chân thành cảm ơn đến thầy Nguyễn Trường Duy giúp đỡ hướng dẫn tận tình nhiều trình thực đồ án tốt nghiệp Và xin cảm ơn chân thành thầy cô Khoa Điện – Điện Tử tạo điều kiện tốt cho nhóm, cuối cảm ơn tất đến tất anh chị, bạn bè… chia góp ý để nhóm sớm hồn thành đồ án tốt nghiệp Người thực đề tài: TRẦN HOÀNG ANH TRẦN THỊ MINH THY vi MỤC LỤC NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP LỜI CAM ĐOAN LỜI CẢM ƠN MỤC LỤC LIỆT KÊ HÌNH VẼ LIỆT KÊ BẢNG VẼ Chương TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ 1.2 MỤC TIÊU 1.3 NỘI DUNG NGHIÊN CỨU 1.4 GIỚI HẠN 1.5 BỐ CỤC Chương CƠ SỞ LÝ THUYẾT 2.1 SƠ LƯỢC VỀ INTERNET OF THINGS 2.1.1 Giới thiệu IoT 2.1.2 Ứng dụng IoT 2.2 SƠ LƯỢC VỀ MẠNG WIFI 2.2.1 Giới thiệu wifi 2.2.2 Một số chuẩn kết nối w 2.3 SƠ LƯỢC VỀ NHÀ THÔNG MINH 2.3.1 Giới thiệu nhà thông m 2.3.2 Cơ chế hoạt động n 2.3.3 Ưu điểm nhược điểm nhà thông minh 2.3.4 Các tảng nhà nhà thông minh phổ biến nay……………………………….11 2.4CÁC CHUẨN VÀ PHƯƠNG THỨC TRUYỀN DỮ LIỆU 2.4.1Chuẩn truyền thông UART 2.4.2Giao thức HTTP HTTPS a Giao thức HTTP b Giao thức HTTPS 2.4.3Phương thức GET POST a Phương thức GET b Phương thức POST 2.5PHẦN CỨNG 2.5.1Vi điều khiển a Giới thiệu Arduino b Giới thiệu Arduino Mega 2560 2.5.2Module wifi ESP8266 2.5.3Module Wifi ESP32-CAM 2.5.4Module bluetooth HC-05 2.5.5Động servo SG90 2.5.6Relay tiếp điểm khí 2.5.7Bàn phím ma trận 4x4 (Keypa Chương TÍNH TỐN VÀ THIẾT KẾ 3.1GIỚI THIỆU 3.2TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG 3.2.1Thiết kế sơ đồ khối hệ thống 3.2.2Tính tốn thiết kế mạch a Khối điều khiển trung tâm b Khối cảm biến c Khối ngõ công suất d Khối nút nhấn e Khối đóng – mở cửa f Khối truyền liệu g Khối điều khiển camera i Khối nguồn 3.2.3 Sơ đồ ngun lí tồn mạch a Sơ đồ ngun lí tồn mạch b Giải thích nguyên lý hoạt động tồn mạch Chương THI CƠNG HỆ THỐNG 4.1GIỚI THIỆU 4.2THI CÔNG HỆ THỐNG 4.2.1Thi công board mạch a Mạch điều khiển b Mạch điều khiển camera PHỤ LỤC ///////////////////////// reading5 = digitalRead(nn5); if (reading5 == HIGH && previous5 == LOW && millis() - time5 > debounce) { if (tt5 == "0") { state5 = HIGH; } else if (tt5 == "1") { state5 = LOW; } time5 = millis(); if (state5 == HIGH) { tb5 = "1"; } else if (state5 == LOW) { tb5 = "0"; } } previous1 = reading1; //touch2//điều hòa phòng reading6 = digitalRead(nn6); if (reading6 == HIGH && previous6 == LOW && millis() - time6 > debounce) { if (tt6 == "0") { state6 = HIGH; } else if (tt6 == "1") { state6 = LOW; } time6 = millis(); if (state6 == HIGH) { 101 PHỤ LỤC tb6 = "1"; } else if (state6 == LOW) { tb6 = "0"; } } previous6 = reading6; //touch2//điều hòa phòng reading7 = digitalRead(nn7); if (reading7 == HIGH && previous7 == LOW && millis() - time7 > debounce) { if (tt7 == "0") { state7 = HIGH; } else if (tt7 == "1") { state7 = LOW; } time7 = millis(); if (state7 == HIGH) { tb7 = "1"; } else if (state7 == LOW) { tb7 = "0"; } } previous7 = reading7; }  Chương trình ESP8266 #include #include #include #include 102 PHỤ LỤC #include SoftwareSerial mySerial(D2, D1); //rx,tx unsigned long t1 = 0, t2 = 0; String tb1 = "x", tb2 = "x", tb3 = "x", tb4 = "x", tb5 = "x", tb6 = "x", tb7 = "x"; byte moc; String cb1 = "", cb2 = "", cb3 = "", cb4 = ""; String s = "", s1 = "", s2 = ""; String nhiet_do = "", do_am = "", khi_gas = "", chuyen_dong = ""; String st1 = "", st2 = "", st3 = "", st4 = "", st5 = "", st6 = "", st7 = "", st8 = "", stb = ""; int tt1 = 0, tt2 = 0, tt3 = 0, tt4 = 0, tt5 = 0, tt6 = 0, tt7 = 0, tt8 = 0; String ssid = "Aaaaaaaa";//12345679 String password = "231196@96";//12345679 const char* host = "datn2021.online"; const char *hostthietbi = "http://datn2021.online/dktb/text.php"; WiFiClient client; void setup() { Serial.begin(9600); mySerial.begin(57600); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(300); Serial.print("."); } } void loop() { //co tin hieu tu arduino if (mySerial.available()) { char c = mySerial.read(); s += c; 103 PHỤ LỤC if (c == '\n') { s1 = s; s = ""; for (int i = 0; i 500) { // kết nối đến port 80 if (client.connect(host, 80)) { Serial.println("connected"); / truyền liệu lên server theo phương thức get client.print(String("GET http://datn2021.online/insert/insertcb.php?") + ("nhiet-do=") ("&do-am=") ("&khi-gas=") ("&chuyen-dong=") + chuyen_dong + " HTTP/1.1\r\n" "Host: " + host + "\r\n" + + "Connection: close\r\n\r\n"); } else { Serial.println("connection failed"); } delay(50); if (client.connect(host, 80)) { Serial.println("connected"); client.print(String("GET http://datn2021.online/insert/inserttb1.php?") + ("&tb1=") ("&tb2=") ("&tb3=") ("&tb4=") ("&tb5=") 106 PHỤ LỤC ("&tb6=") ("&tb7=") " HTTP/1.1\r\n" "Host: " + host + "\r\n" "Connection: close\r\n\r\n"); } else { / không kết nối với server in kết nối thất bại Serial.println("connection failed"); } //phần cố định delay(50); t1 = millis(); } //nhan du lieu tu database va gui ve arduino if (millis() - t2 > 400) { HTTPClient http; http.begin(hostthietbi); int httpCode = http.GET(); String payload = http.getString(); if (httpCode == 200) { const size_t capacity = JSON_OBJECT_SIZE(3) + JSON_ARRAY_SIZE(2) + 60; DynamicJsonBuffer jsonBuffer(capacity); JsonObject& root = jsonBuffer.parseObject(payload); if (!root.success()) { Serial.println(F("Parsing failed!")); return; } String x1 = root["led"][0]["tb1"]; 107 PHỤ LỤC String x2 = root["led"][0]["tb2"]; String x3 = root["led"][0]["tb3"]; String x4 = root["led"][0]["tb4"]; String x5 = root["led"][0]["tb5"]; String x6 = root["led"][0]["tb6"]; String x7 = root["led"][0]["tb7"]; // String x8 = root["led"][0]["tb8"]; if (x1 == "on") { st1 = "1"; } else if (x1 == "off") { st1 = "0"; } if (x2 == "on") { st2 = "1"; } else if (x2 == "off") { st2 = "0"; } if (x3 == "on") { st3 = "1"; } else if (x3 == "off") { st3 = "0"; } if (x4 == "on") { st4 = "1"; } else if (x4 == "off") { st4 = "0"; } if (x5 == "on") { st5 = "1"; 108 PHỤ LỤC } else if (x5 == "off") { st5 = "0"; } if (x6 == "on") { st6 = "1"; } else if (x6 == "off") { st6 = "0"; } if (x7 == "on") { st7 = "1"; } else if (x7 == "off") { st7 = "0"; } stb = st1 + st2 + st3 + st4 + st5 + st6 + st7; mySerial.println(stb); Serial.println(stb); } else { Serial.println("Error in response"); } http.end(); delay(50); t2 = millis(); } }  Chương trình ESP32-CAM #include "esp_camera.h" #include #include 109 PHỤ LỤC / WARNING!!! Make sure that you have either selected ESP32 Wrover Module, / or another board which has PSRAM enabled // // Select camera model //#define CAMERA_MODEL_WROVER_KIT //#define CAMERA_MODEL_ESP_EYE //#define CAMERA_MODEL_M5STACK_PSRAM //#define CAMERA_MODEL_M5STACK_WIDE #define CAMERA_MODEL_AI_THINKER #define SERVO1 12 // Cửa sổ khách #define SERVO2 13 // Cửa sổ khách #include "camera_pins.h" Servo gServo1; Servo gServo2; int pos = 0; Servo myservo; const char* ssid = "Aaaaaaaa"; const char* password = "231196@96"; void startCameraServer(); boolean matchFace = false; boolean activateRelay = false; long prevMillis = 0; int interval = 5000; void ServoOpen() 110 PHỤ LỤC { for (pos = 180; pos >= 0; pos -= 1) { // goes from degrees to 180 degrees // in steps of degree // tell servo to go to position in variable myservo.write(pos); delay(15); 'pos' // waits 15ms for the servo to reach the position } } void ServoClose() { for (pos = 0; pos 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 } //drop down frame size for higher initial frame rate 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("."); } 113 PHỤ LỤC Serial.println(""); Serial.println("WiFi connected"); startCameraServer(); Serial.print("Camera Ready! Use 'http://"); Serial.print(WiFi.localIP()); Serial.println("' to connect"); } void loop() { if (matchFace == true && activateRelay == false) { activateRelay = true; ServoOpen(); delay(5000); ServoClose(); prevMillis = millis(); } if (activateRelay == true && millis() - prevMillis > interval) { activateRelay = false; matchFace = false; } } 114 ... tài ? ?Thi? ??t kế thi công hệ thống điều khiển giám sát thi? ??t bị nhà? ?? để kế thừa tính hữu dụng từ đồ án nhóm trước phát triền lên với nhiều tính như: điều khiển thi? ??t bị giọng nói qua app, điều khiển. .. thi? ??t kế, thi công cho đề tài Chương 3: Thi? ??t kế tính tốn Thi? ??t kế sơ đồ khối hệ thống, đưa sơ đồ nguyên lí khối hệ thống thực tính tốn thi? ??t kế Chương 4: Thi công hệ thống Chương trình bày thi? ??t. .. THI? ??T KẾ VÀ THI CÔNG HỆ THỐNG ĐIỀU KHIỂN VÀ GIÁM SÁT THI? ??T BỊ TRONG NHÀ II NHIỆM VỤ Các số liệu ban đầu: - Tìm hiểu kiến thức điều khiển thi? ??t bị thơng qua mạng internet - Tìm hiểu vi điều khiển

Ngày đăng: 27/12/2021, 08:51

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w