Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 67 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
67
Dung lượng
2,07 MB
Nội dung
Bả IoT ứng dụng mơ hình Smart-Home o m ật I Bả IoT ứng dụng mơ hình Smart-Home o m ật II o LỜI NÓI ĐẦU Bả IoT ứng dụng mơ hình Smart-Home m Xã hội kỉ 21 chứng kiến phát triển vượt bậc công nghệ đánh dấu ật mở đầu thiết bị thông minh Smart Phone, Smart Tivi thiết bị ngày phổ biến, thông dụng đời sống ngày người Đúng tên gọi, thiết bị khơng có khả đáp ứng yêu cầu người, mà thế, thiết bị smart đời thay người việc kiểm soát điều khiển chức khác cách chuyên nghiệp, dễ dàng hiệu Tiếp nối thành công thiết bị thông minh Smart-Home đời khởi đầu táo bạo tư làm chủ công nghệ sống người Một nhà thông minh với khả thấu hiểu tư điều khiển người nhanh chóng trở thành đề tài cơng nghệ có sức hấp dẫn Nhà thông minh (Smart home, Home automation) kiểu nhà lắp đặt thiết bị điện, điện tử có tác dụng tự động hóa hồn tồn bán tự động, thay người thực thao tác quản lý, điều khiển Hệ thống điện tử giao tiếp với chủ nhân nhà thông qua bảng điện tử đặt sẵn nhà, phần mềm điện thoại di động, máy tính bảng giao diện web Bên cạnh đó, với nhu cầu ngày cao bùng nổ công nghệ trí tuệ nhân tạo (AI), Internet vạn vật (IoT)…, smart home sớm bùng nổ tương lai gần.Thị trường smart home bùng nổ mạnh mẽ Việt Nam.Quy mô, nhu cầu ngày lớn biến smart home từ thị trường ngách thành hướng phát triển Sự hấp dẫn thị trường kéo theo việc hàng loạt doanh nghiệp công nghệ khai phá Nắm bắt điều này, vận dụng kiến thức học, nhóm em tiến hành thực đề tài với tên ““IoT ứng dụng mơ hình Smart-home” Với đề tài này, nhóm hy vọng làm sở nghiên cứu để nhóm sau phát triển cải tiến thêm Em xin chân thành cảm ơn thầy tận tình bảo để nhóm em hồn thành đề tài nghiên cứu Bên cạnh hướng dẫn, góp ý tận tình giáo viên hướng dẫn TS Nguyễn Thị Ái Nhi Do thời gian kiến thức nhiều hạn chế, đề tài chúng em không tránh khỏi sai sót, em mong thầy góp ý, chỉnh sửa để hồn thiện III o CAM ĐOAN Bả IoT ứng dụng mơ hình Smart-Home m tiến hành công khai, dựa cố gắng, nỗ lực nhóm gồm có: Nguyễn ật Em xin cam đoan đề tài: “IoT ứng dụng mô hình Smart-home” Cơng Thạch , Nguyễn Phú Thi, Hồng Đức Mạnh hướng dẫn nhiệt tình từ TS.Nguyễn Thị Ái Nhi Các số liệu kết nguyên cứu đề tài trung thực hoàn toàn không chép sử dụng kết đề tài nguyên cứu tương tự Ngoài ra, báo cáo có sử dụng số nguồn tài liệu tham khảo trích dẫn nguồn rõ ràng Em xin hồn tồn chịu trách nhiệm trước mơn, khoa nhà trường cam đoan Sinh viên thực Nguyễn Công Thạch IV o MỤC LỤC Bả IoT ứng dụng mơ hình Smart-Home m ật LỜI NĨI ĐẦU III CAM ĐOAN IV MỤC LỤC V DANH SÁCH CÁC BẢNG, HÌNH VẼ VII DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT IX MỞ ĐẦU CHƯƠNG 1: GIỚI THIỆU CHUNG VỀ NHÀ THÔNG MINH SMART HOME 1.1 Khái niệm hệ thống nhà thông minh (Smart Home) .2 1.2 Chức Smarthome .2 1.3 Các ưu khuyết điểm nhà thông minh 1.4 Các yêu cầu đặt hệ thống điều khiển nhà thông minh 1.5 Mục tiêu đề tài CHƯƠNG 2: MƠ HÌNH HỆ THỐNG NHÀ THÔNG MINH 2.1 Sơ đồ kết cấu .5 2.2 Chức 2.3 Sơ đồ khối hệ thống điều khiển .6 2.4 Sơ đồ mạch điều khiển .7 2.4.1 Sơ đồ mạch điều khiển hệ thống .7 2.4.2 Sơ đồ mạch điều khiển phòng CHƯƠNG 3: THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN NHÀ THÔNG MINH 14 3.1 Xây dựng sơ đồ thuật toán: 14 3.2 Phần cứng hệ thống điều khiển: 16 3.2.1 Các cảm biến sử dụng mơ hình: 16 3.2.2 Các linh kiện sử dụng mơ hình: 20 3.3 Adruino modun điều khiển mơ hình: .22 3.3.1 Giới thiệu chung: .22 3.3.2 Arduino Mega Pro: 23 3.3.3 Module Node MCU: 24 V o 3.4 Bả IoT ứng dụng mơ hình Smart-Home Thiết kế tính toán 26 m Tính tốn khối nguồn cho thiết bị 5V .26 3.4.2 Tính toán giá trị BJT, điện trở 26 3.4.3 Tính chọn điện trở Diot mạch role 27 ật 3.4.1 CHƯƠNG 4: KẾT QUẢ MÔ PHỎNG 29 4.1 Mô hình thực tế 29 4.2 Giao diện giám sát điều khiển 29 4.3 Một số kết điều khiển .30 4.3.1 Báo có trộm xâm nhập .30 4.3.2 Hiển thị nhiệt độ độ ẩm 31 4.3.3 Tự động đóng mở cửa 32 CHƯƠNG 5: KẾT LUẬN 34 5.1 Kết đạt đồ án 34 5.2 Hướng phát triển cho hệ thống .34 Phụ Lục 36 VI o DANH SÁCH CÁC BẢNG, HÌNH VẼ Bả IoT ứng dụng mơ hình Smart-Home m ật Hình 1.1 Kết nối tổng quan ngơi nhà thơng minh Hình 2.1: Mặt mơ nhà thơng minh Hình 2.2 Sơ đồ khối hệ thống Hình 2.3 Sơ đồ mạch điều khiển hệ thống Hình 2.4 Sơ đồ nguyên lý hoạt động gara để xe Hình 2.5 Sơ đồ nguyên lý hoạt động phịng khách Hình 2.6 Sơ đồ ngun lý hoạt động phịng bếp Hình 2.7 Sơ đồ ngun lý hoạt động phịng ngủ Hình 2.8 Sơ đồ nguyên lý hoạt động hành lang Hình 3.1 Sơ đồ thuật tốn điều khiển hệ thống nhà thơng minh Hình 3.2 Sơ đồ thuật tốn điều khiển thiết bị từ xa Hình 3.3 Điều khiển thiết bị nút nhấn Hình 3.4 Sơ đồ chân cảm biến LM35 Hình 3.5 Quang trở (LDR) Hình 3.6 Cảm biến chuyển động PIR AM 312 Hình 3.7 Cảm biến nhiệt độ, độ ẩm DHT11 Hình 3.8 Động Sevor SG90 Hình 3.9 Màn hình LCD 16x2 Hình 3.10 Mạch hạ áp MP1584 Hình 3.11 Arduino Mega Pro Hình 3.12 NodeMCU ESP8266 Hình 3.13 Sơ đồ nối dây đèn quạt Hình 3.14 Sơ đồ nối dây đèn Hình 3.15 Sơ đồ nối dây role Hình 4.1 Mơ hình nhà thơng minh thực tế Hình 4.2 Giao diện giám sát điều khiển Hình 4.3 Cảnh báo có trộm xâm nhập VII m ật Hình 4.6 Chuyển đổi trạng thái on giao diện chuyển động bật o Hình 4.4 Hiển thị nhiệt độ độ ẩm LCD Hình 4.5 Cửa đèn cảm biến Bả IoT ứng dụng mơ hình Smart-Home VIII Bả IoT ứng dụng mơ hình Smart-Home o DANH SÁCH CÁC KÝ HIỆU, CHỮ VIẾT TẮT m ật KÝ HIỆU Ugh: Hiệu điện cực đại Igh: Dòng điện cực đại β: Hệ số khuếch đại Ib: Dịng điện kích dẫn BJT Ic: Dòng điện tải Rb: Điện trở dòng Ib IDmaxD10: Dòng điện tối đa diode chịu Incđ: Dòng tự cảm cực đại IX o MỞ ĐẦU Bả IoT ứng dụng mơ hình Smart-Home m Mục đích thực đề tài: Tìm hiểu, làm quen, tiếp cận với Smart Home - Mục tiêu đề tài: ật - + Xây dựng mơ hình smarthome hồn chỉnh + Viết chương trình điều khiển hồn chỉnh + Có thể đưa mơ hình vào áp dụng thực tế - Phạm vi đối tượng nghiên cứu: Những người quan tâm đến Smart Home - Phương pháp nghiên cứu: Thiết kế mơ hình nhà thơng minh sử dụng IoT - Cấu trúc đồ án gồm phần: Báo cáo, hình vẽ, mơ hình thực tế o m ật } if (NUTBEP == ) { if (TDB == 0) { digitalWrite(BEP, 1); TDB = 1; } else { digitalWrite(BEP, 0); TDB = 0; } Bả IoT ứng dụng mơ hình Smart-Home while (NUTBEP == 0) {} delay(20); } if (NUTBEP_LED == ) { if (TDLB == 0) { digitalWrite(LED_BEP, 1); TDLB = 1; } else { digitalWrite(LED_BEP, 0); TDLB = 0; } while (NUTBEP_LED == 0) {} delay(20); } if (NUTKHACH_CUA == ) { if (TDCSK == 0) { Servo3(0, 5); TDCSK = 1; } else { Servo3(90, 5); TDCSK = 0; } while (NUTKHACH_CUA == 0) {} delay(20); } if (NUTKHACH_FAN == ) { if (TDFK == 0) { 44 m ật } else { digitalWrite(FAN_KHACH, 0); TDFK = 0; } while (NUTKHACH_FAN == 0) {} delay(20); o digitalWrite(FAN_KHACH, 1); TDFK = 1; Bả IoT ứng dụng mơ hình Smart-Home } if (NUTKHACH_LED == ) { if (TDLK == 0) { digitalWrite(LED_KHACH, 1); TDLK = 1; } else { digitalWrite(LED_KHACH, 0); TDLK = 0; } while (NUTKHACH_LED == 0) {} delay(20); } if (NUT_CUANHA == ) { if (TDCCK == 0) { Servo2(180, 5); TDCCK = 1; } else { Servo2(90, 5); TDCCK = 0; } while (NUT_CUANHA == 0) {} delay(20); } if (NUT_CUASAN == ) { if (TDCS == 0) { Servo1(0, 5); TDCS = 1; } 45 o m ật else { Servo1(90, 5); TDCS = 0; } while (NUT_CUASAN == 0) {} delay(20); Bả IoT ứng dụng mơ hình Smart-Home } if (NUT_CUACUON == ) { if (TDCC == 0) { TDCC = 1; } else { TDCC = 0; } while (NUT_CUACUON == 0) {} delay(20); } if (NUT_TAT == ) { if (TDC == 0) { TDC = 1; } while (NUT_TAT == 0) {} delay(20); } } void DIEUKHIEN() { if (Serial.available()) { // có tín hiệu từ cổng serial String N = ""; // khai báo chuỗi để lưu chuỗi nhận đc N = Serial.readStringUntil('\r'); // lưu chuỗi nhận đc vào chuỗi N N.trim(); if (N == "CSN" ) { if (TDCSN == 0) { // cửa sổ phòng ngủ Servo4(0, 5); // mở cửa TDCSN = 1; } else { Servo4(93, 5); // đóng cửa TDCSN = 0; } 46 m ật } if (N == "FN" ) { if (TDFN == 0) { // quạt phòng ngủ digitalWrite(FAN_NGU, 1); TDFN = 1; } else { digitalWrite(FAN_NGU, 0); TDFN = 0; o // Serial.flush(); Bả IoT ứng dụng mơ hình Smart-Home } // Serial.flush(); } if (N == "LN" ) { if (TDLN == 0) { digitalWrite(LED_NGU, 1); // đèn phòng ngủ TDLN = 1; } else { digitalWrite(LED_NGU, 0); TDLN = 0; } // Serial.flush(); } if (N == "B" ) { if (TDB == 0) { digitalWrite(BEP, 1); TDB = 1; // bếp } else { digitalWrite(BEP, 0); TDB = 0; } // Serial.flush(); } if (N == "CH" ) { if (TDC == 0) { TDC = 1; // tắt còi báo động } 47 o m ật } if (N == "CSK" ) { if (TDCSK == 0) { Servo3(0, 5); // cửa sổ phòng khách TDCSK = 1; } else { Servo3(93, 5); TDCSK = 0; } Bả IoT ứng dụng mơ hình Smart-Home // Serial.flush(); } if (N == "FK" ) { if (TDFK == 0) { digitalWrite(FAN_KHACH, 1); TDFK = 1; } else { // quạt phòng khách digitalWrite(FAN_KHACH, 0); TDFK = 0; } // Serial.flush(); } if (N == "LK" ) { if (TDLK == 0) { digitalWrite(LED_KHACH, 1); TDLK = 1; } // đèn phòng khách else { digitalWrite(LED_KHACH, 0); TDLK = 0; } // Serial.flush(); } if (N == "CCK" ) { if (TDCCK == 0) { Servo2(180, 5); TDCCK = 1; // cửa nhà } 48 o m ật else { Servo2(95, 5); TDCCK = 0; } // Serial.flush(); Bả IoT ứng dụng mơ hình Smart-Home } if (N == "CS" ) { if (TDCS == 0) { Servo1(0, 5); TDCS = 1; } // vào sân else { Servo1(93, 5); TDCS = 0; } // Serial.flush(); } if (N == "CC" ) { if (TDCC == 0) { TDCC = 1; } // cửa else { TDCC = 0; } // Serial.flush(); } if (N == "LB" ) { if (TDLB == 0) { digitalWrite(LED_BEP, 1); TDLB = 1; } else { digitalWrite(LED_BEP, 0); TDLB = 0; } } } if (PIR1() == 1) { tg3 = millis(); 49 o m ật } if (millis() - tg3 < tgls) { digitalWrite(LED_SAN, 1); TDLS = 1; } else { digitalWrite(LED_SAN, 0); TDLS = 0; } if (PIR2() == 1) { Bả IoT ứng dụng mơ hình Smart-Home tg4 = millis(); } if (millis() - tg4 < tglhl) { digitalWrite(LED_HL, 0); TDLHL = 1; } else { digitalWrite(LED_HL, 1); TDLHL = 0; } } void CHONGTROM() { if (LDR < 800 && trom == && TDCS ==0 ) { delay(30); if (LDR < 800 && trom == ) { digitalWrite(COI, 1); trom = 1; } } if (TDC == && trom == 1) { digitalWrite(COI, 0); TDC = 0; trom = 0; } } void BAOCHAY() { if (NHIETDO1() > 50 ) { // chương trình báo cháy to lớn mức cho phép digitalWrite(COI, 1); chay = 1; 50 m ật } void CUACUON() { CCL = CCN; // CCN = TDCC; if (CCN > CCL) { tg1 = millis(); mo = 1; digitalWrite(INA, 1); digitalWrite(INB, 0); o } Bả IoT ứng dụng mơ hình Smart-Home } if (CCN < CCL) { tg2 = millis(); dong = 1; digitalWrite(INA, 0); digitalWrite(INB, 1); } if (millis() - tg1 > tgcc && mo == 1) { digitalWrite(INA, 0); // delay mở cửa digitalWrite(INB, 0); mo = 0; } if (millis() - tg2 > tgcc && dong == 1) { digitalWrite(INA, 0); // delay đóng cửa digitalWrite(INB, 0); dong = 0; } } void Servo4(int goc, int dl) { // chương trình điều khiển servo if (goc > S4) { for (S4; S4 = goc; S4 ) { SV4.write(S4); 51 } void Servo3(int goc, int dl) { // chương trình điều khiển servo if (goc > S3) { for (S3; S3 = goc; S3 ) { SV3.write(S3); delay(dl); } } } void Servo2(int goc, int dl) { // chương trình điều khiển servo if (goc > S1) { for (S2; S2 = goc; S2 ) { SV2.write(S2); delay(dl); } } } void Servo1(int goc, int dl) { if (goc > S1) { for (S1; S1 = goc; S1 ) { SV1.write(S1); delay(dl); } } ật } int PIR2() { if (P2 > 500) { return 1; Bả IoT ứng dụng mơ hình Smart-Home // quy đổi mức logic cbcd sân } else { return 0; } } int PIR1() { if (P1 > 500) { return 1; } // quy đổi mức logic cảnh báo chuyển động hành lang else { return 0; } } int NHIETDO1() { float b = (LM35 * 5.0) / 1023 * 100; // đọc nhiệt độ từ cảm biến nhiệt độ lm35 return b; } NODE MCU #include #include // báo thư viện char auth[ = "u-nb2N0YfInKRnbgDk7JezYT0ZOL25eX"; // mã token project char ssid = "Thach"; char pass = "12345678a"; int R[15]; String N = ""; 53 o m ật int data1; int data2; int data3; int data4; int data5; int data6; int data7; int data8; int data9; int data10; Bả IoT ứng dụng mơ hình Smart-Home int data11; int data12; int data13; int data14; int data15; void setup() { Serial.begin(57600); Blynk.begin(auth, ssid, pass); } void loop() { Blynk.run(); UP(); } void UP() { if (Serial.available()) { // có tín hiệu từ cổng serial N = Serial.readStringUntil('\r'); N.trim(); if (N.length()==15) { // Serial.println(N); R[0] = N.substring(0, 1).toInt(); R[1] = N.substring(1, 2).toInt(); R[2] = N.substring(2, 3).toInt(); R[3] = N.substring(3, 4).toInt(); R[4] = N.substring(4, 5).toInt(); R[5] = N.substring(5, 6).toInt(); R[6] = N.substring(6, 7).toInt(); R[7] = N.substring(7, 8).toInt(); R[8] = N.substring(8, 9).toInt(); 54 o m ật R[9] = N.substring(9, 10).toInt(); R[10] = N.substring(10, 11).toInt(); R[11] = N.substring(11, 12).toInt(); R[12] = N.substring(12, 13).toInt(); R[13] = N.substring(13, 14).toInt(); R[14] = N.substring(14, 15).toInt(); Bả IoT ứng dụng mơ hình Smart-Home } } Blynk.virtualWrite(V0, R[0]); Blynk.virtualWrite(V1, R[1]); Blynk.virtualWrite(V2, R[2]); Blynk.virtualWrite(V3, R[3]); Blynk.virtualWrite(V4, R[4]); Blynk.virtualWrite(V5, R[5]); Blynk.virtualWrite(V6, R[6]); Blynk.virtualWrite(V7, R[7]); Blynk.virtualWrite(V8, R[8]); Blynk.virtualWrite(V9, R[9]); Blynk.virtualWrite(V10, R[10]); Blynk.virtualWrite(V11, R[11]); Blynk.virtualWrite(V12, R[12]); Blynk.virtualWrite(V13, R[13]); Blynk.virtualWrite(V14, R[14]); // gửi trạng thái lên blynk } BLYNK_WRITE(V0) { int valuev1 = param.asInt(); data1 = - data1; if (data1 == 1) { Serial.println("CSN"); } } BLYNK_WRITE(V1) // Den { int valuev2 = param.asInt(); data2 = - data2; if (data2 == 1) { Serial.println("FN"); 55 o } m ật } BLYNK_WRITE(V2) // Quat { int valuev3 = param.asInt(); data3 = - data3; if (data3 == 1) { Serial.println("LN"); } } BLYNK_WRITE(V3) // { int valuev4 = param.asInt(); data4 = - data4; if (data4 == 1) { Serial.println('B'); } } BLYNK_WRITE(V4) // { int valuev5 = param.asInt(); data5 = - data5; if (data5 == 1) { Serial.println("LB"); } } BLYNK_WRITE(V5) // { int valuev6 = param.asInt(); data6 = - data6; if (data6 == 1) { Serial.println("CSK"); } } BLYNK_WRITE(V6) // { int valuev7 = param.asInt(); data7 = - data7; if (data7 == 1) { Bả IoT ứng dụng mơ hình Smart-Home Den Quat Den Quat 56 ật } BLYNK_WRITE(V7) // Den { int valuev8 = param.asInt(); data8 = - data8; if (data8 == 1) { Serial.println("LK"); } m } o Serial.println("FK"); Bả IoT ứng dụng mô hình Smart-Home } BLYNK_WRITE(V8) { int valuev9 = param.asInt(); data9 = - data9; if (data9 == 1) { Serial.println("CCK"); } } BLYNK_WRITE(V10) { int valuev11 = param.asInt(); data11 = - data11; if (data11 == 1) { Serial.println("CS"); } } BLYNK_WRITE(V11) { int valuev12 = param.asInt(); data12 = - data12; if (data12 == 1) { Serial.println("CC"); } } 57 Bả IoT ứng dụng mơ hình Smart-Home o m ật 58