Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 95 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
95
Dung lượng
4,78 MB
Nội dung
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC o0o 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 Tp HCM, ngày 17 tháng năm 2020 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Vũ Viết Quyết MSSV: 16141249 Nguyễn Minh Trí MSSV: 16141312 Chuyên ngành: Kỹ thuật Điện - Điện tử Mã ngành: 141 Hệ đào tạo: Đại học quy Mã hệ: Khóa: 2016 Lớp: 16141DT Họ tên sinh viên: I TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CƠNG HỆ THỐNG CHĂM SĨC HỒ THỦY SINH TỰ ĐỘNG VÀ ĐƯỢC GIÁM SÁT TỪ XA II NHIỆM VỤ Nội dung thực hiện: - Đọc tài liệu, đồ án tốt nghiệp, đề tài - Tìm hiểu cách thức hoạt động cảm biến sử dụng - Tìm hiểu chuẩn truyền thông UART, I2C - Thiết kế giao diện để giám sát: Web giám sát liệu đo từ cảm biến - Thiết kế thi cơng mơ hình hồ thủy sinh - Tính tốn thông số quy đổi cho cảm biến - Viết chương trình điều khiển cho Arduino, ESP8276, nạp code chạy thử nghiệm sản phẩm, chỉnh sửa hoàn thiện hệ thống - Thực viết sách luận văn báo cáo - Tiến hành báo cáo đề tài tốt nghiệp III NGÀY GIAO NHIỆM VỤ: 17/03/2020 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 03/08/2020 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: CÁN BỘ HƯỚNG DẪN TS Trần Vi Đô BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH i TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y ĐỘC LẬP - TỰ DO - HẠNH PHÚC SINH o0o -Tp HCM, ngày 17 tháng năm 2020 LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Vũ Viết Quyết Lớp: 16141DT2 MSSV:16141249 Họ tên sinh viên 2: Nguyễn Minh Trí Lớp: 16141DT1 MSSV: 16141312 Tên đề tài: THIẾT KẾ VÀ THI CƠNG HỆ THỐNG CHĂM SĨC HỒ THỦY SINH TỰ ĐỘNG VÀ ĐƯỢC GIÁM SÁT TỪ XA Tuần/ngày Nội dung Tuần (18/02 - 24/02) Gặp gỡ GVHD trao đổi đề tài tốt nghiệp Tuần 2,3 (25/02 10/03) Tìm hiểu đề tài nghiên cứu có liên quan Tuần (11/03 - 17/03) Tìm hiểu chuẩn giao tiếp sử dụng đề tài Tuần 5, 6, (11/03 – 07/04) Xác nhận GVHD Viết code arduino chạy thử nghiệm số cảm biến liên quan đến đề tài Báo cáo tiến độ với GVHD Tuần (08/04 - 14/04) Viết báo cáo chương 1, báo cáo tiến độ với GVHD ii Tuần (15/04 – 21/04) Tuần 10, 11, 12, 13 (22/04 - 19/05) Giao tiếp với module wifi với Arduino Thiết kế mạch nguyên lý Làm mạch thử nghiệm test board Tuần 14 (20/05 - 26/05) Thiết kế mạch PCB Báo cáo tiến độ với GVHD Tuần 15, 16, 17 (27/05 – 16/06) Tạo sở liệu Thiết kế website Tuần 18 (17/06 – 22/06) Giao tiếp module wifi với Internet tiến hành gửi liệu lên web Báo cáo tiến độ với GVHD Tuần 19 ,20 (23/06 – 06/07) Thi cơng mơ hình Báo cáo tiến độ với GVHD Tuần 21, 22 (07/07 – 20/07) Tổng hợp code toàn mạch Kiểm tra chỉnh sửa toàn mạch Tuần 23 (21/07 – 27/07) Hoàn thành báo cáo Gặp GVHD để báo cáo tiến độ Tuần 24 (28/07 – 03/08) Chỉnh sửa hoàn thành toàn báo cáo GV HƯỚNG DẪN (Ký ghi rõ họ tên) iii LỜI CAM ĐOAN Đề tài tự 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 có trước Người thực đề tài Vũ Viết Quyết Nguyễn Minh Trí iv LỜI CẢM ƠN Lời đầu tiên, chúng em xin gửi lời cảm ơn sâu sắc tới thầy cô giáo Bộ mơn Điện Tử Cơng Nghiệp – Y Sinh nói riêng thầy cô giáo Khoa Điện – Điện Tử nói chung Các thầy nhiệt tình giúp đỡ chúng em kiến thức liên quan tới lĩnh vực nghiên cứu đề tài thời gian thực đề tài, kiến thức mà thầy cô truyền đạt cho chúng em suốt thời gian học tập trường Xin gửi lời cảm ơn chân thành đến giáo viên hướng dẫn TS Trần Vi Đơ tận tình hướng dẫn, giúp đỡ, cung cấp kiến thức quan trọng tạo điều kiện thuận lợi thời gian thực đề tài Chúng em gửi lời cảm ơn ba mẹ người thân đồng hành động viên suốt trình thực đề tài Chúng em gửi lời đồng cảm ơn đến bạn lớp 16141DT chia sẻ trao đổi kiến thức kinh nghiệm quý báu trình thực đề tài Xin chân thành cảm ơn! Người thực đề tài Vũ Viết Quyết Nguyễn Minh Trí v MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN iv v MỤC LỤC vi LIỆT KÊ HÌNH VẼ viii TÓM TẮT xi 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 QUY TRÌNH LÀM MỘT HỒ THỦY SINH 2.1.1 Giới thiệu hồ thủy sinh 2.1.2 Các bước làm hồ thủy sinh 2.1.3 Điều kiện cần đủ để có hồ thủy sinh đẹp 2.1.4 Một số loại động vật thủy sinh nuôi trồng 2.1.5 Mơ tả quy trình chăm sóc tự động 2.1.6 Quy trình hoạt động hệ thống 2.2 GIỚI THIỆU PHẦN CỨNG 10 2.2.1 Cảm biến hiển thị 10 2.2.2 Vi điều khiển 17 2.2.3 Thiết bị công suất 21 2.2.4 Cơ sở liệu 27 2.2.5 Các giao thức 27 2.2.6 Phần mềm ngôn ngữ lập trình 31 Chương TÍNH TỐN VÀ THIẾT KẾ 34 3.1 GIỚI THIỆU 34 3.2 TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG 34 3.2.1 Thiết kế sơ đồ khối hệ thống 34 3.2.2 Tính toán thiết kế mạch 35 3.2.3 Sơ đồ nguyên lý toàn mạch 45 3.3 Lập trình hệ thống 47 3.3.1 Lưu đồ giải thuật vi điều khiển Arduino Mega 2560 47 vi 3.3.2 Lưu đồ giải thuật vi điều khiển ESP8266 53 Chương THI CÔNG HỆ THỐNG 60 4.1 GIỚI THIỆU 60 4.2 THI CÔNG HỆ THỐNG 60 4.2.1 Thi công bo mạch 60 4.2.2 Lắp ráp kiểm tra bo mạch 62 4.3 ĐÓNG GÓI VÀ THI CƠNG MƠ HÌNH 63 4.3.1 Đóng gói điều khiển 64 4.3.2 Thi cơng mơ hình 64 4.4 THIẾT KẾ WEBSITE 66 4.5 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC 70 Chương KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 72 5.1 KẾT QUẢ THỰC TẾ 72 5.2 ĐÁNH GIÁ HOẠT ĐỘNG CỦA HỆ THỐNG Hệ thống có thể: 74 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 75 6.1 KẾT LUẬN 75 6.2 HƯỚNG PHÁT TRIỂN 75 TÀI LIỆU THAM KHẢO 76 PHỤ LỤC 77 vii LIỆT KÊ HÌNH VẼ Hình 2-1 Hồ thủy sinh Hình 2-2 Mơ hình lắp đặt hồ thủy sinh Hình 2-3 Dương sỉ Thors Hammer Hình 2-4 Rong tiểu bảo tháp Hình 2-5 Cá Tỳ Bà Bướm Hình 2-6 Tép đỏ SRC Hình 2-7 Cảm biến nhiệt độ DS18B20 10 Hình 2-8 Cảm Biến độ đục nước Water Turbidity Sensor DFRobot 12 Hình 2-9 Máy Đo Độ Đục Tiêu Chuẩn ISO HI98703-2 13 Hình 2-10 Mẫu thử độ đục 13 Hình 2-11 Cảm biến mực nước XKC-Y26-NPN 14 Hình 2-12: Ảnh minh họa LCD20x4 15 Hình 2-13 Sơ đồ giao tiếp I2C 16 Hình 2-14 Kết nối I2C với LCD 16 Hình 2-15 Sơ đồ chân cảu ESP8266 Node MCU 18 Hình 2-16 Board Arduino Mega 2560 R3 20 Hình 2-17 Sơ đồ chân Arduino Mega 2560 R3 21 Hình 2-18 Máy lọc thác ZY-003 21 Hình 2-19 Đèn led kẹp 22 Hình 2-20 Máy bơm MB-AC25CD 23 Hình 2-21 Quạt tản nhiệt nước 23 Hình 2-22 Động Servo 24 Hình 2-23 Module Relay 25 Hình 2-24 Module Dimmer DR20 26 Hình 2-25 Sơ đồ nguyên lý Module Dimmer DR20 26 Hình 2-26 Nút nhấn nhả 12mm 27 Hình 2-27 Cơ sở liệu MySQL hiển thị cơng cụ phpMyAdmin 27 Hình 2-28 Sơ đồ truyền UART 28 Hình 2-29 Kết nối UART 29 Hình 2-30 Wifi kết nối 29 viii Hình 2-31: Mơ hình tầng TCP / IP 30 Hình 2-32 Cửa sổ làm việc phần mềm Arduino IDE 31 Hình 2-33 Trang chủ download phần mềm Xampp 32 Hình 3-1 Sơ đồ khối hệ thống 34 Hình 3-2 Sơ đồ chân Arduino Mega 2560 36 Hình 3-3 Sơ đồ chân ESP8266 36 Hình 3-4 Trình quản lý hosting 37 Hình 3-5 Tạo Database mới, bảng tùy chỉnh thơng số 37 Hình 3-6 Bảng đăng nhập sau tạo 38 Hình 3-7 Bảng data sau tạo 38 Hình 3-8 Cửa sổ SQL để thực lệnh Database 39 Hình 3-9 Sơ đồ kết nối module cảm biến với Arduino Mega 2560 41 Hình 3-10 Sơ đồ nguyên lý Dimer 41 Hình 3-11 Sơ đồ chân Opto 42 Hình 3-12: Sơ đồ nguyên lý module Relay có opto cách ly 43 Hình 3-13 Adapter 5VDC – 4A 44 Hình 3-14 Sơ đồ nguyên lý hệ thống 45 Hình 3-15 Lưu đồ giải thuật chương trình Arduino Mega 2560 47 Hình 3-16 Lưu đồ giải thuật chương trình nhận liệu từ ESP 48 Hình 3-17 Lưu đồ giải thuật chương trình cảm biến nhiệt độ, độ đục 49 Hình 3-18 Lưu đồ giải thuật chương trình gửi liệu ESP 49 Hình 3-19 Lưu đồ giải thuật chương trình điều khiển cho ăn 50 Hình 3-20 Lưu đồ giải thuật chương trình điều khiển thay nước 51 Hình 3-21 Lưu đồ giải thuật chương trình điều khiển bật tắt đèn 52 Hình 3-22 Lưu đồ giải thuật chương trình điều khiển bật tắt quạt 53 Hình 3-23 Lưu đồ giải thuật chương trình ESP8266 54 Hình 3-24 Lưu đồ giải thuật chương trình kết nối Wifi 54 Hình 3-25 Lưu đồ giải thuật chương trình cập nhật thời gian 55 Hình 3-26 Lưu đồ giải thuật chương trình chỉnh thời gian cài đặt .56 Hình 3-27 Lưu đồ giải thuật chương trình nhận liệu 57 Hình 3-28 Lưu đồ giải thuật chương trình gửi liệu tới Arduino 58 ix Hình 3-29 Lưu đồ giải thuật chương trình gửi liệu lên web 59 Hình 4-1 Lớp PCB tồn mạch 61 Hình 4-2 Lớp PCB sau hàn mạch 62 Hình 4-3 Lắp đặt linh kiên sau hàn mạch 63 Hình 4-4 Mặt trước, sau hộp điều khiển 63 Hình 4-5 Mặt trước hộp điều khiển thực tế 64 Hình 4-6 Mặt trước mơ hình thực tế 64 Hình 4-7 Mặt sau mơ hình thực tế 65 Hình 4-8 Mặt mơ hình thực tế 65 Hình 4-9 Cửa sổ đăng nhập 66 Hình 4-10 Cửa sổ đăng ký tài khoản 67 Hình 4-11 Cửa sổ sau đăng nhập với quyền Admin 67 Hình 4-12: Cửa sổ hiển thị liệu với quyền Admin 68 Hình 4-13 Cửa sổ xóa liệu với quyền Admin 68 Hình 4-14 Cửa sổ hiển thị liệu với quyền Admin sau xóa liệu 69 Hình 4-15 Cửa sổ sau đăng nhập với quyền bình thường 69 Hình 4-16 Cửa sổ hiển thị liệu với quyền bình thường 70 Hình 4-17 Cửa sổ làm việc phần mềm Xampp 71 Hình 4-18 Khởi chạy chương trình Apache MySQL 71 Hình 5-1 Kết sau thi công 72 Hình 5-2 Kết hiển thị LCD mơ hình 72 Hình 5-3 Kết hiển thị Website 73 Hình 5-4 Kết thực điều chỉnh chế độ cài đặt thời gian .73 LIỆT KÊ BẢNG Bảng 2.1: So sánh thông số ESP-01, ESP-12E Node MCU, Wemos D1 Mini 18 Bảng 2.2: Chức chi tiết chân Board ESP-12E Node MCU: .19 Bảng 3.1: Dòng điện điện áp làm việc linh kiện 44 Bảng 4.1: Danh sách linh kiện 60 x Chương KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 4-12 Cửa sổ hiển thị liệu với quyền Admin Cửa sổ hiển thị thông tin nhiệt độ, độ đục, thời gian, ngày tháng với quyền đăng nhập Admin Cửa sổ có nút xóa liệu Hình 4-13 Cửa sổ xóa liệu với quyền Admin Cửa sổ cảnh báo xóa liệu Nếu muốn xóa nhấn nút “đồng ý”, cịn muốn đổi ý khơng xóa nhấn nút cancel BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 68 Chương KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 4-14 Cửa sổ hiển thị liệu với quyền Admin sau xóa liệu Cửa sổ hiển thị thơng tin nhiệt độ, độ đục, thời gian, ngày tháng với quyền đăng nhập Admin Cửa sổ có nút xóa liệu Hình 4-15 Cửa sổ sau đăng nhập với quyền bình thường Cửa số chứa hình ảnh, họ tên, mã số sinh viên số điện thoại nhóm phát triển BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 69 Chương KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 4-16 Cửa sổ hiển thị liệu với quyền bình thường Cửa sổ hiển thị thông tin nhiệt độ, độ đục, thời gian, ngày tháng với quyền đăng nhập bình thường Cửa sổ khơng có nút xóa liệu Nên khơng thể xóa liệu mà có quyền xem liệu 4.5 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, THAO TÁC Bước 1: Cấp nguồn cho hệ thống, hệ thống sử dụng nguồn 220V AC Adapter 5VDC - 4A cấp nguồn cho mạch điều khiển Adapter 12VDC - 1A cấp nguồn cho quạt Nguồn 220VAC cấp nguồn cho máy lọc nước, bơm, đèn Bước 2: Chọn chế độ cài đặt thời gian hoạt động hệ thống, thông qua nút nhấn màu xanh: Nút CD, THỨ, GIỜ, PHÚT Reset lại mạch nút RST màu đỏ Bước 3: Hệ thống tự động khởi tạo giá trị nhiệt độ, độ đục, thời giant hu thập hiển thị kết LCD 20x4 liên tục – kể từ cấp nguồn Bước 4: Trên laptop kết nối wifi, mở phần mềm Xampp Control Panel, bấm nút Start hai chức Apache MySQL để khởi tạo localhost (chạy thành công hiển thị màu xanh lục) truy cập đường dẫn: http://localhost/hothuysinh/baocao.php để truy cập vào trang Web giám sát kết BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 70 Chương KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 4-17 Cửa sổ làm việc phần mềm Xampp Hình 4-18 Khởi chạy chương trình Apache MySQL Bước 5: Đăng nhập tài khoản, khơng có tạo Lưu ý có loại tài khoản Quyền Admin: có quyền xem xóa liệu Web Quyền bình thường: có quyền xem liệu BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP – Y SINH 71 Chương KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Chương KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 5.1 KẾT QUẢ THỰC TẾ Hình 5-1 Kết sau thi cơng Sau tiến hành thực nghiệm, kết trình bày chi tiết sau: Hình 5-2 Kết hiển thị LCD mơ hình BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 72 Chương KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Hình 5-3 Kết hiển thị Website Hình 5-4 Kết thực điều chỉnh chế độ cài đặt thời gian BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 73 Chương KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 5.2 ĐÁNH GIÁ HOẠT ĐỘNG CỦA HỆ THỐNG Hệ thống có thể: • Hiển thị giá trị nhiệt độ, độ đục, thời gian, chế độ làm việc giá trị thời gian cài đặt liên tục LCD • Có thể điều chỉnh thời gian thực cơng việc • Cập nhật giá trị nhiệt độ, độ đục liên tục sau 30 giây Website • Hệ thống hoạt động tương đối ổn định • Mơ hình dễ sử dụng, thay linh kiện dễ dàng • Website xây dựng tương đối hoàn chỉnh • Độ trễ nhỏ khoảng giây so với thực Mạch hoạt động ổn nhiều trường hợp đôi lúc xảy lỗi kết nối liệu từ mơ hình lên Web yếu tố mạng liệu không ổn định Trong lúc đưa liệu lên Web, khoảng giây cài đặt chế độ, chỉnh thời gian cài đặt hiển thị thời gian Tuy nhiên, sau thời gian hệ thống hoạt động bình thường Trong lúc hoạt động, nhiều module hoạt động lúc xẩy tượng nhiễu mau chóng trở lại bình thường khơng ảnh hưởng q lớn tới việc sóc hồ BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 74 Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 KẾT LUẬN Từ mục tiêu ban đầu mà nhóm đặt ra, nhóm tiến hành tham khảo tài liệu dựa vào kiến thức cần thiết liên quan Cuối cùng, thiết kế thi cơng “Hệ thống chăm sóc hồ thủy sinh tự động giám sát từ xa” Hệ thống hoạt động tương đối ổn định đáp ứng mục tiêu đặt ban đầu đề tài Hệ thống giám sát nhiệt độ, độ đục nước thơng qua hình LCD website Dựa vào giá trị nhiệt độ, độ đục nước mà hệ thống xử lý bật tắt quạt làm mát, thay nước cho hồ cách tự động Hệ thống thay đổi thời gian cho động vật hồ ăn, thay đổi thời gian chiếu sáng Tuy nhiên, hệ thống hoạt động mức tương đối ổn định cịn sai số dư liệu nhiệt độ đo so với nhiệt độ thực tế Q trình truyền tải thơng tin liệu đo từ hồ thủy sinh lên Web đôi lúc không gửi mong muốn mạng liệu sử dụng không ổn định, chập chờn Đôi khi, hệ thống bị nhiễu ảnh hưởng tới kết cảm biến đo đạc nhanh trở trạng thái bình thường Độ trễ liệu tương đối nhỏ tốc độ giao tiếp vi điều khiển chưa đủ nhanh 6.2 HƯỚNG PHÁT TRIỂN Cải tiến thêm hệ thống chống nhiễu cho mạch Đồng thời, hồn tồn mở rộng hệ thống lên với qui mô chức lớn cách thêm cảm biến với mục đích nhu cầu người sử dụng cần Hệ thống giám sát phát triển thêm chức giám sát, điều khiển cảnh báo thông qua điện thoại thơng minh Có thể sử dụng website có tên miền database mở để đâu giám sát hồ thủy sinh BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 75 PHỤ LỤC TÀI LIỆU THAM KHẢO Tài liệu tham khảo [1] https://thuysinhaz.com/bai-huong-dan-tu-den-z-cho-nguoi-moi-bat-dau-choi-thuy- sinh/ [2] Tiêu chuẩn quốc gia TCVN 6184:2008 (ISO 7027: 1999) Chất lượng nước - Xác định độ đục (https://vanbanphapluat.co/tcvn-6184-2008-chat-luong-nuoc-xac-dinh-doduc) [3,7,9] Báo cáo đề tài: cảm biến đo nhịp tim giám sát qua internet Môn điều khiển thông minh nhóm NO NAME năm học 2018- 2019 [4,5] Nguyễn Văn An Hồ Thanh Hùng, “Thiết Kế Thi Công Nhà Thông Minh Dùng Vi Điều Khiển”, Đồ Án Tốt Nghiệp ĐH, Trường ĐH Sư Phạm Kỹ Thuật Tp.HCM, 2015 [6] [8] https://hostingviet.vn/co-so-du-lieu-database-la-gi https://internetviettel.vn/tim-hieu-ve-wifi-cach-hoat-dong-cua-wifi.html [10,11] https://linhkiendientu3m.wordpress.com/2019/12/07/arduino-ide-la-gi/ [12] https://wiki.matbao.net/xampp-la-gi-cach-cai-dat-va-su-dung-xampptren-windows-va-linux/ BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 76 PHỤ LỤC PHỤ LỤC Code chương trình Arduino Mega 2560 void setup() { Serial.begin(9600); sensors.begin(); } void loop() { nhandulieu_from_esp(); cam_bien_nhiet_do_do_duc(); gui_du_lieu_to_ESP(); dieu_khien_cho_an(); dieu_khien_thay_nuoc(); dieu_khien_bat_tat_den(); dieu_khien_bat_tat_quat(); } void cam_bien_nhiet_do_do_duc() { sensors.requestTemperatures(); Temp = sensors.getTempCByIndex(0); nhandulieu_doduc(); if (newdata2 == true) { NTU = atof(receivedChars2); // chuyen chuoi so float co dau newdata2 = false; } } Code chương trình ESP8266 //=============Phan SETUP=============================== void setup() { Serial.begin(9600); connectWifi(); timeClient.begin(); //Khoi chay lay thoi gian tu NTP timeClient.setTimeOffset(25200); getThoigian(); updateTimeLCD(); timer_updateTime.setInterval(1000, updateTime); lcd.init(); lcd.backlight(); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 77 PHỤ LỤC thu2=0; gio1 = 0; gio2 = 0; gio3 = 0; gio4 = 0; phut1 = 0; phut2 = 0; phut3 = 0; phut4 = 0; } //============Phan chuong trinh chinh========================= void loop() { timer_updateTime.run(); chinh_thoi_gian(); nhan_du_lieu(); gui_time_to_mega(); gui_du_lieu_len_web(); } Code chương trình hàm ESP8266 void gui_time_to_mega() { if ((gio == gio1) and (phut == phut1) and (giay == 00)) { Serial.println(); Serial.print(""); // CHO ĂN } if ( (thu == thu2) and (gio == gio2) and (phut == phut2) and (giay == 00)) { Serial.println(); Serial.print(""); // CHO ĂN TÙY CHỌN } if ((gio == gio3) and (phut == phut3) and (giay == 0)) { Serial.println(); Serial.print("[C]"); // BẬT ĐÈN } if ((gio == gio4) and (phut == phut4) and (giay == 0)) { Serial.println(); Serial.print("[D]"); // TẮT ĐÈN } } void gui_du_lieu_len_web() { HTTPClient http; String send_Data = "?nhiet_do=" + (String)nhiet_do + "&do_duc=" + (String)do_duc; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 78 PHỤ LỤC String httpAddress = "http://192.168.43.190/hothuysinh/InsertDB.php" + send_Data; http.begin(httpAddress); if (millis() - timer >= 30000) { Serial.println(httpAddress); timer += 30000 ; int httpCode = http.GET(); // lấy liệu từ biến postData gửi lên web String payload = http.getString(); // nhận phản hồi Serial.print(httpCode == 200 ? "POST thành công: " : "POST thất bại: "); } http.end(); // kết thúc phần liên kết web } void connectWifi() { WiFi.begin("Mi", "88888888"); Serial.println("Connecting"); while (WiFi.status() != WL_CONNECTED) { digitalWrite(2, LOW); delay(250); Serial.print("."); digitalWrite(2, HIGH); delay(250); } digitalWrite(2, HIGH); Serial.println("WiFi kết nối!"); } Code chương trình hàm ESP8266 void getThoigian() { while (!timeClient.update()) { timeClient.forceUpdate(); } gio = timeClient.getHours(); phut = timeClient.getMinutes(); giay = timeClient.getSeconds(); Serial.println(); Serial.printf("%02d:%02d:%02d", gio, phut, giay); thu = timeClient.getDay(); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH 79 PHỤ LỤC unsigned long epochTime = timeClient.getEpochTime(); struct tm *ptm = gmtime ((time_t *)&epochTime); = ptm->tm_mday; thang = ptm->tm_mon + 1; //1 >11; nam = ptm->tm_year + 1900; Serial.println(); Serial.printf("Thu %0d, Ngay %02d Thang %02d Nam %d", thu, ngay, thang, nam); } Code chương trình đưa liệu vào Database