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
5,87 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 ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT Y SINH THIẾT KẾ VÀ THI CƠNG VỊNG ĐEO TAY THEO DÕI NHIỆT ĐỘ CƠ THỂ, GỬI CẢNH BÁO VỀ ĐIỆN THOẠI GVHD:Nguyễn Thanh Hải SVTT:Phan Thị Mỹ Loan MSSV:16129034 SVTT:Phạm Thị Diễm My MSSV:16129039 SKL 0 3 Tp Hồ Chí Minh, tháng 08/2020 an BỘ GIÁO DỤC & ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HỒ CHÍ MINH KHOA ĐIỆN – ĐIỆN TỬ BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH ĐỒ ÁN TỐT NGHIỆP NGÀNH KỸ THUẬT Y SINH ĐỀ TÀI: THIẾT KẾ VÀ THI CƠNG VỊNG ĐEO TAY THEO DÕI NHIỆT ĐỘ CƠ THỂ, GỬI CẢNH BÁO VỀ ĐIỆN THOẠI GVHD: PGS TS Nguyễn Thanh Hải SVTH: Phan Thị Mỹ Loan Phạm Thị Diễm My Tp Hồ Chí Minh – 08/2020 an 16129034 16129039 TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o -Tp HCM, ngày 02 tháng 08 năm 2020 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Phan Thị Mỹ Loan MSSV: 16129034 Phạm Thị Diễm My MSSV: 16129039 Chuyên ngành: Kỹ thuật Y sinh Mã ngành: 29 Hệ đào tạo: Đại học quy Mã hệ: Khóa: 2016 Lớp: 161290 I TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CƠNG VỊNG ĐEO TAY THEO DÕI NHIỆT ĐỘ CƠ THỂ, GỬI CẢNH BÁO VỀ ĐIỆN THOẠI II NHIỆM VỤ Các số liệu ban đầu: Trước thực đề tài, nhóm tham khảo đọc tài liệu sau để có số liệu ban đầu: - Nguyễn Bá Tòng, Nguyễn Đặng Quốc Anh, Nguyễn Duy Hiển, “Thiết kế mơ hình tự động đo nhịp tim nhiệt độ thể người”, Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ Đại học Đà Nẵng năm 2012 - Nguyễn Thanh Hoàng, Nguyễn Khoa Nam, “Thiết kế thi cơng vịng tay đo nhịp tim sử dụng công nghệ IoTs”, Đồ Án Tốt Nghiệp, Trường ĐH Sư Phạm Kỹ Thuật TP.HCM, 2019 Nội dung thực hiện: - Tìm hiểu hoạt động Wemos D1 Mini ESP8266, cách lập trình gửi liệu lên Web - Tìm hiểu lập trình Arduino - Xây dựng sơ đồ khối - Xây dựng sơ đồ nguyên lý ii an - Lựa chọn linh kiện - Thiết kế mạch nhận tín hiệu nhiệt độ - Xây dựng thuật tốn thu phát tín hiệu tới người dùng Ubidots - Lập trình cảnh báo nhiệt tới người dùng - Mô mạch - Layout thi công mạch - Đánh giá nhận xét kết thực - Làm slide báo cáo - Viết báo cáo đề tài III NGÀY GIAO NHIỆM VỤ: 09/03/2020 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 18/08/2020 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: PGS TS Nguyễn Thanh Hải CÁN BỘ HƯỚNG DẪN BM ĐIỆN TỬ CÔNG NGHIỆP – Y SINH iii an TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM KHOA ĐIỆN-ĐIỆN TỬ ĐỘC LẬP - TỰ DO - HẠNH PHÚC BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP – Y SINH o0o -Tp HCM, ngày 16 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: Phan Thị Mỹ Loan Lớp: 161290B MSSV: 16129034 Họ tên sinh viên 2: Phạm Thị Diễm My Lớp: 161290C MSSV: 16129039 Tên đề tài: Thiết kế thi cơng vịng đeo tay theo dõi nhiệt độ thể, gửi cảnh báo điện thoại Tuần/ngày Nội dung Tuần (9/3 – 15/3) Gặp GVHD nghe phổ biến yêu cầu làm đồ án, tiến hành chọn đề tài, GVHD xét duyệt đề tài Tuần (16/3 – 22/3) Viết đề cương tóm tắt nội dung đồ án Tuần (23/3 – 29/3) Tìm hiểu lý thuyết nhiệt độ thể Tìm hiểu Module Wemos D1 Mini ESP8266 Tuần (30/3 – 5/4) Tìm hiểu cảm biến nhiệt độ, nguyên lý đo nhiệt độ Nghiên cứu cách lập trình gửi liệu lên Web Tuần (6/4 – 12/4) Xây dựng sơ đồ khối hệ thống, chức khối Tìm hiểu cách sử dụng Ubidots Tuần (13/4 – 19/4) Thiết kế sơ đồ mạch, giải thích nguyên lý hoạt động Tuần (20/4 – 26/4) Tính tốn lựa chọn linh kiện cho mạch Vẽ PCB Tuần (27/4 – 3/5) Tiến hành lập trình phần cứng Tuần 9, 10 (4/5 – 17/5) Tiến hành thi công mạch Kiểm tra mạch thi công Tuần 11 (18/5 – 24/5) Lập trình gửi liệu hiển thị lên Web Tìm hiểu nghiên cứu cách sử dụng Ubidots Xác nhận GVHD mạch iv an Tuần 12 (25/5 – 31/5) Lập trình cài đặt ngưỡng nhiệt độ cảnh báo cho Buzzer Tìm hiểu cài đặt ngưỡng cảnh báo SMS Gmail thông qua Ubidots Tuần 13 (1/6 – 7/6) Nghiên cứu cách gửi SMS Gmail cảnh báo Tuần 14, 15 (8/6 – 21/6) Kết hợp phần cứng phần mềm Cải tiến hồn thiện chương trình lập trình Tuần 16 (22/6 – 28/6) Chạy thử nghiệm thiết bị Thiết kế mơ hình cho sản phẩm Tuần 17 (29/6 – 5/7) Đóng gói mơ hình cho sản phẩm So sánh kết với thiết bị khác Tuần 18, 19 (6/7 – 26/7) Viết báo cáo đề tài Tuần 20 (27/7 – 2/8) Hoàn thiện báo cáo gởi cho GVHD để xem xét góp Tuần 21, 22 (3/8 – 18/8) Thiết kế slide báo cáo Nộp báo cáo báo cáo đề tài ý trước nộp báo cáo GV HƯỚNG DẪN (Ký ghi rõ họ tên) PGS TS Nguyễn Thanh Hải v an LỜI CAM ĐOAN Đề tài nhóm tự thực dựa vào hướng dẫn PGS TS Nguyễn Thanh Hải số tài liệu, khơng chép từ tài liệu hay cơng trình có trước Nếu có gian lận nào, nhóm xin chịu hồn tồn trách nhiệm Sinh viên thực đề tài Phan Thị Mỹ Loan Phạm Thị Diễm My vi an LỜI CẢM ƠN Sau thời gian thực hiện, nhóm hồn thành đề tài “Thiết kế thi cơng vịng đeo tay theo dõi nhiệt độ, gửi cảnh báo điện thoại” Để có thành trên, ngồi cố gắng thành viên nhóm, nhóm em xin gửi lời cảm ơn chân thành đến PGS TS Nguyễn Thanh Hải – Giảng viên môn Điện tử Công nghiệp – Y Sinh tận tình hướng dẫn giúp đỡ, tạo điều kiện để nhóm hồn thành tốt đề tài Nhóm xin gửi lời cảm ơn đến đội ngũ Giảng viên trường Đại học Sư phạm Kỹ thuật Tp.HCM, đặc biệt Qúy thầy cô khoa Điện – Điện tử truyền đạt kiến thức môn đại cương chun mơn giúp nhóm có kiến thức bổ ích sở vững vàng để áp dụng vào đề tài này, đồng thời tảng cho tương lai sau chúng em Đồng thời, nhóm xin cảm ơn anh chị khóa trước tập thể lớp 161290 nhiệt tình giúp đỡ, từ tài liệu liên quan đến đề tài đến việc đóng góp ý kiến chia sẻ kinh nghiệm Cảm ơn gia đình, người thân bạn bè giúp đỡ, động viên nguồn động lực tinh thần lớn, tạo cho chúng em điều kiện tốt suốt trình học tập hồn thành Đồ án Tốt nghiệp Trong q trình thực hiện, kiến thức cịn hạn chế nên khơng thể tránh khỏi sai sót Rất mong nhận góp ý Q thầy bạn để đề tài hoàn thiện Xin chân thành cảm ơn! Sinh viên thực đề tài Phan Thị Mỹ Loan Phạm Thị Diễm My vii an MỤC LỤC Trang bìa i Nhiệm vụ đồ án ii Lịch trình thực đồ án tốt nghiệp iv Lời cam đoan vi Lời cảm ơn vii Mục lục vi Liệt kê hình vẽ x Liệt kê bảng xii Tóm tắt xiii 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 .3 CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Tìm hiểu thân nhiệt 2.2 Các phương pháp đo nhiệt độ 2.3 Lý thuyết nhiệt điện trở .6 2.3.1 Lý thuyết nhiệt điện trở 2.3.2 Phân loại nhiệt điện trở 2.4 Mơ tả q trình hoạt động 2.5 Giới thiệu công nghệ thực 10 2.5.1 Giao thức MQTT 10 2.5.2 Tìm hiểu Ubidots 15 2.5.3 Cấu hình Wifi SmartConfig 18 2.6 GIỚI THIỆU PHẦN CỨNG 22 2.6.1 Module Wemos D1 Mini ESP8266 .22 2.6.2 Mạch Sạc Lithium Micro ESP8266 D1 Mini 1A 24 2.6.3 Cảm biến nhiệt độ bề mặt da YSI700 24 2.6.4 Màn hình Oled SSD1306 .25 viii an 2.6.5 Buzzer 26 2.6.6 Pin Lipo .27 CHƯƠNG TÍNH TỐN THIẾT KẾ 28 3.1 Giới thiệu 28 3.2 Tính tốn thiết kế hệ thống 28 3.2.1 Thiết kế sơ đồ khối hệ thống .28 3.2.2 Tính toán thiết kế khối 30 3.2.3 Sơ đồ nguyên lý toàn mạch 35 CHƯƠNG THI CÔNG HỆ THỐNG 36 4.1 Giới thiệu 36 4.2 Thi công hệ thống 36 4.2.1 Thi công Board mạch 36 4.2.2 Lắp ráp kiểm tra .40 4.3 đóng gói thi cơng mơ hình 41 4.4 Lập trình hệ thống 44 4.4.1 Giới thiệu phần mềm lập trình .44 4.4.2 Lưu đồ giải thuật 46 4.5 Viết tài liệu hướng dẫn sử dụng, thao tác 51 4.5.1 Tài liệu hướng dẫn sử dụng 51 4.5.2 Quy trình thao tác 55 CHƯƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 56 5.1 Kết 56 5.1.1 Kết thiết bị .56 5.1.2 Kết hiển thị Web 59 5.1.3 Kết chạy thực tế 61 5.2 Nhận xét đánh giá 66 CHƯƠNG KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 68 6.1 Kết luận 68 6.2 Hướng phát triển 68 TÀI LIỆU THAM KHẢO .69 PHỤ LỤC 70 ix an CHƯƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ Về phần mềm, nhóm hồn thành mục tiêu đề tài đặt ra: hiển thị cập nhật liên tục giá trị nhiệt độ, có biểu đồ để theo dõi nhiệt độ, có lịch sử cập nhật nhiệt độ qua thời điểm, cài đặt ngưỡng nhiệt độ để cảnh báo còi Buzzer cảnh báo SMS hay Gmail điện thoại Giao diện đơn giản, dễ theo dõi Tuy nhiên, số nhược điểm thao tác phức tạp, chẳng hạn để cài đặt số điện thoại gửi SMS cảnh báo hay Gmail phải thực nhiều bước Về kết đo, sản phẩm nhóm đo giá trị nhiệt độ thể, kết tương đối xác so với thiết bị khác so với nhiệt độ chuẩn bình thường, nhiên, sai số lớn số lần đo Bên cạnh đó, lúc bắt đầu đo, kết đo nhóm cịn chưa ổn định cịn thấp so với thiết bị đo khác, nguyên nhân cảm biến chưa có đủ thời gian tiếp xúc với da Vì vậy, để khắc phục, cần đeo sản phẩm vào tay khoảng – phút thực lấy kết quả, đồng thời ý để cảm biến vào sát nách nhất, kết đo xác 5.2.2 Đánh giá Sau khoảng thời gian nghiên cứu, tìm hiểu thực đề tài, nhóm đáp ứng mục tiêu ban đầu đề tài Tuy nhiên, vân cịn hạn chế Từ đó, nhóm nêu số đánh giá sản phẩm nhóm sau hồn thành a Ưu điểm - Mơ hình sản phẩm dễ sử dụng, thao tác - Đảm bảo an tồn cho người sử dụng - Mơ hình bền, hoạt động ổn định - Kết đo xác so với sản phẩm khác - Dễ lắp đặt, giá thành rẻ b Nhược điểm - Chưa có tính thẩm mỹ cao - Mơ hình sản phẩm kích thước to so với sản phẩm khác - Phần dây đeo cịn ngắn, khơng phù hợp với tất người sử dụng - Dễ bị sai số để cảm biến khơng vị trí - Chưa kết hợp cài đặt ngưỡng nhiệt độ cảnh báo Buzzer SMS - Khi khơng kết nối Wifi thiết bị khơng hoạt động BỘ MƠN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH an 67 CHƯƠNG 6: 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 Qua đề tài “Thiết kế thi cơng vịng đeo tay theo dõi nhiệt độ thể, gửi cảnh báo điện thoại”, nhóm nghiên cứu thực vấn đề mục tiêu đặt ban đầu đề tài Trong q trình thực hiện, nhóm đạt kết định Nhóm biết cách sử dụng cảm biến nhiệt độ, hiểu nguyên lý cảm biến, lập trình cảnh báo nhiệt tới người dùng Bên cạnh đó, nhóm tìm hiểu nghiên cứu cách gửi liệu lên Web, sử dụng Ubidots gửi SMS, Gmail cảnh báo Hệ thống Board mạch chạy tương đối ổn định, kết đo tương đối xác so với thiết bị khác Nhìn chung, nhóm đạt khoảng 90% mục tiêu ban đầu đặt Tuy nhiên, kiến thức thời gian cịn hạn hẹp, nên khơng thể tránh khỏi sai sót Mơ hình thi cơng thiết bị kích thước cịn lớn, tính thẩm mỹ chưa cao Ngồi ra, đeo thiết bị vào tay, cần có khoảng thời gian để cảm biến nhiệt độ thích ứng với da, đó, cần có thời gian để thu kết xác Giao diện hiển thị cịn đơn giản, chưa ứng dụng hết tính Ubidots Từ đó, nhóm đưa hướng phát triển hợp lý 6.2 HƯỚNG PHÁT TRIỂN Trong tương lai, chế tạo thiết bị vịng đeo tay với kích thước nhỏ gọn hơn, kết hợp đo thông số thể: nhịp tim, huyết áp, nhiệt độ thể, nồng độ Oxy bão hòa máu SpO2 , … Ngồi ra, phát triển đáp ứng ứng dụng khác kết nối với Bluetooth với điện thoại để tiện theo dõi khơng có Wifi, thêm chức chẩn đốn, cảnh báo tình trạng bệnh cách kịp thời xác Về phần mềm, phát triển tài khoản quản lý nhiều thiết bị lúc, lưu trữ lại liệu gặp cố không kết nối mạng cập nhật lại liệu kết nối mạng, xuất báo cáo cho người dùng dạng Excel BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH an 68 TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO [1] Nguyễn Vân Nam - Nguyễn Thị Bích Hồng, “Thân Nhiệt: Chìa Khóa Để Sống Khỏe Mạnh Và Trường Thọ”, Nhà Xuất Bản Hồng Đức, 06-2019 [2] Lê Trọng Hồng – Võ Đình Ln, “Thiết kế thi công hệ thống giám sát nhiệt độ, độ ẩm, cường độ gió, cường độ sáng qua sms dùng nguồn pin sạc lượng mặt trời”, Đồ Án Tốt Nghiệp, Trường ĐH Sư Phạm Kỹ Thuật TP.HCM, 2019 [3] Nguyễn Bá Tòng, Nguyễn Đặng Quốc Anh, Nguyễn Duy Hiển, “Thiết kế mơ hình tự động đo nhịp tim nhiệt độ thể người”, Tuyển tập Báo cáo Hội nghị Sinh viên Nghiên cứu Khoa học lần thứ Đại học Đà Nẵng năm 2012 [4] Nguyễn Thanh Hoàng, Nguyễn Khoa Nam, “Thiết kế thi cơng vịng tay đo nhịp tim sử dụng cơng nghệ IoTs”, Đồ Án Tốt Nghiệp, Trường ĐH Sư Phạm Kỹ Thuật TP.HCM, 2019 [5] Nguyễn Đình Phú, Trương Ngọc Anh, “Giáo Trình Vi Điều Khiển”, khoa Điện- Điện Tử, trường ĐHSPKT, Tp.HCM, 2013 [6] Lê Mỹ Hà, Phạm Quang Huy, “Lập trình IOT với Arduino”, Nhà Xuất Bản Thanh Niên, 2017 [7] YSI Precision Temperature Group, “YSI Precision Thermistors & Probes”, 2002 [8] Phạm Minh Tuấn, “MQTT”, 25/5/2020, [9] Maria Carlina Hernandez, “Ubidots Basics: Devices, Variables, Dashboards, and Alerts”, 5/6/2020 < help.ubidots.com/> [10] Phạm Minh Tuấn, “Smartconfig”, 16/6/2017 < arduino.esp8266.vn> BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH an 69 PHỤ LỤC PHỤ LỤC Code chương trinh Khởi tạo chương trình #include #include #include #include #include #include #include "UbidotsESPMQTT.h" #include #include #define TOKEN "BBFF-tpTgIYb91n4752VzEY3T4nVMWQVBB9" // Your Ubidots TOKEN #define MQTTCLIENTNAME "MyMyMy" // Your MQTT Client Name, it must be unique so we recommend to choose a random ASCCI name #define DEVICE_LABEL "control" #define VARIABLE_LABEL // Put here your Ubidots device label "set-an-alarm" // Put here your Ubidots variable label #define SCREEN_WIDTH 128 // OLED display width, in pixels #define SCREEN_HEIGHT 64 // OLED display height, in pixels // Declaration for an SSD1306 display connected to I2C (SDA, SCL pins) Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1); double Vout, adc_value, Rth, temperature; const double VCC = 3.3; // NodeMCU on board 3.3v vcc const double R2 = 9890; const double adc_resolution = 1023; // 10-bit adc const double A = -1.431353076e-03; const double B = 6.647074447e-04; const double C = -17.10973934e-07; float temperatureAlarm = 38; const int buzzer = 13 ;//pin D4 unsigned long previousMillis = 0; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH an 70 PHỤ LỤC const long intervalScreen = 15000; const long intervalButton = 1000; const int BUTTON_PIN = 12; // the number of the pushbutton pin int flagScreen=2; int flagMute=0; const unsigned char alarm [] PROGMEM = { 0x01, 0x00, 0x03, 0x80, 0x07, 0xc0, 0x0f, 0xe0, 0x1f, 0xf0, 0x1f, 0xf0, 0x1f, 0xf0, 0x1f, 0xf0, 0x1f, 0xf0, 0x1f, 0xf0, 0x3f, 0xf8, 0x7f, 0xfc, 0x00, 0x00, 0x07, 0xc0, 0x03, 0x80 }; int analogPin = A0; Ubidots client(TOKEN, MQTTCLIENTNAME); /**************************************** * Auxiliar Functions ****************************************/ void callback(char* topic, byte* payload, unsigned int length) { Serial.print("Message arrived ["); Serial.print(topic); Serial.print("] "); for (int i=0;itemperatureAlarm)&&(flagMute==0)) { flagMute=1; flagScreen=1; digitalWrite(buzzer,LOW); Serial.println("Tat bao dong"); DisplayCreen(); } } else { flagScreen=1; Serial.println("Nhan lan"); if((temperature>temperatureAlarm)&&(flagMute==0)) { flagMute=1; digitalWrite(buzzer,LOW); Serial.println("Tat bao dong"); DisplayCreen(); } } DisplayCreen(); } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH an 73 PHỤ LỤC } void DisplayCreen() { if (flagScreen==1) { unsigned long currentMillis = millis(); display.clearDisplay(); display.setTextSize(1.5); display.setTextColor(WHITE); display.setCursor(43, 10); display.print("Temperature: "); display.setTextSize(2.8); display.setTextColor(WHITE); display.setCursor(45, 30); display.print(temperature,1); display.print((char)247); display.print("C"); display.drawBitmap(5, 5, thermometer, 27, 62, WHITE); if(temperature>temperatureAlarm) { display.setTextSize(1.75); display.setCursor(47, 55); display.print("TAKE CARE"); } else { display.setTextSize(1); display.drawBitmap(50, 47, alarm, 15, 15, WHITE); display.setTextColor(WHITE); display.setCursor(68, 55); display.print(temperatureAlarm,1); display.print((char)247); display.print("C"); } display.display(); Serial.println("Che hien thi man hinh 15 giay"); if (currentMillis - previousMillis >= intervalScreen) { previousMillis = currentMillis; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH an 74 PHỤ LỤC flagScreen=0; } } if (flagScreen==2) { display.clearDisplay(); display.setTextSize(1.5); display.setTextColor(WHITE); display.setCursor(43, 10); display.print("Temperature: "); display.setTextSize(2.8); display.setTextColor(WHITE); display.setCursor(45, 30); display.print(temperature,1); display.print((char)247); display.print("C"); display.drawBitmap(5, 5, thermometer, 27, 62, WHITE); if(temperature>temperatureAlarm) { display.setTextSize(1.75); display.setCursor(47, 55); display.print("TAKE CARE"); } else { display.setTextSize(1); display.drawBitmap(50, 47, alarm, 15, 15, WHITE); display.setTextColor(WHITE); display.setCursor(68, 55); display.print(temperatureAlarm,1); display.print((char)247); display.print("C"); } Serial.println("Che luon luon hien thi man hinh"); if(digitalRead(BUTTON_PIN)==0) { if(temperature>temperatureAlarm) { flagMute=1; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH an 75 PHỤ LỤC flagScreen=1; digitalWrite(buzzer,LOW); DisplayCreen(); } else { flagScreen=0; DisplayCreen(); digitalWrite(buzzer,LOW); } while(digitalRead(BUTTON_PIN)==0) { delay(10); } } } else if(flagScreen==0) { display.clearDisplay(); display.display(); Serial.println("Tat man hinh"); } } void TemperatureAlarm() { if((temperature>temperatureAlarm)&&(flagMute==0)) { monitor.blink(); flagScreen=2; } else { digitalWrite(buzzer,LOW); } if(temperature= 10){ WiFi.beginSmartConfig(); while(1){ delay(1000); //Kiểm tra kết nối thành công in thông báo if(WiFi.smartConfigDone()){ Serial.println("SmartConfig Success"); break; } } } } Serial.println(""); Serial.println(""); WiFi.printDiag(Serial); // Khởi tạo server Serial.println("Server started"); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH an 78 PHỤ LỤC // In địa IP Serial.println(WiFi.localIP()); // Nhận gói tin gửi từ ESPTouch Udp.parsePacket(); //In IP ESP8266 while(Udp.available()){ Serial.println(Udp.remoteIP()); Udp.flush(); delay(5); } delay(1000); client.begin(callback); //client1.wifiConnection(WIFINAME, WIFIPASS); client.begin(callbackAlarm); client.ubidotsSubscribe(DEVICE_LABEL, VARIABLE_LABEL); //Insert the dataSource and Variable's Labels } void loop() { // put your main code here, to run repeatedly: Udp.parsePacket(); //In IP ESP8266 while(Udp.available()){ Serial.println(Udp.remoteIP()); Udp.flush(); delay(5); } if(!client.connected()){ client.reconnect(); } // if(!client1.connected()){ // client1.reconnect(); // client1.ubidotsSubscribe(DEVICE_LABEL, VARIABLE_LABEL); //Insert the dataSource and Variable's Labels // } BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH an 79 PHỤ LỤC float analog = analogRead(analogPin); //float analogSmooth100 = as100.analogReadSmooth(analogPin); float analogSmooth10 = as.smooth(analog); Calculate_Temp(); doSwitchStatement(); DisplayScreen(); TemperatureAlarm(); for(int i=0; i