1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(Đồ án tốt nghiệp) thiết kế và thi công tủ thuốc nhắc bệnh nhân uống thuốc đúng giờ và đúng liều

129 28 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

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 KHOA ĐIỆN - ĐIỆN TỬ ĐỒ ÁN TỐT NGHIỆP NGÀNH CNKT ĐIỆN - ĐIỆN TỬ THIẾT KẾ VÀ THI CÔNG TỦ THUỐC NHẮC BỆNH NHÂN UỐNG THUỐC ĐÚNG GIỜ VÀ ĐÚNG LIỀU GVHD: ThS PHAN VÂN HOÀN SVTH: PHẠM VĂN BẢO MSSV: 15141102 SKL007828 Tp Hồ Chí Minh, tháng 01/2021 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên: Chuyên ngành: Hệ đào tạo: Khóa: Phạm Văn Bảo Kỹ thuật Điện - Điện tử Đại học quy 2015 I TÊN ĐỀ TÀI: THIẾT KẾ VÀ THI CÔNG TỦ THUỐC NHẮC BỆNH NHÂN UỐNG THUỐC ĐÚNG GIỜ VÀ ĐÚNG LIỀU II NHIỆM VỤ Các số liệu ban đầu: Tủ thuốc nhắc bệnh nhân uống thuốc liều với số liệu ban đầu sau: - Cài đặt thời gian số lượng thuốc cần uống hình cảm ứng - Hiển thị số liệu cài đặt hình cảm ứng, loa thơng báo hướng dẫn bệnh nhân lấy thuốc giọng nói - Khi đến dùng thuốc bệnh nhân khơng hồn thành việc dùng thuốc gọi điện thoại cho người thân 2.Nội dung thực hiện: - Tìm hiểu tham khảo tài liệu, giáo trình liên quan tới nội dung đề tài - Thực giao tiếp Arduino với hình cảm ứng Nextion - Thưc giao tiếp Arduino với module đọc thẻ nhớ phát audio - Thưc giao tiếp Arduino với module sim - Viết chương trình điều khiển hồn thiện - Thi công phần cứng chạy thử nghiệm hiệu chỉnh hệ thống - Viết báo cáo đề tài III NGÀY GIAO NHIỆM VỤ: IV NGÀY HOÀN THÀNH NHIỆM VỤ: 15/01/2021 V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: ThS Phan Vân Hồn CÁN BỘ HƯỚNG DẪN i LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Phạm Văn Bảo Lớp: 15141DT2B MSSV:15141102 Tên đề tài: Thiết kế thi công tủ thuốc nhắc bệnh nhân uống thuốc liều Tuần/ngày Tuần 1,2 28/09-11/10 Tuần 3,4,5 12/10-1/11 Tuần 6,7,8,9 2/11-29/11 Tuần 10,11 30/11-13/12 Tuần 12 14/12-20/12 Tuần 13,14,15 21/10-10/01 ii LỜI CAM ĐOAN Em xin cam đoan đồ án em tự thực hướng dẫn thầy Phan Vân Hoàn Em tham khảo tài liệu trước nghiên cứu mạng online Kết công bố khóa luận tốt nghiệp trung thực khơng chép từ tài liệu hay cơng trình có trước Người thực đề tài Phạm Văn Bảo iii LỜI CẢM ƠN Lời cho phép em gửi lời cảm ơn đến quý thầy cô trường Đại Học Sư Phạm Kỹ Thuật dạy dỗ suốt năm tháng đại học Trong phải kể đến quý thầy cô khoa Điện- Điện Tử truyền đạt kiến thức chuyên môn lẫn kĩ để giúp em có chuẩn bị chu đáo để bước khỏi ghế nhà trường không bị bỡ ngỡ Những kiến thức em đúc kết lại thành đồ án cuối cùng, đồ án tốt nghiệp tay tạo Nó bàn đạp để chúng em bước cánh cửa lớn Đặc biệt, em xin gửi lời cảm ơn sâu sắc đến thầy Phan Vân Hoàn giúp đỡ em trình lựa chọn đề tài Trong trình thực có nhiều điều khó khăn, thiếu sót khơng thống nhất, nhờ đóng góp ý kiến thầy, em hiểu cách tìm hiểu kiến thức Em cảm ơn đến bạn bè, anh chị có chia sẻ, trao đổi kiến thức, kinh nghiệm thực tế người cho em gặp khó khăn Và cuối lời cảm ơn đến bậc phụ huynh, người thân gia đình Nhờ quan tâm, ủng hộ lời động viên người giúp em hoàn thành xong chương trình đại học để có kiến thức vào đời Xin chân thành cám ơn! Người thực đề tài Phạm Văn Bảo iv MỤC LỤC 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 CÁC CHUẨN TRUYỀN DỮ LIỆU 2.1.1 Chuẩn giao tiếp UART 2.1.2 Chuẩn giao tiếp SPI 2.1.3 Chuẩn giao tiếp I2C 2.2 Giới thiệu mạng di động GSM 2.3 Tập lệnh AT Chương TÍNH TỐN VÀ THIẾT KẾ 3.1 GIỚI THIỆU 3.2 TÍNH TỐN VÀ THIẾT KẾ HỆ THỐNG 3.2.1 Thiết kế sơ đồ khối hệ t 3.2.2 Tính tốn thiết kế m 3.2.3 Sơ đồ nguyên lý Chương THI CÔNG HỆ THỐNG 4.1 GIỚI THIỆU 4.2 THI CÔNG HỆ THỐNG 4.2.1 Thi công bo mạch 4.2.2 Lắp ráp kiểm tra 4.3 ĐÓNG GĨI VÀ THI CƠNG MƠ HÌNH 4.3.1 Đóng gói điều khiển 4.3.2 Thi cơng mơ hình 4.4 LẬP TRÌNH HỆ THỐNG 4.4.1 Lưu đồ giải thuật 4.4.2 Phần mềm lập trình cho 4.4.3 Phần mềm thiết kế cho v 4.5 VIẾT TÀI LIỆU HƯỚNG DẪN SỬ DỤNG, T 4.5.1Viết tài liệu hướng dẫn 4.5.2Quy trình thao tác Chương KẾT QUẢ_NHẬN XÉT_ĐÁNH GIÁ 5.1 GIỚI THIỆU 5.2 KẾT QUẢ ĐẠT ĐƯỢC 5.3 KẾT QUẢ THỰC NGHIỆM 5.3.1Cài đặt lịch dùng thuố 5.3.2Cài đặt liều dùng 5.3.3Tủ thông báo hướn 5.3.4Tủ gọi điện cảnh báo k 5.4 NHẬN XÉT-ĐÁNH GIÁ 5.4.1Nhận xét 5.4.2Đánh giá Chương KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 6.1 KẾT LUẬN 6.2 HƯỚNG PHÁT TRIỂN TÀI LIỆU THAM KHẢO PHỤ LỤC vi LIỆT KÊ HÌNH VẼ Hình 2.1 Gói liệu truyền UART Hình 2.2 Sóng truyền UART Hình 2.3 Quá trình truyền UART Hình 2.4 Quá trình nhận UART Hình 2.5 Truyền liệu SPI Hình 2.6 Bus I2C thiết bị ngoại vi Hình 2.7 Trình tự truyền bit đường truyền Hình 2.8 Cấu trúc mạng di động Hình 3.1 Sơ đồ khối hệ thống 11 Hình 3.2 Sơ đồ chân Arduimo Mega 2560 13 Hình 3.3 Sơ đồ nguyên lý khối xử lý trung tâm 14 Hình 3.4 Sơ đồ ngun lý khối cơng tắc cảm biến 15 Hình 3.5 Màn hình Nextion NX4024T032 3.2 inch 16 Hình 3.6 Giao diện phần mềm Nextion Editor 17 Hình 3.7 Sơ đồ nguyên lý khối hiển thị cài đặt 18 Hình 3.8 Module thời gian thực DS1307 19 Hình 3.9 Sơ đồ nguyên lý khối thời gian thực 20 Hình 3.10 Các chân kết nối module SIM800L 21 Hình 3.11 Sơ đồ nguyên lý khối module Sim 22 Hình 3.12 Module SD Card 23 Hình 3.13 Loa Bluetooth 3w 4ohms 23 Hình 3.14 Sơ đồ nguyên lý khối phát âm 24 Hình 3.15 Sơ đồ nguyên lý khối nguồn 26 Hình 3.16 Sơ đồ nguyên lý toàn mạch 27 Hình 4.1 Bố trí linh kiện mặt mạch 29 Hình 4.2 Bố trí linh kiện mặt mạch 29 Hình 4.3 Hình ảnh mạch thực tế 30 Hình 4.4 Đóng gói điều khiển 31 Hình 4.5 Gắn cảm biến loa lên tủ thuốc 32 Hình 4.6 Gắn cơng tắc hành trình lên tủ thuốc 32 Hình 4.7 Hình ảnh thực tế mơ hình 33 vii Hình 4.8 Lưu đồ chương trình Arduino Mega2560 34 Hình 4.9 Lưu đồ chương trình kiểm tra thời gian phát hướng dẫn .36 Hình 4.10 Quy trình làm việc arduino 38 Hình 4.11 Giao diện lập trình arduino 38 Hình 4.12 Giao diện menu arduino IDE 38 Hình 4.13 Giao diện file menu arduino IDE 39 Hình 4.14 Giao diện Examples menu 39 Hình 4.15 Giao diện Sketch Menu Arduino IDE 40 Hình 4.16 Giao diện edit menu arduino IDE 40 Hình 4.17 Giao diện Tool Menu Arduino IDE 41 Hình 4.18 Board ESP8266 sử dụng 41 Hình 4.19 Arduino Toolbar 42 Hình 4.20 Chương trình nạp thành cơng 42 Hình 4.21 Phần mềm Nextion Editor 43 Hình 4.22 Tạo project phần mềm Nextion Editor 43 Hình 4.23 Chọn loại hình muốn thiết kế 44 Hình 4.24 Thiết kế giao diện 44 Hình 4.25 Chạy debug giao diện Nextion Editor 44 Hình 4.26 Cài đặt lịch dùng thuốc 46 Hình 4.27 Cài đặt liều thuốc cho lần 46 Hình 4.28 Cài đặt liều thuốc cho lần 47 Hình 4.29 Lấy thuốc theo hướng dẫn 47 Hình 5.1 Màn hình cài đặt lịch dùng thuốc 49 Hình 5.2 Màn hình cài đặt liều thuốc cho lần 50 Hình 5.3 Màn hinh cài đặt liều thuốc cho lần 50 Hình 5.4 Tủ thuốc phát hướng dẫn lấy thuốc 51 Hình 5.5 Cuộc gọi thông báo từ tủ thuốc 51 viii BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP PHỤ LỤC if(tgian==1&&millis()-t60000) {callNumber();Serial.println("canh bao ngan6-1"); n=0;} }// lieu thuoc ngan6 lan1 else if(digitalRead(ngan6)==0&&flag==1) {flag=0;n=7;tmrpcm.pause();t=millis();ti=0; } else {flag=1; lieuthuoc(6,ngan6_1);}// phat audio dang lay lieu thuoc ngan6 lan1 } else if(tgian==2&&millis()-t60000) {callNumber();Serial.println("canh bao6-2"); n=0;} }// lieu thuoc ngan6 lan2 else if(digitalRead(ngan6)==0&&flag==1) {flag=0;n=7;tmrpcm.pause();t=millis();ti=0; } else {flag=1; lieuthuoc(6,ngan6_2);}// phat audio dang lay lieu thuoc ngan6 lan2 } //else tgian=0; else {callNumber();n=0;tgian=0;flag=0;} //tu them vao break; case 7: //ngan7 if(tgian==1&&millis()-t60000) {lieuthuoc(7,ngan7_1); {callNumber();Serial.println("canh bao ngan7-1"); n=0;} }// lieu thuoc ngan7 lan1 else if(digitalRead(ngan7)==0&&flag==1) {flag=0;n=8;tmrpcm.pause();t=millis();ti=0; } else {flag=1; lieuthuoc(7,ngan7_1);}// phat audio dang lay lieu thuoc ngan7 lan1 } else if(tgian==2&&millis()-t60000) {callNumber();Serial.println("canh bao7-2"); n=0;} }// lieu thuoc ngan7 lan2 else if(digitalRead(ngan7)==0&&flag==1) {flag=0;n=8;tmrpcm.pause();t=millis();ti=0; } else {flag=1; lieuthuoc(7,ngan7_2);}// phat audio dang lay lieu thuoc ngan7 lan2 } //else tgian=0; else {callNumber();n=0;tgian=0;flag=0;} //tu them vao break; case 8: if(tgian==1&&millis()-t60000) {callNumber();Serial.println("canh bao ngan8-1"); n=0;} }// lieu thuoc ngan8 lan1 else if(digitalRead(ngan2)==0&&flag==1) {flag=0;n=9;tmrpcm.pause();t=millis();ti=0; } else {flag=1; lieuthuoc(8,ngan8_1);}// phat audio dang lay lieu thuoc ngan8 lan1 } else if(tgian==2&&millis()-t60000) {callNumber();Serial.println("canh bao8-2"); n=0;} }// lieu thuoc ngan8 lan2 else if(digitalRead(ngan8)==0&&flag==1) {flag=0;n=9;tmrpcm.pause();t=millis();ti=0; } else {flag=1; lieuthuoc(8,ngan8_2);}// phat audio dang lay lieu thuoc ngan8 lan2 } //else tgian=0; else {callNumber();n=0;tgian=0;flag=0;} //tu them vao break; BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP PHỤ LỤC case 9: //ngan9 if(tgian==1&&millis()-t60000) {lieuthuoc(9,ngan9_1); {callNumber();Serial.println("canh bao ngan9-1"); n=0;} }// lieu thuoc ngan9 lan1 else if(digitalRead(ngan9)==0&&flag==1) {flag=0;n=10;tmrpcm.pause();t=millis();ti=0; } else {flag=1; lieuthuoc(9,ngan9_1);}// phat audio dang lay lieu thuoc ngan9 lan1 } else if(tgian==2&&millis()-t60000) {callNumber();Serial.println("canh bao9-2"); n=0;} }// lieu thuoc ngan9 lan1 else if(digitalRead(ngan9)==0&&flag==1) {flag=0;n=10;tmrpcm.pause();t=millis();ti=0; } else {flag=1; lieuthuoc(9,ngan9_2);}// phat audio dang lay lieu thuoc ngan9 lan2 } //else tgian=0; else {callNumber();n=0;tgian=0;flag=0;} //tu them vao break; case 10: if(tgian==1&&millis()-t60000) {callNumber();Serial.println("canh bao ngan10-1"); n=0;} }// lieu thuoc ngan10 lan1 else if(digitalRead(ngan10)==0&&flag==1) {flag=0;n=0;tmrpcm.play("loichuc.wav");tgian=0;/*tmrpcm.pause()*/t=millis() ;ti=0;} BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP PHỤ LỤC else {flag=1; lieuthuoc(10,ngan10_1);}// phat audio dang lay lieu thuoc ngan10 lan1 } else if(tgian==2&&millis()-t60000) {callNumber();Serial.println("canh bao10-2"); n=0;} }// lieu thuoc ngan10 lan2 else if(digitalRead(ngan10)==0&&flag==1) {flag=0;n=0;tmrpcm.play("loichuc.wav");tgian=0;/*tmrpcm.pause()*/t=millis() ;ti=0;} else {flag=1; lieuthuoc(10,ngan10_2);}// phat audio dang lay lieu thuoc ngan10 lan2 } / else tgian=0; else {tgian=0;callNumber();n=0;flag=0;} //tu them vao break; } } void SendMessage() { //Serial.println ("Sending Message"); Serial3.println("AT+CMGF=1"); //Sets the GSM Module in Text Mode delay(1000); //Serial.println ("Set SMS Number"); Serial3.println("AT+CMGS=\"" + number + "\"\r"); //Mobile phone number to send message delay(1000); String SMS = "Hello, how are you?"; Serial3.println(SMS); delay(100); Serial3.println((char)26);// ASCII code of CTRL+Z delay(1000); _buffer = _readSerial(); } void RecieveMessage() { Serial.println ("SIM800L Read an SMS"); delay (1000); Serial3.println("AT+CNMI=2,2,0,0,0"); // AT Command to receive a live SMS BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP PHỤ LỤC delay(1000); Serial.write ("Unread Message done"); } String _readSerial() { _timeout = 0; while (!Serial3.available() && _timeout < 12000 ) { delay(13); _timeout++; } if (Serial3.available()) { return Serial3.readString(); } } void callNumber() { Serial3.print (F("ATD")); Serial3.print (number); Serial3.print (F(";\r\n")); delay(3000);//_buffer = _readSerial(); //Serial.println(_buffer); } void setup() { // Put your setup code here, to run once: delay(7000); //delay for seconds to make sure the modules get the signal Serial2.begin(9600); // Start serial comunication at baud=9600 pinMode(sensor,INPUT); pinMode(ngan1,INPUT); pinMode(ngan2,INPUT); pinMode(ngan3,INPUT); pinMode(ngan4,INPUT); pinMode(ngan5,INPUT); pinMode(ngan6,INPUT); pinMode(ngan7,INPUT); pinMode(ngan8,INPUT); pinMode(ngan9,INPUT); pinMode(ngan10,INPUT); pinMode(led1,OUTPUT); pinMode(led2,OUTPUT); pinMode(led3,OUTPUT); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP PHỤ LỤC pinMode(led4,OUTPUT); pinMode(led5,OUTPUT); pinMode(led6,OUTPUT); pinMode(led7,OUTPUT); pinMode(led8,OUTPUT); pinMode(led9,OUTPUT); / pinMode(led10,OUTPUT); //for(int i=0; i 0) Serial.write(Serial3.read()); now = rtc.now(); gio = now.hour(); phut = now.minute(); BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP PHỤ LỤC giay = now.second(); phataudio(); delay(30); Serial2.print("n0.val="); Serial2.print(gio); Serial2.write(0xff); Serial2.write(0xff); Serial2.write(0xff); Serial2.print("n1.val="); Serial2.print(phut); Serial2.write(0xff); Serial2.write(0xff); Serial2.write(0xff); Serial2.print("n2.val="); Serial2.print(giay); Serial2.write(0xff); Serial2.write(0xff); Serial2.write(0xff); delay(10); nexLoop(nex_listen_list); } // End of loop BỘ MÔN ĐIỆN TỬ CÔNG NGHIỆP ... biến rộng khắp Dựa vào khảo sát kiến thức tiếp thu em xin thực đề tài: ? ?Thi? ??t kế thi công tủ thuốc nhắc bệnh nhân uống thuốc liều ” có chức nhắc bệnh nhân uống thuốc giờ, liều đồng thời thông... sĩ bệnh nhân không dùng thuốc liều 1.2 MỤC TIÊU Thi? ??t kế thi cơng tủ thuốc cài đặt thời gian, số lượng loại thuốc hình cảm ứng, nhắc nhở bệnh nhân uống thuốc đến giọng nói Nếu sau nhiều lần nhắc. .. liệụ (nếu cờ thi? ??t lập lên byte truyền từ thi? ??t bị tớ đến thi? ??t bị chủ, cờ thi? ??t lập xuống byte truyền từ thi? ??t bị chủ đến thi? ??t bị tớ) - Khi thi? ??t bị tớ bus I2C có địa với địa mà thi? ??t bị chủ

Ngày đăng: 22/12/2021, 06:00

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

TÀI LIỆU LIÊN QUAN

w