1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

86 10 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 86
Dung lượng 3,52 MB

Nội dung

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 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 toá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 tố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 LIỆT KÊ HÌNH VẼ Hình Trang Hình 2.1 Phân loại nhiệt điện trở Hình 2.2 Mơ hình giao thức MQTT 11 Hình 2.3 Đọc cảm biến đến giá trị 17 Hình 2.4 Biến khơng hoạt động khoảng thời gian 17 Hình 2.5 Cài đặt cảnh báo vị trí thiết bị 18 Hình 2.6 Mơ hình SmartConfig 18 Hình 2.7 Giao diện ứng dụng ESP TOUCH IOS Android 20 Hình 2.8 Giao diện ESP Touch kết nối 21 Hình 2.9 Kết kết nối Serial Monitor 22 Hình 2.10 Sơ đồ chân ESP8266 23 Hình 2.11 Mạch sạc Lithium Micro ESP8266 D1 Mini 1A 24 Hình 2.12 Cảm biến YSI700 25 Hình 3.1 Sơ đồ khối 29 Hình 3.2 Mạch kết nối cảm biến 31 Hình 3.3 Sơ đồ nguyên lý toàn mạch 35 Hình 4.1 Mạch PCB 37 Hình 4.2 Phần nắp hộp 38 Hình 4.3 Phần đáy hộp 39 Hình 4.4 Mơ hình hồn chỉnh 39 Hình 4.5 Mặt mạch sau hàn linh kiện 40 Hình 4.6 Mạch thực tế 41 Hình 4.7 Đóng gói điều khiển 42 Hình 4.8 Mặt trước mơ hình hồn chỉnh 43 Hình 4.9 Dây đeo sản phẩm 43 Hình 4.10 Mặt bên mơ hình hồn chỉnh 44 Hình 4.11 Lưu đồ chương trình 46 Hình 4.12 Lưu đồ chương trình 47 x Hình 4.13 Lưu đồ chương trình đo nhiệt độ 49 Hình 4.14 Lưu đồ chương trình kết nối Ubidots 50 Hình 4.15 Màn hình đăng nhập Ubidots 52 Hình 4.16 Cài đặt ngưỡng báo động cho Buzzer 53 Hình 4.17 Thiết lập Devices 53 Hình 4.18 Lựa chọn kiện gửi SMS 54 Hình 4.19 Cài đặt ngưỡng nhiệt độ cảnh báo 54 Hình 4.20 Cập nhật số điện thoại gửi cảnh báo 55 Hình 5.1 Mơ hình hồn chỉnh thiết bị 56 Hình 5.2 Giao diện khởi động thiết bị 57 Hình 5.3 Màn hình yêu cầu kết nối Wifi 57 Hình 5.4 Giao diện hiển thị thông số nhiệt độ 58 Hình 5.5 Kết đo thực tế 58 Hình 5.6 Giao diện hiển thị Ubidots 59 Hình 5.7 Biểu đồ theo dõi giá trị nhiệt độ 60 Hình 5.8 Lịch sử cập nhật giá trị nhiệt độ 60 Hình 5.9 Kết đo thực tế so với nhiệt kế điện tử - thủy ngân 61 Hình 5.10 Giao diện hình nhiệt độ vượt ngưỡng cài đặt 62 Hình 5.11 Gửi SMS cảnh báo điện thoại 62 Hình 5.12 Gửi Gmail cảnh báo 62 xi LIỆT KÊ BẢNG Bảng Trang Bảng 2.1 Nhiệt độ thể vị trí đo độ tuổi khác Bảng 2.2 So sánh MQTT HTTP 14 Bảng 2.3 Thông số kỹ thuật ESP8266 23 Bảng 2.4 Thông số kỹ thuật Mạch Sạc Lithium Micro ESP8266 D1 Mini 1A 24 Bảng 2.5 Thông số kỹ thuật YSI700 25 Bảng 2.6 Thông số kỹ thuật hình Oled 26 Bảng 2.7 Sơ đồ đấu nối Oled ESSP8266 26 Bảng 2.8 Thông số kỹ thuật Buzzer 26 Bảng 3.1 Giá trị nhiệt độ điện trở 32 Bảng 3.2 Bảng liệt kê công suất tiêu thụ mạch điện 34 Bảng 4.1 Bảng liệt kê danh sách linh kiện 36 Bảng 5.1 So sánh kết đo vị trí khác thể 63 Bảng 5.2 So sánh kết sản phẩm nhiệt kế thủy ngân 63 Bảng 5.3 So sánh kết sản phẩm nhiệt kế điện tử Omron HC-246 65 xii TÓM TẮT Hiện với phát triển mạnh mẽ khoa học công nghệ, giới thay đổi mạnh mẽ, văn minh đại Cùng với đó, việc áp dụng kỹ thuật, công nghệ vào đời sống, giúp nâng cao bảo vệ sức khỏe người ngày áp dụng nhiều Chúng ta thấy, nhiệt độ thể yếu tố quan trọng để xác định tình trạng sức khỏe Nhiệt độ thể không ổn định khơng nằm ngưỡng bình thường gây hệ lụy khơng đáng có Vì thế, nhóm đưa ý tưởng làm thiết bị đo nhiệt độ thể nhỏ gọn, nhằm mục đích theo dõi thường xuyên nhiệt độ thể cảnh báo nhiệt độ vượt ngưỡng bình thường Đề tài nhóm “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” với mục đích cho người thân theo dõi nhiệt độ người sử dụng liên tục Thiết bị sử dụng vi điều khiển trung tâm xử lý tín hiệu nhận từ cảm biến nhiệt độ, hiển thị kết Web có chức gửi SMS hay Gmail cảnh báo nhiệt độ vượt ngưỡng quy định Trong trình thực đề tài, nhóm sử dụng phương pháp nghiên cứu, tìm hiểu tài liệu sở có liên quan, từ phân tích, chọn lọc ứng dụng vào đề tài Sau hồn thành, sản phẩm nhóm đạt kết định, hoàn thành mục tiêu đặt ban đầu Tuy nhiên, cịn số sai sót hạn chế Với đề tài này, nhóm hy vọng tương lai sở nghiên cứu cho đề tài sau, hoàn thiện mở rộng, phát triển xiii CHƯƠNG TỔNG QUAN Chương TỔNG QUAN 1.1 ĐẶT VẤN ĐỀ Ngày nay, nhịp sống người ngày tăng cao, khoa học công nghệ ngày phát triển Với Việt Nam - nước phát triển, mặt sống người dân cịn nhiều khó khăn, lạc hậu, việc áp dụng kỹ thuật nhằm đảm bảo cho đời sống, sức khỏe người cách đơn giản, dễ dàng tiếp cận cần thiết Nhiệt độ thể yếu tố quan trọng để xác định tình trạng sức khỏe Đến hoạt động cấp cao hệ thần kinh, phụ thuộc vào thân nhiệt Nếu thân nhiệt không ổn định mức cần thiết kéo theo nhiều bệnh tật sinh [1] Với tình hình dịch bệnh Covid-19 diễn biến phức tạp, việc theo dõi thân nhiệt thường xuyên trở nên quan trọng cần thiết Thường hầu hết gia đình, loại nhiệt kế phổ biến loại nhiệt kế truyền thống hay loại nhiệt kế không cần tiếp xúc với da Tuy loại nhiệt kế có cơng dụng đặc biệt riêng chúng loại nhiệt kế gửi liệu trực tiếp cảnh báo đến điện thoại không phổ biến thị trường [1] Để theo dõi cách xác thân nhiệt thể xác định tình trạng thể việc gửi SMS cảnh báo đến người dùng thân nhiệt vượt ngưỡng cài đặt đóng vai trò quan trọng [2] Theo khảo sát, có nhiều nghiên cứu tạo sản phẩm có chức tương tự, 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 với đề tài “Thiết kế mơ hình tự động đo nhịp tim nhiệt độ thể người”, đồ án tạo thiết bị sử dụng công nghệ truyền dẫn thông tin mạng nội để đưa giải pháp thuận tiện nhằm quản lí sức khỏe người Thơng tin sức khỏe đo từ thiết bị truyền dẫn qua dây cáp mạng đến máy chủ; từ truy cập thơng qua trình duyệt Web [3] Hay Đồ Án Tốt Nghiệp năm 2019, Nguyễn Thanh Hoàng – Nguyễn Khoa Nam với đề tài “Thiết kế thi cơng vịng tay đo nhịp tim sử dụng công nghệ IoTs”, đề tài thiết kế vịng BỘ MƠN ĐIỆN TỬ CƠNG NGHIỆP - Y SINH CHƯƠNG TỔNG QUAN tay sử dụng board Arduino kết hợp với cảm biến nhịp tim ESP8266, có chức đo nhịp tim, hiển thị Oled theo dõi thông qua giao diện Web [4] Với thực tế trên, nhóm em xin tìm hiểu nghiên cứu đề 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” với mục đích cho người thân theo dõi nhiệt độ người sử dụng liên tục Thiết bị sử dụng Module ESP8266 trung tâm xử lý tín hiệu nhận từ cảm biến nhiệt độ Bên cạnh thiết bị cịn hiển thị kết Web có chức gửi SMS Gmail cảnh báo điện thoại nhiệt độ vượt ngưỡng quy định MỤC TIÊU 1.2 Thiết kế hệ thống theo dõi nhiệt độ thể thơng qua trình duyệt Web theo ngun lý lấy tín hiệu từ cảm biến nhiệt độ, theo dõi nhiệt độ lúc thơng qua việc tín hiệu gửi lên Web thơng qua giao thức MQTT, ngồi thiết bị cịn có chức cảnh báo cịi buzzer gửi cảnh báo thông qua Ubidots nhiệt độ tới ngưỡng nguy hiểm NỘI DUNG NGHIÊN CỨU 1.3 1.4 - Tìm hiểu hoạt động ESP8266, cách lập trình gửi liệu lên Web - Xây dựng sơ đồ khối - Xây dựng sơ đồ nguyên lý - 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, báo cáo đề tài GIỚI HẠN BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH CHƯƠNG TỔNG QUAN - Hệ thống theo dõi nhiệt độ vùng nách thể, không đo nhiệt độ vùng khác - Thiết bị khơng có chức phân tích thơng số để đưa chuẩn đốn sức khỏe BỐ CỤC 1.5 Đề tài trình bày chương, cụ thể sau: - Chương 1: Tổng quan Chương trình bày vấn đề dẫn nhập, lý chọn đề tài, mục tiêu, nội dung nghiên cứu, giới hạn bố cục đề tài - Chương 2: Cơ sở lý thuyết Chương giới thiệu lý thuyết liên quan, tìm hiểu thân nhiệt, phương pháp đo nhiệt độ, giới thiệu linh kiện, công nghệ thực đề tài - Chương 3: Tính tốn thiết kế Trình bày sơ đồ khối hệ thống, chức khối, tính tốn thiết kế khối, lựa chọn linh kiện, đưa sơ đồ ngun lý tồn mạch - Chương 4: Thi cơng hệ thống Thi công hệ thống, lưu đồ, đưa giải thuật, thiết kế giao diện hình, thiết kế giao diện Web, viết chương trình Sau viết tài liệu hướng dẫn thao tác - Chương 5: Kết quả, Nhận xét Đánh giá Chương trình bày kết q trình nghiên cứu thi cơng, nêu khó khăn q trình làm khắc phục, số hình ảnh từ hệ thống Đồng thời, đưa nhận xét đánh giá cho toàn hệ thống - Chương 6: Kết luận hướng phát triển Đưa kết luận sau hoàn thiện sản phẩm, hướng phát triển nâng cấp hệ thống tương lai BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH CHƯƠNG 2: CƠ SỞ LÝ THUYẾT Chương CƠ SỞ LÝ THUYẾT TÌM HIỂU VỀ THÂN NHIỆT 2.1 Thân nhiệt nhiệt độ thể giải phóng q trình hoạt động người Cơ thể người máy không ngừng hoạt động Dù có cho ngồi nghỉ, nằm yên, hoạt động sinh lý liên tục diễn ra, tạo lượng cung cấp cho tế bào sinh nhiệt cho dù nhiệt độ mơi trường bên ngồi có thay đổi thân nhiệt thể người ổn định ngưỡng gần 37˚C cân sinh nhiệt tỏa nhiệt [1] Nhiệt hoạt động thể sinh máu phân phối khắp thể tỏa môi trường để đảm bảo cho thân nhiệt ổn định Khi sốt, nhiệt độ tăng cao phản xạ tự nhiên thể nhằm tiêu diệt vi khuẩn đào thải tế bào bị nhiễm khuẩn Trong thể người có chế nhằm điều hịa nhiệt độ thể ổn định để chống lại yếu tố tác động bên ngồi như: tốt mồ nóng co, run lạnh Thực tế nhiệt độ thể không cố định Thân nhiệt thể trạng có mối quan hệ mật thiết Thân nhiệt thường có dao động, thay đổi theo đặc trưng sinh lý cá thể Trạng thái khả miễn dịch thể biểu trực tiếp qua nhiệt độ thể bạn Các nghiên cứu khoa học chứng minh, nhiệt độ thể giảm xuống 1˚C, khả miễn dịch tăng - lần Cơ thể người thực thể sản sinh nhiệt Vì cần chút thay đổi nhiệt độ thể ảnh hưởng tới trạng thái sức khỏe Các yếu tố ảnh hưởng lên thân nhiệt Có nhiều yếu tố ảnh hưởng tới thân nhiệt: - Tuổi cao thân nhiệt giảm, nhiên sau mức độ giảm - Nhịp ngày - đêm: Thân nhiệt thấp vào lúc đến sáng cao vào lúc 14 đến 17 BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH CHƯƠNG KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ thực đo lần, lần đo cách - phút Thông thường, nhiệt độ thể thay đổi từ 0,5°C đến 1°C ngày Dựa vào kết đo, ta thấy nhiệt độ thể thay đổi tùy theo thời điểm, chênh lệch dao động khoảng 0.1 – 0.3˚C Nhiệt độ thể người độ tuổi khác Các kết đo nằm giới hạn bình thường thể Đánh giá kết Nhìn chung, kết đo từ sản phẩm nhóm xác so với thiết bị khác, chênh lệch nhiệt độ sản phẩm nhóm với thiết bị dao động khoảng - 0.3˚C Sai số trung bình sản phẩm với thiết bị khoảng 0.1˚C, sai số mức chấp nhận Tuy nhiên, số lần đo, kết có chênh lệch đến 0.3˚C lớn Nguyên nhân sai số - Sai số từ cảm biến YSI700 - Đặt cảm biến chưa sát vị trí, tiếp xúc thể với cảm biến chưa tốt dẫn đến chênh lệch cao Cách khắc phục - Hiệu chỉnh cảm biến để thu kết xác - Chú ý đặt cảm biến vào gần nách Đeo sản phẩm vào tay khoảng – phút thực lấy kết để cảm biến đủ thời gian tiếp xúc với da 5.2 NHẬN XÉT VÀ ĐÁNH GIÁ 5.2.1 Nhận xét Sau hoàn thành, kết đạt sau: Về phần cứng, nhóm thiết kế chế tạo vòng đeo tay theo dõi nhiệt độ thể Về bản, nhóm nhận thấy mơ hình sản phẩm đạt yêu cầu, dễ sử dụng, thao tác Hộp đựng điều khiển thiết kế chế tạo với chất liệu nhựa in 3d PLA Mặt trước hình Oled 0.96inch dễ dàng quan sát cố định chắn Phần dây đeo với chất liệu vải mềm, thoải mái sử dụng, thiết kế cho cảm biến nhiệt độ dễ dàng tiếp xúc với da Nút nhấn, cơng tắc nguồn bố trí hợp lý để người dùng dễ thao tác Tuy nhiên, kích thước sản phẩm nhóm cịn lớn so với sản phẩm khác thị trường, tính thẩm mỹ chưa cao BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP - Y SINH 66 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 toà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 cịn 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 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 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 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ị đơ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 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 Hoà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 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 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 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 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 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 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 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

Ngày đăng: 01/11/2022, 13:01

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w