TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA ĐIỆN TỬ VIỄN THÔNG ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGHIÊN CỨU GIẢI PHÁP TỰ ĐỘNG ĐIỀU KHIỂN GIÀN PHƠI QUẦN ÁO Ngành CNKT Điện tử Viễn thông Mã số 7510302 Sinh viên thực hiện Lê Huỳnh Đức Giảng viên hướng dẫn TS Phạm Duy Phong HÀ NỘI – 2022 TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA ĐIỆN TỬ VIỄN THÔNG ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGHIÊN CỨU GIẢI PHÁP TỰ ĐỘNG ĐIỀU KHIỂN GIÀN PHƠI QUẦN ÁO Ngành CNKT Điện tử Viễn thông Mã số 7510302 Sinh viên thực hiện Lê Huỳnh Đức Lớp D12 ĐTVT Mã SV 1781510088 G.
111Equation Chapter Section TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA ĐIỆN TỬ - VIỄN THÔNG ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGHIÊN CỨU GIẢI PHÁP TỰ ĐỘNG ĐIỀU KHIỂN GIÀN PHƠI QUẦN ÁO Ngành: CNKT Điện tử - Viễn thông Mã số: 7510302 Sinh viên thực : Lê Huỳnh Đức Giảng viên hướng dẫn : TS Phạm Duy Phong HÀ NỘI – 2022 TRƯỜNG ĐẠI HỌC ĐIỆN LỰC KHOA ĐIỆN TỬ - VIỄN THÔNG ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC NGHIÊN CỨU GIẢI PHÁP TỰ ĐỘNG ĐIỀU KHIỂN GIÀN PHƠI QUẦN ÁO Ngành: CNKT Điện tử - Viễn thông Mã số: 7510302 Sinh viên thực : Lê Huỳnh Đức Lớp : D12-ĐTVT Mã SV : 1781510088 Giảng viên hướng dẫn : TS Phạm Duy Phong HÀ NỘI – 2022 LỜI CẢM ƠN Để có thành học tập ngày hơm nay, ngồi nỗ lực phấn đấu khơng ngừng thân phần khơng nhỏ đóng góp nên thành cơng nhờ hướng dẫn , dạy dỗ thầy, cô Đại học Điện lực thời gian chúng em nghiên cứu học tập trường Vì kiến thức thân cịn hạn chế, q trình học tập hồn thiện đề tài này, nhóm em khơng tránh khỏi sai sót Những mặt yếu thiếu sót lần nghiên cứu chúng em rút kinh nghiệm tìm hướng giải đề tài tới Chúng em mong thầy cô thông cảm mong nhận góp ý thầy, giáo bạn để đề tài chúng em hoàn thiện Chúng em xin chân thành cảm ơn! Hà Nội, ngày … tháng… năm 20… SINH VIÊN Lê Huỳnh Đức NHẬN XÉT (Của giảng viên hướng dẫn) Hà Nội, ngày … tháng… năm 20… GIẢNG VIÊN TS.Phạm Duy Phong MỤC LỤC Trang MỤC LỤC i DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT .iii DANH MỤC CÁC BẢNG BIỂU v DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ vi LỜI MỞ ĐẦU .1 CHƯƠNG 1: GIỚI THIỆU VỀ ĐỀ TÀI .3 1.1 Đặt vấn đề 1.2 Tầm quan trọng đề tài 1.3 Mục đích nghiên cứu 1.4 Dàn ý nghiên cứu 1.5 Đối tượng nghiên cứu 1.6 Phương pháp phương tiện nghiên cứu CHƯƠNG 2: THIẾT KẾ SẢN PHẨM .6 2.1 Tổng quan Arduino .6 2.1.1 Tổng quan Arduino 2.1.2 Một vài ứng dụng Arduino 2.1.3 Tổng quan Arduino UNO R3 2.2 Module ESP32 NodeMCU 11 2.3 Các cảm biến sử dụng .20 2.3.1 Cảm biến nhiệt độ, độ ẩm 20 2.3.2 Cảm biến mưa 20 2.3.3 Cảm biến cường độ ánh sáng 22 2.4 LCD module I2C 23 2.4.1 LCD 23 2.4.2 Module hỗ trợ giao tiếp I2C 25 CHƯƠNG 3: CHẾ TẠO VÀ THỬ NGHIỆM 27 3.1 Ý tưởng thiết kế .27 3.2 Thiết kế sơ đồ khối 28 3.3 Thiết kế sơ đồ nguyên lý 29 3.3.1 Khối nguồn 29 3.3.2 Khối hiển thị 29 3.3.3 Khối cảm biến 30 3.3.4 Khối thực thi 30 3.3.5 Khối xử lý trung tâm 31 3.3.6 Sơ đồ nguyên lý toàn hệ thống 32 3.4 Thiết kế mạch in 33 3.5 Thiết kế lưu đồ thuật toán 35 3.6 Thi cơng mơ hình đánh giá 40 3.6.1 Mạch điều khiển 40 3.2.2 Mơ hình .42 3.2 Kiểm thử đánh giá 45 3.2.1 Thử nghiệm 1: Chế độ tự động thu dàn phơi trời mưa .45 3.2.2 Thử nghiệm 2: Chế độ tự động phơi quần áo trời sáng cất quần áo trời tối dựa vào cảm biến ánh sáng 46 3.2.3 Thử nghiệm 3: Theo dõi nhiệt độ, độ ẩm, điều khiển dàn phơi từ App Blynk 47 3.2.3 Thử nghiệm 3: Tự động bật quạt thổi khô độ ẩm cao 48 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 50 TÀI LIỆU THAM KHẢO 51 PHỤ LỤC 52 DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT STT Viết tắt ADC Tiếng Anh Analog Digital Converter Tiếng Việt Bộ chuyển đổi tín hiệu Equipment Indentity analog sang digital Thanh ghi định dạng thiết Register bị IDE Integrated Development Môi trường lập trình LCD Environment Liquid Crystal Display Màn hình tinh thể lỏng LED Light Emitting Diode Đèn điốt phát quang UART Universal Asynchronous Giao tiếp truyền thông nối TXD Receiver-Transmitter Transmit Data tiếp Truyền liệu RXD Receive Data Nhận liệu IDE Integrated Development Môi trường phát triển CPU Environment Central Processing Unit Bộ xử lý trung tâm AVR Automatic Voltage Bộ điều chỉnh biến áp EIR 10 11 12 13 14 Regulator COM Commercial Cổng kết nối nối tiếp I/O Input/Output Cổng vào / Cổng SDRA Static Random-Access Bộ nhớ truy cập ngẫu M Memory nhiên đồng EPROM 15 Electrically Erasable Programmable Read-Only Memory Bộ nhớ không bay DANH MỤC CÁC BẢNG BI Y Bảng Thông số Arduino Uno .9 Bảng 2: Chức chân NodeMCU Esp32s 17 Bảng 3: Chức chân ghép nối chi tiết LCD 23 Bảng 1: Kết thử nghiệm .45 Bảng 2: Kết thử nghiệm .46 Bảng 3: Sử dụng internet .47 Bảng 4: Sử dụng mạng 4G 48 Bảng 5: Kết thử nghiệm .49 DANH MỤC CÁC HÌNH VẼ, ĐỒ T Hình 1: Phơi quần áo chung cư Y Hình 1: Arduino Uno .8 Hình 2: Module NodeMCU Esp-32S 11 Hình 3: Các tính module NodeMCU-32S 13 Hình 4: Cảm biến DHT11 .20 Hình 5: Cảm biến mưa 21 Hình Cảm biến cường độ ánh sáng 22 Hình LCD 23 Hình 8: Module I2C .26 Hình 9: Mạch in 2D .33 Hình 10: Mạch in 3D .34 Hình 1: Sơ đồ khối hệ thống 28 Hình 2: Sở đồ nguyên lý khối nguồn .29 Hình 3: Sơ đồ nguyên lý khối hiển thị 29 Hình 4: Sơ đồ nguyên lý khối cảm biến mưa 30 Hình 5: Sơ đồ nguyên lý khối cảm biến nhiệt độ 30 Hình 6: Sơ đồ nguyên lý khối cảm biến ánh sáng 30 Hình 7: Sơ đồ nguyên lý khối thực thi 31 Hình 8: Sơ đồ nguyên lý khối xử lý trung tâm 31 Hình 9: Sơ đồ nguyên lý hệ thống 32 Hình 10: Lưu đồ thuật toán hệ thống .35 Hình 11: Chế độ tự động .36 Hình 12: Chế độ điều khiển từ App Blynk 38 Hình 13: Lưu đồ thuật toán Arudino .39 Hình 15: Mơ hình dàn phơi 44 Hình 16: Giao diện app Blynk 3.2 Kiểm thử đánh giá 3.2.1 Thử nghiệm 1: Chế độ tự động thu dàn phơi trời mưa Do q trình thử nghiệm khơng có mưa, giả lập mưa cách dùng bình tưới hoa tạo phun mưa vào cảm biến Kết đáp ứng hệ thống bảng đây: Bảng 1: Kết thử nghiệm 45 Lần thử nghiệm Kết Thời gian Dàn phơi tự động thu vào giây Dàn phơi tự động thu vào giây Dàn phơi tự động thu vào 1.5 giây Dàn phơi tự động thu vào giây Dàn phơi tự động thu vào giây Dựa vào bảng kết cho thấy chế độ tự động cất quần áo trời mưa hoạt động ổn định với thời gian đáp ứng từ đến giây Sự khác thời gian lượng nước giả lập mưa đến cảm biến khác nhau, từ dẫn đến thời gian đáp ứng cảm biến mưa khác Tuy nhiên, với thời gian đáp ứng này, hệ thống hoạt động ổn định đáp ứng nhu cầu điều khiển 3.2.2 Thử nghiệm 2: Chế độ tự động phơi quần áo trời sáng cất quần áo trời tối dựa vào cảm biến ánh sáng Kết thử nghiệm lập bảng Bảng 2: Kết thử nghiệm Buổi Sáng Tối Lần 2 Kết Dàn phơi đưa trời lúc 5h sáng Dàn phơi đưa trời lúc 5h30 sáng Dàn phơi tự động thu vào lúc 18 tối Dàn phơi tự động thu vào lúc 18h30 tối Sau lần thử nghiệm lần vào buổi sáng lần vào buổi tối cho thấy chế độ điều khiển tự động phơi thu dàn phơi hoạt động ổn định Kết khác thời gian cường độ ánh sáng vào ngày khác nhau, kèm theo trời nhiều mây dẫn đến ảnh hưởng ánh sáng đến cảm biến khác 46 3.2.3 Thử nghiệm 3: Theo dõi nhiệt độ, độ ẩm, điều khiển dàn phơi từ App Blynk Là thử nghiệm cho việc điều khiển giao tiếp qua App Blynk với hai tác vụ điều khiển chế độ hoạt động giám sát thông số môi trường - Trong thử nghiệm giao tiếp với nút bấm trên giao diện người dùng, nhận tín hiệu phản hồi nhanh chóng, độ trễ thấp - Với đồ thị thể giám sát nhiệt độ truyền ổn định liên tục với chu kì 15 giây update lần Thử nghiệm thực trường hợp để theo dõi thời gian đáp ứng hệ thống: Sử dụng Internet Sử dụng mạng internet để tiến hành thử nghiệm Kết bảng Bảng 3: Sử dụng internet Lần Môi Nhiệt độ App Môi Độ ẩm App trường Blynk trường Blynk 20 21 18 17 23 20 21 18 17 23 70 85 79 89 90 70 85 79 89 90 Thời gian đáp ứng chế độ điều khiển 0.4 giây 0.6 giây 0.3 giây 0.3 giây 0.5 giây Sử dụng sóng di động 4G Sử dụng mạng di động 4G để tiến hành thử nghiệm Kết bảng Bảng 4: Sử dụng mạng 4G 47 Lần Nhiệt độ Môi App Độ ẩm Thời gian đáp Môi App trường Blynk trường Blynk 23 16 24 18 21 23 16 24 18 21 85 87 79 82 89 85 87 79 82 89 ứng chế độ điều khiển 1.1 giây giây 0.9 giây 0.8 giây 0.7 giây Sau trường hợp thử nghiệm: Đánh giá tốc độ điều khiển: Tốc độ điều khiển truyền, nhận gói tin nhanh chóng tin cậy Thời gian đáp ứng chế độ điều khiển sử dụng internet nhanh tốc độ đáp ứng sử dụng 4G Đánh giá phản hồi từ client: Tín hiệu phản hồi nhanh chóng, xác kích thước tin nhỏ Kiểm tra tính ổn định hệ thống: Hệ thống hoạt động ổn định, hệ thống lưu thơng tin hệ thống nguồn điện, có điện trở lại hệ thống hoạt động bình thường 3.2.3 Thử nghiệm 4: Tự động bật quạt thổi khô độ ẩm cao Trong thử nghiệm này, độ ẩm khơng khí lớn 90% tự động bật quạt thổi khô quần áo Để tạo đổ ẩm 90%, sử dụng thổi nước lạnh tạo ẩm Kết thử nghiệm bảng đây: Bảng 5: Kết thử nghiệm Lần Độ ẩm (%) 93 78 75 92 Kết Quạt tự động bật Quạt không bật Quạt không bật Quạt tự động bật 48 91 Quạt tự động bật Dựa vào bảng kết cho thấy tính tự động bật quạt thổi khô độ ẩm cao hoạt động tốt Khi độ ẩm 90%, quạt tự động bật, độ ẩm nhỏ 90%, quạt không bật 49 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Sau thời gian thực đề tài tốt nghiệp hướng dẫn tận tình thầy giáo TS Phạm Duy Phong giúp đỡ thầy khoa Điện Tử Viễn Thông, em hoàn thành Đồ án tốt nghiệp, đề tài “Nghiên cứu giải pháp tự động điều khiển giàn phơi quần áo” với nội dung sau: Tìm hiểu tổng quan Arduino: Định nghĩa, lịch sử ứng dụng Arduino đời sống Tìm hiểu chi tiết Arduino Uno sử dụng đồ án Tìm hiểu chi tiết linh kiện hệ thống ESP32, LCD, Các cảm biến sử dụng Lên ý tưởng thiết kế chế tạo mơ hình Thiết kế, chế tạo thành cơng mơ hình giàn phơi thơng minh với đầy đủ tính đặt Kiểm thử hoạt động mô hình Quá trình thực đồ án giúp em nắm công việc để tiến hành xây dựng, thiết kế triển khai mẫu sản phẩm thực tế Đồng thời, cơng trình nghiên cứu giúp em củng cố lại kiến thức chuyên ngành tích lũy q trình học tập rèn luyện trường 50 TÀI LIỆU THAM KHẢO [1] https://www.slideshare.net/nataliej4/thit-k-ch-to-gin-phi-thng-minh [2] https://thuvienmuasam.com/t/gian-phoi-thong-minh-la-gi-uu-diem-ra-sao [3] Trần Thu Hà – Trương Thị Bích Ngà – Nguyễn Thị Lưỡng – Bùi Thị Tuyết Đan– Phù Thị Ngọc Hiếu, Giáo trình Điện tử bản, NXB: ĐHQG TP.HCM 2013 [4] Nguyễn Đình Phú, Giáo trình Vi điều khiển, NXB: Trường ĐHSPKT TP HCM [5] Nguyễn Đình Phú, Giáo trình Vi xử lý nâng cao, NXB: Trường ĐHSPKT TP.HCM [6] Nguyễn Đình Phú, Giáo trình Kỹ thuật số, NXB: ĐHQG TPHCM, 2013 [7] Hoàng Ngọc Văn, Giáo trình Điện tử cơng suất, Trường ĐHSPKT TP.HCM, 2007 [8] https://gianphoihoaphatchinhhang.com https://gianphoidaiviet.vn/tim-hieu-dac-diem-cua-gian-phoi-thong-minh-gantuong/ 51 PHỤ LỤC Mã code: #include #include #include #include #include #include #include // chan vi dieu khien noi voi cam bien #define DHTPIN 23 #define DHTTYPE DHT11 #define OPEN // cho quan ao phoi #define CLOSE // thu quan ao vao #define FAN_ON #define FAN_OFF #define CB_MUA 19 // cac ham giao tiep voi cam bien HardwareSerial UART(2); DHT dht(DHTPIN, DHTTYPE); LiquidCrystal_I2C lcd(0x27, 16, 2); BH1750FVI lightMeter; // ten + pass wifi + ma authen char *ssid = "iPhone"; // Ten WiFi SSID 52 char *password = "12345678901"; // Mat khau wifi char auth[] = "QYyHPcE-_3pNk2nPyz9D7tic303vyfXw"; Blynk Project // bien dung chuong trinh int lux = 0; char b_open = 0; char b_close = 0; char b_mode = 0; int status_door = 0; int status_fan = FAN_OFF; char check_status = 0; // ham nhan gia tri nut bam tren blynk BLYNK_WRITE(V0) { b_open = param.asInt(); } BLYNK_WRITE(V1) { b_close = param.asInt(); } BLYNK_WRITE(V3) { b_mode = param.asInt(); } 53 //AuthToken copy // setup void setup() { UART.begin(9600); lcd.begin(); lcd.backlight(); lcd.setCursor(4, 0); lcd.print("Welcome!"); pinMode(CB_MUA, INPUT); Wire.begin(); lightMeter.begin(); lightMeter.setMode(Continuously_High_Resolution_Mode); dht.begin(); Blynk.begin(auth, ssid, password); } void loop() { char mua = digitalRead(CB_MUA); lux = lightMeter.getAmbientLight(); int temp = dht.readTemperature(); int humi = dht.readHumidity(); Blynk.virtualWrite(V6, temp); Blynk.virtualWrite(V5, humi); Blynk.virtualWrite(V7, lux); lcd.setCursor(0, 0); lcd.print("T: "); lcd.print(temp); lcd.print("\337C "); 54 lcd.print("H: "); lcd.print(humi); lcd.print("%"); lcd.setCursor(4, 1); lcd.print("L: "); lcd.print(lux); lcd.print("lux "); if (b_mode == 1) // bat mode auto { // troi nang,khong mua if ((lux > 50) && (mua == 1) && (check_status == 1)) { status_door = OPEN; check_status = 0; } // troi toi if ( (lux < 10) && (check_status == 0)) { status_door = CLOSE; check_status = 1; } // troi mua if ( (mua == 0) && (check_status == 0)) { status_door = CLOSE; check_status = 1; } 55 // quan ao da duoc thu vao, am cao if ( (humi > 90) && (check_status == 1)) { status_fan = FAN_ON; } else { status_fan = FAN_OFF; } } else { if ( (b_open == 1) && (check_status == 1)) { status_door = OPEN; Blynk.virtualWrite(V0, 0); b_open = 0; check_status = 0; } else if ( (b_close == 1) && (check_status == 0)) { status_door = CLOSE; Blynk.virtualWrite(V1, 0); b_close = 0; check_status = 1; } else { 56 } } if (status_door == OPEN) { lcd.clear(); lcd.setCursor(4, 0); lcd.print("Thu vao"); uart_send(status_door); status_door = 0; } else if (status_door == CLOSE) { lcd.clear(); lcd.setCursor(4, 0); lcd.print("Phoi ra"); uart_send(status_door); status_door = 0; } else {} if(status_fan == FAN_ON){ uart_send(status_fan); }else if(status_fan == FAN_OFF){ uart_send(status_fan); }else {} Blynk.run(); } void uart_send(int mode){ if(mode == OPEN){ 57 UART.write("D1"); }else if(mode == CLOSE){ UART.write("D0"); }else{} if(mode == FAN_ON){ UART.write("F1"); }else if(mode == FAN_OFF){ UART.write("F0"); }else{} } 58