Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 76 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
76
Dung lượng
3,1 MB
Nội dung
Nguyễn Huy Hoàng & Nguyễn Anh Trong TÊN ĐỀ TÀI: NGHIÊN CỨU,THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN NHÀ THÔNG MINH NĂM:2022 ĐẠ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: ĐIỆN – ĐIỆN TỬ CHUYÊN NGÀNH: KỸ THUẬT ĐIỆN TỬ h ĐỀ TÀI: NGHIÊN CỨU, THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN NHÀ THÔNG MINH Người hướng dẫn : TS Trần Hoàng Vũ Sinh viên thực : Nguyễn Huy Hoàng Nguyễn Anh Trong Mã Sinh viên : 1811505410216 1811505410237 Lớp : 18DT2 Đà Nẵng, 6/2022 ĐẠ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: ĐIỆN – ĐIỆN TỬ h ĐỀ TÀI: NGHIÊN CỨU, THIẾT KẾ HỆ THỐNG ĐIỀU KHIỂN NHÀ THÔNG MINH Người hướng dẫn : TS.Trần Hoàng Vũ Sinh viên thực : Nguyễn Huy Hoàng Nguyễn Anh Trong Mã Sinh viên : 1811505410216 1811505410237 Lớp : 18DT2 Đà Nẵng, 6/2022 {Trang trắng dùng để dán Nhận xét người hướng dẫn, thay trang Nhận xét người hướng dẫn} h {Trang trắng dùng để dán Nhận xét người phản biện, thay trang Nhận xét người phản biện} h TÓM TẮT Tên đề tài: Nghiên cứu, thiết kế hệ thống điều khiển nhà thông minh Sinh viên thực hiện: Nguyễn Huy Hoàng Nguyễn Anh Trong Lớp: 18DT2 Mã SV: 1811505410216 Mã SV: 1811505410237 Đề tài nhóm em phát triển dựa ý tưởng thực tế Ở nước ta, thuật ngữ khơng cịn xa lạ với người Hàng loạt công ty nghiên cứu, cung cấp giải pháp nhà thông minh đời, nhiều hộ cao cấp lắp đặt sử dụng công nghệ Tuy nhiên để sở hữu nhà với chức đại điều khiển chiếu sáng, hệ thống an ninh báo trộm, báo cháy hay gần công nghệ trợ lý ảo người dùng phải bỏ số tiền không nhỏ, mà đủ khả chi trả Với mục đích vận dụng kiến thức học để tạo thiết bị điều khiển cho ngơi nhà h với tính bản, giá phải chăng, em chọn đề tài “Nghiên cứu, thiết kế hệ thống điều khiển nhà thông minh” Đề tài tập trung xây dựng điều khiển on/off thiết bị nhà, đọc hiển thị cảm biến, điều khiển nhà thơng qua app Blynk giọng nói trở lý ảo Google Assistant Blynk ứng dụng chạy tảng iOS Android để điều khiển giám sát thiết bị thông qua internet Blynk không bị ràng buộc với phần cứng cụ thể cả, thay vào đó, hỗ trợ phần cứng cho bạn lựa chọn Arduino, ESP8266 nhiều module phần cứng phổ biến khác {Trang trắng dùng để dán Nhiệm vụ đồ án tốt nghiệp, thay trang Nhiệm vụ đồ án tốt nghiệp} h LỜI NÓI ĐẦU Sau năm học tập rèn luyện trường Đại học Sư Phạm Kỹ Thuật Đà Nẵng, giảng dạy tận tâm thầy cô, giúp đỡ nhiệt tình từ bạn bè, anh chị khóa trước, ngày hơm chúng em bước vào chặng cuối hành trình, hồn thành đồ án tốt nghiệp để trường Để ngày hôm nay, ngồi việc cố gắng, nỗ lực từ thân cịn nhiều người giúp đỡ, khích lệ chúng em suốt chặng đường Vì chúng em muốn gửi lời cảm ơn chân thành sâu sắc đến: Quý thầy cô khoa Điện – Điện tử truyền đạt cho chúng em kiến thức quý giá suốt năm học qua Đặc biệt, chúng em xin cảm ơn Thầy Trần Hồng Vũ, người tận tình hướng dẫn, góp ý để chúng em hồn thành đồ án tốt nghiệp Cảm ơn bạn bè, anh chị động viên, giúp đỡ, sát cánh bên thời gian làm đồ án suốt năm học qua h Cuối cùng, chúng em xin kính chúc q thầy dồi sức khỏe để tiếp tục truyền đạt kiến thức quý báu cho hệ sinh viên chúng em Chúc anh chị, bạn thành công vững bước đường chọn Xin chân thành cảm ơn! CAM ĐOAN Nhóm chúng em gồm thành viên: Nguyễn Huy Hoàng, sinh viên lớp 18DT2 Nguyễn Anh Trong, sinh viên lớp 18DT2 Chúng em xin cam đoan kết trình bày đồ án thành nghiên cứu chúng em suốt thời gian qua chưa xuất công bố hay chép tác giả khác định hướng hướng dẫn TS Trần Hồng Vũ Các thơng tin trích dẫn đồ án rõ, nguồn gốc rõ ràng phép công bố Các kết đạt xác trung thực Nếu có vi phạm nào, nhóm xin chịu hồn tồn trách nhiệm chịu kỷ luật khoa nhà trường Đã bổ sung, cập nhật theo yêu cầu Giảng viên phản biện Hội đồng chấm Đồ án tốt nghiệp họp ngày 17,18/6/2022 h Sinh viên thực {Chữ ký, họ tên sinh viên} Nguyễn Huy Hoàng Nguyễn Anh Trong MỤC LỤC MỞ ĐẦU 1 Tính cấp thiết đề tài Mục tiêu, phạm vi đối tượng phương pháp nghiên cứu 2.1 Mục tiêu nghiên cứu .1 2.2 Phạm vi nghiên cứu 2.3 Đối tượng phương pháp nghiên cứu .2 Cấu trúc nội dung đồ án .2 CHƯƠNG 1: TỔNG QUAN VỀ NHÀ THÔNG MINH .3 1.1 Khái niệm nhà thông minh 1.2 Các thành phần nhà thông minh: .4 Hệ thống quản lý chiếu sáng: 1.2.2 Hệ thống kiểm soát vào: .4 1.2.3 Hệ thống quan sát, thông tin liên lạc: 1.2.4 Hệ thống giải trí đa phương tiện: .6 1.2.5 Hệ thống quản lý tiêu thụ lượng: 1.2.6 Hệ thống cảm biến báo động: 1.2.7 Hệ thống kiểm sốt mơi trường: .7 1.2.8 Hệ thống công tắc điều khiển trạng thái: 1.2.9 Hệ thống xử lý trung tâm, điều khiển, giám sát từ xa: 1.3 h 1.2.1 Phân tích, lựa chọn phương án thực đề tài: 1.3.1 Phương án thực hiện: 1.3.2 Phân tích phương án chọn: CHƯƠNG 2: TÌM HIỂU VỀ PHẦN CỨNG VÀ PHẦN MỀM .11 A PHẦN CỨNG ĐƯỢC SỬ DỤNG .11 2.1 Arduino Mega 2560: 11 2.1.1 Chi tiết Arduino Mega 2560 11 2.1.2 Thông số kĩ thuật: 13 2.1.3 Ứng dụng thực tế: 13 2.1.4 Giao tiếp UART: 14 2.2 Module Wifi ESP8266 NodeMCU: 17 2.3 Module LM2596: 19 2.4 Transistor TIP122 .20 2.5 Các cảm biến sử dụng: 21 2.5.1 Cảm biến nhiệt độ, độ ẩm DHT11: .21 2.5.2 Cảm biến khí gas MQ-6 .23 2.5.3 Cảm biến vân tay AS608 24 2.6 Màn hình thị LCD 16X2 .27 2.7 Module I2C 29 2.8 Module Sim800l: 30 2.9 Các thiết bị khác: 31 2.9.1 Đèn led, quạt: .31 2.9.2 Động Servo 9G 32 B CÁC PHẦN MỀM ĐƯỢC SỬ DỤNG .33 2.10 Arduino IDE: 33 2.11 Blynk mobile app 34 2.12 Phần mềm IFTTT 35 h 2.13 Altium Designer 36 CHƯƠNG 3: THIẾT KẾ, THI CƠNG HỆ THỐNG MƠ HÌNH NHÀ THÔNG MINH 38 3.1 Tổng quan hệ thống .38 3.2 Mơ hình ngơi nhà: 39 3.3 Thiết kế, thi công mạch điều khiển trung tâm: .40 CHƯƠNG 4: LẬP TRÌNH HỆ THỐNG ĐIỀU KHIỂN 43 4.1 Các tính hệ thống: 43 4.2 Điều khiển thiết bị giọng nói 43 4.3 Cấu hình code Arduino IDE 45 4.4 Cài đặt cấu hình Blynk điều khiển thiết bị 46 4.5 Sơ đồ thuật toán hệ thống .47 4.6 Đánh giá kết 50 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 51 PHỤ LỤC 52 CODE SỬ DỤNG: 52 TÀI LIỆU THAM KHẢO 61 Nghiên cứu, thiết kế hệ thống nhà thơng minh 4.5 Sơ đồ thuật tốn hệ thống h Hình 7: Sơ đồ thuật tốn Arduino Sinh viên thực hiện: Nguyễn Huy Hoàng – Nguyễn Anh Trong Người hướng dẫn: TS Trần Hoàng Vũ 48 Nghiên cứu, thiết kế hệ thống nhà thông minh Arduino xử lý chức điều khiển Khi bắt đầu, ta khai báo biến cảnh báo, kiểm tra vân tay - Vân tay đúng, cửa tự động mở (lúc cảnh báo = 0) Sau Arduino tiếp tục thực đọc nhiệt độ độ ẩm từ DHT11, điều khiển trạng thái bật tắt đèn, quạt; Sau truyền liệu cho Esp8266 - Vân tay sai, xuất cảnh báo, cảnh báo = 3, tương đương với vân tay sai lần còi kêu, báo động cho chủ nhà Arduino thực đọc nhiệt độ độ ẩm từ DHT11, xử lý trang thái bật tắt thiết bị (đèn, quạt) Arduino truyền liệu cho Esp8266 xửa lý ngược lại h Sinh viên thực hiện: Nguyễn Huy Hoàng – Nguyễn Anh Trong Người hướng dẫn: TS Trần Hoàng Vũ 49 Nghiên cứu, thiết kế hệ thống nhà thơng minh h Hình 8: Sơ đồ thuật tốn ESP8266 Sinh viên thực hiện: Nguyễn Huy Hồng – Nguyễn Anh Trong Người hướng dẫn: TS Trần Hoàng Vũ 50 Nghiên cứu, thiết kế hệ thống nhà thông minh Esp8266 giao tiếp với Arduino qua giao tiếp UART Nhận tín hiệu từ Arduino gửi tín hiệu đến Arduino Đầu tiên, khai báo chuỗi liệu cho Esp8266 Sau tiếp nhận Esp thực kiểm tra arduino có truyền liệu đến thực gán liệu vào chuỗi data, tách chuỗi data, gán vào biến đẩy lên Blynk Thực kiểm tra đèn, quạt (tương đương với chân v11,v12,v13,v14,v15) bật hay tắt Sau gửi giá trị tương đương cho Arduino 4.6 Đánh giá kết Cơ hoàn thành yêu cầu đặt lúc đầu: Thiết kế thi công điều khiển nhà với tính sau: Có khả bật tắt thiết bị thông qua việc điều khiển sử dụng điện thoại Điều khiển app Blynk giọng nói trợ lý ảo Google Assistant Hiện thị thơng số nhiệt độ, độ ẩm, khí gas lên LCD Cảnh báo rị rỉ khí gas qua sms cịi báo động h Nhận dạng chủ nhà thơng qua vân tay Cảnh báo chống trộm nhập sai vân tay lần còi báo động tin nhắn sms Sinh viên thực hiện: Nguyễn Huy Hoàng – Nguyễn Anh Trong Người hướng dẫn: TS Trần Hoàng Vũ 51 Nghiên cứu, thiết kế hệ thống nhà thông minh KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Với kết mà nhóm em đạt được, chúng em tạm hài lịng với làm đề tài Tuy nhiên, kiến thức hạn chế, nên đề tài khơng tránh khỏi sai sót vấn dề chưa thể khắc phục như: - Chưa thể tự lập trình ứng dụng riêng để điều khiển thiết bị mà sử dụng ứng dụng có sẵn (củ thể app Blynk) - Các tính cịn Hướng phát triển đề tài: Từ tính đề tài, phát triển đề tài cách tối ưu Không dừng lại việc bật/tắt thiết bị thông thường, hệ thống xử lý nhận diện ánh sáng, nhiệt độ… qua tự điều chỉnh cho hợp lý mà không cần đến can thiệp người Sự dụng ứng dung riêng không phụ thuộc vào ứng dụng có sẵn h Hệ thống phát triển thêm tính như: nhận diện khn mặt thông qua camera, nhận diện chủ nhà giọng nói… Sinh viên thực hiện: Nguyễn Huy Hồng – Nguyễn Anh Trong Người hướng dẫn: TS Trần Hoàng Vũ 52 Nghiên cứu, thiết kế hệ thống nhà thông minh PHỤ LỤC CODE SỬ DỤNG: Code nhập liệu từ arduino đẩy lên blynk , nhận liệu từ blynk google truyền qua arduino: #include //#define USE_WEMOS_D1_MINI #include #include "BlynkEdgent.h" SoftwareSerial stm(5, 4); //rx,tx 17(RX)-D2(4), 16(TX)-D1(5) BLYNK_WRITE(V9) { if (param.asInt() == 1) stm.print('a'); #define BLYNK_TEMPLATE_ID "TMPLxIzrykGJ" } #define BLYNK_DEVICE_NAME "giong noi" BLYNK_WRITE(V11) { if (param.asInt() == 1) stm.print('b'); } h #define BLYNK_FIRMWARE_VERSION "0.1.0" BLYNK_WRITE(V12) { if (param.asInt() == 1) stm.print('c'); #define BLYNK_PRINT Serial //#define BLYNK_DEBUG } BLYNK_WRITE(V13) { if (param.asInt() == 1) #define APP_DEBUG stm.print('d'); // Uncomment your board, or configure a custom board in Settings.h } BLYNK_WRITE(V14) { if (param.asInt() == 1) //#define USE_SPARKFUN_BLYNK_BOAR D #define USE_NODE_MCU_BOARD //#define USE_WITTY_CLOUD_BOARD stm.print('e'); } BLYNK_WRITE(V15) { if (param.asInt() == 1) Sinh viên thực hiện: Nguyễn Huy Hoàng – Nguyễn Anh Trong Người hướng dẫn: TS Trần Hoàng Vũ 53 Nghiên cứu, thiết kế hệ thống nhà thông minh stm.print('f'); } if (data_ != "") { /*WidgetLED led(V4); Blynk.virtualWrite(V0, data_.substring(0, data_.indexOf("a"))); WidgetLED suong(V5); WidgetLED bom(V6); Blynk.virtualWrite(V1, data_.substring(data_.indexOf("a") + 1, data_.indexOf("b"))); WidgetLED quat(V7); WidgetLED suoi(V8); Blynk.virtualWrite(V2, data_.substring(data_.indexOf("b") + 1, data_.indexOf("c"))); WidgetLED auto_(V14); WidgetLED manual_(V15); */ Blynk.virtualWrite(V3, data_.substring(data_.indexOf("c") + 1, data_.indexOf("d"))); void setup() { Blynk.virtualWrite(V4, data_.substring(data_.indexOf("d") + 1, data_.indexOf("e"))); Serial.begin(115200); stm.begin(9600); BlynkEdgent.begin(); } void loop() { BlynkEdgent.run(); String data_ = ""; h delay(100); Blynk.virtualWrite(V5, data_.substring(data_.indexOf("e") + 1, data_.indexOf("f"))); Blynk.virtualWrite(V6, data_.substring(data_.indexOf("f") + 1, data_.indexOf("g"))); Blynk.virtualWrite(V7, data_.substring(data_.indexOf("g") + 1, data_.indexOf("h"))); Blynk.virtualWrite(V8, data_.substring(data_.indexOf("h") + 1, data_.indexOf("i"))); while (stm.available()) { char t = stm.read(); Serial.println(data_); data_ += t; } } } Sinh viên thực hiện: Nguyễn Huy Hoàng – Nguyễn Anh Trong Người hướng dẫn: TS Trần Hoàng Vũ 54 Nghiên cứu, thiết kế hệ thống nhà thông minh Code xử lý cảm biến điều khiển hệ thống: #include #define dataPin // Defines pin number to which the sensor is connected #include #include dht DHT; #include LiquidCrystal_I2C lcd(0x27, 16, 2); #include #define nut_den_PK 51 int servoPinT = 3; #define nut_quat_PK 47 int servoPinP = 2; #define nut_cua Servo servoT; 45 #define nut_den_PN 49 Servo servoP; #define nut_den_PB 53 int angleT = 84;//dong 86,mo 10 int angleP = 104;//dong 104, mo 180 #define den_PK 29 #define quat_PK 23// Adafruit_Fingerprint finger = Adafruit_Fingerprint(&Serial3); h volatile int finger_status = -1; #define coi 27 #define den_PN 25 #define quat_PB 31 /////////////////khai báo MQ6////////// #define den_PB 35// #define placa "Arduino UNO" #define Voltage_Resolution #define pin A0 #define type "MQ-6" #define ADC_Bit_Resolution 10 #define RatioMQ6CleanAir 10 bool status_nut_den_PK = false; bool status_nut_quat_PK = false; bool status_nut_cua = false; bool status_nut_den_PN = false; bool status_nut_den_PB = false; bool status_cua = false; MQUnifiedsensor MQ6(placa, Voltage_Resolution, ADC_Bit_Resolution, pin, type); bool status_gas = false; int canh_bao = 0; int trom = 0; int tg = 0; Sinh viên thực hiện: Nguyễn Huy Hoàng – Nguyễn Anh Trong Người hướng dẫn: TS Trần Hoàng Vũ 55 Nghiên cứu, thiết kế hệ thống nhà thông minh void setup() { servoT.attach(servoPinT); // put your setup code here, to run once: servoP.attach(servoPinP); Serial.begin(9600); servoT.write(84); Serial1.begin(9600); servoP.write(angleP); Serial2.begin(9600); //////////MQ6 finger.begin(57600); MQ6.setRegressionMethod(1); MQ6.setA(2127.2); MQ6.setB(2.526); Serial1.println("AT"); //Once the handshake test is successful, it will back to OK MQ6.init(); float calcR0 = 0; delay(500); Serial1.println("AT+CSQ"); //Signal quality test, value range is 0-31 , 31 is the best h delay(500); Serial1.println("AT+CCID"); //Read SIM information to confirm whether the SIM is plugged delay(500); Serial1.println("AT+CREG?"); //Check whether it has registered in the network delay(500); Serial1.println("AT+CMGF=1"); // Configuring TEXT mode delay(500); lcd.init(); lcd.clear(); lcd.backlight(); for (int i = 1; i 10) { } angleT -= 2; } } servoT.write(angleT); if (angleP < 180) { servoP.write(angleP); angleP += 2; TCNT2 = 60; } h } Sinh viên thực hiện: Nguyễn Huy Hoàng – Nguyễn Anh Trong Người hướng dẫn: TS Trần Hoàng Vũ 61 Nghiên cứu, thiết kế hệ thống nhà thông minh TÀI LIỆU THAM KHẢO [1] Giới thiệu Arduino Mega2560 https://www.stdio.vn/dien-tu-ung-dung/gioi-thieu-ve-arduino-mega-2560-j1NjQF [2] Tìm hiểu giao thức Srial(UART) Arduino https://www.arduino.cc/reference/en/language/functions/communication/serial/ [3] Nguồn internet giới thiệu ESP8266: https://hshop.vn/products/kit-rf-thu-phat-wifi-esp8266-nodemcu [4] “DHT11 Temperature & Humidity Sensor”, [Online] Available: https://www.mouser.com/ds/2/758/DHT11-Technical-Data-Sheet-TranslatedVersion-1143054.pdf [5] “SERVO MOTOR SG90 DATASHEET” ”, [Online] Available: http://www.ee.ic.ac.uk/pcheung/teaching/DE1_EE/stores/sg90_datasheet.pdf h Sinh viên thực hiện: Nguyễn Huy Hoàng – Nguyễn Anh Trong Người hướng dẫn: TS Trần Hoàng Vũ 62