•Thiết kế phần cứng tích gồm vi điều khiển STM32f103c8t6, cảm biến Pluse sensor, ADXL345, màn hình Oled, SIM800L, Pin.•Tìm hiểu các kiến thức về nhịp tim và té ngã.•Thiết kế websever.•Kiến thức lập trình ARM trên KeilC và CubeMX.
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 TỰ ĐỘNG ĐIỀU KHIỂN -⸙∆⸙ - ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: THIẾT KẾ THIẾT BỊ ĐEO PHÁT HIỆN TÉ NGÃ Ở NGƯỜI CAO TUỔI GVHD: TS NGUYỄN VĂN THÁI SVTH: TRẦN HUỲNH HƯNG PHAN CÔNG PHIẾU MSSV: 15151160 MSSV: 15151191 Tp Hồ Chí Minh tháng 07 năm 2019 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 TỰ ĐỘNG ĐIỀU KHIỂN -⸙∆⸙ - ĐỒ ÁN TỐT NGHIỆP ĐỀ TÀI: THIẾT KẾ THIẾT BỊ ĐEO PHÁT HIỆN TÉ NGÃ Ở NGƯỜI CAO TUỔI GVHD: TS NGUYỄN VĂN THÁI SVTH: TRẦN HUỲNH HƯNG PHAN CÔNG PHIẾU MSSV: 15151160 MSSV: 15151191 Tp Hồ Chí Minh tháng 07 năm 2019 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 ĐỘC LẬP - TỰ DO - HẠNH PHÚC Trang BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN o0o -Tp HCM, ngày tháng năm 2019 NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Phan Công Phiếu MSSV: 15151191 Họ tên sinh viên 2: Trần Huỳnh Hưng MSSV: 15151160 Chuyên ngành: Công nghệ Kỹ thuật Điều khiển Tự động hóa Hệ đào tạo: Đại học quy Khóa: 2015-2019 Lớp: 151512 I TÊN ĐỀ TÀI: THIẾT KẾ THIẾT BỊ ĐEO PHÁT HIỆN TÉ NGÃ Ở NGƯỜI CAO TUỔI II NHIỆM VỤ Các số liệu ban đầu: Nội dung thực hiện: Tìm hiểu nghiên cứu nhịp tim, thuật tốn đo nhịp tim Tìm hiểu phương pháp nghiên cứu té ngã, thuật toán phát té ngã Thi cong mơ hình đo nhịp tim, phát té ngã III NGÀY GIAO NHIỆM VỤ: IV NGÀY HOÀN THÀNH NHIỆM VỤ: V HỌ VÀ TÊN CÁN BỘ HƯỚNG DẪN: TS Nguyễn Văn Thái CÁN BỘ HƯỚNG DẪN BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN Trang TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ BỘ MƠN TỰ ĐỘNG ĐIỀU KHIỂN CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC o0o -Tp HCM, ngày tháng năm LỊCH TRÌNH THỰC HIỆN ĐỒ ÁN TỐT NGHIỆP Họ tên sinh viên 1: Phan Công Phiếu MSSV: 15151191 Họ tên sinh viên 2: Trần Huỳnh Hưng MSSV: 15151160 Tên đề tài: THIẾT KẾ THIẾT BỊ ĐEO PHÁT HIỆN TÉ NGÃ Ở NGƯỜI CAO TUỔI Xác nhận GVHD Tuần/ngày Nội dung Tìm hiểu STM32F103C8T6 Tìm hiểu phương pháp đo nhịp tim phương pháp quang hấp thụ Viết chương trình đo nhịp tim từ Pulse sensor Tìm hiểu phương pháp phát té ngã Viết chương trình phát té ngã Viết chương trình truyền liệu websever gởi cánh báo điện thoại Thiết kế websever Thử nghiệm Chuẩn bị Powerpoint + Video 10 Chuẩn bị báo cáo GV HƯỚNG DẪN (Ký ghi rõ họ tên) Trang TRƯỜNG ĐH SPKT TP HỒ CHÍ MINH KHOA ĐIỆN-ĐIỆN TỬ BỘ MÔN TỰ ĐỘNG ĐIỀU KHIỂN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM ĐỘC LẬP - TỰ DO - HẠNH PHÚC o0o -Tp HCM, ngày tháng năm 2019 LỜI CAM ĐOAN Tôi xin cam kết đề 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 Trang LỜI CẢM ƠN Trong suốt trình thực đề tài, với giúp đỡ nhiệt tình q thầy cơ, hướng dẫn mặt yếu tố định đến thành công đề tài ngày hôm Nhóm xin chân thành gửi lời cảm ơn đến: Giáo viên hướng dẫn TS Nguyễn Văn Thái định hướng, nhiệt tình giúp đỡ, bảo tận tình tạo điều kiện tốt cho nhóm suốt trình thực đề tài Nhóm xin gửi lời cảm ơn đến tồn q thầy Khoa Điện – Điện tử Bộ môn Tự Động Điều Khiển giúp đỡ nhóm nhiều q trình thực đề tài đóng góp ý kiến tạo điều kiện thuận lợi giúp đề tài hoàn thiện Nhóm xin gửi lời cảm ơn đến tập thể lớp 151512B, trình làm đề tài bạn có ý kiến thiết thực giúp đỡ nhóm việc thiết kế thi cơng đề tài Cuối cùng, nhóm xin gởi lời cảm ơn chân thành tới cha mẹ, bậc sinh thành hy sinh nhiều để nuôi nấng, dạy dỗ, động viên khích lệ chúng em, cảm ơn nhà trường, thầy cô, bạn bè động viên giúp đỡ suốt q trình thực đề tài Nhóm xin chân thành cảm ơn! Trang MỤC LỤC Trang DANH MỤC HÌNH ẢNH Trang DANH MỤC BẢNG Trang DANH MỤC TỪ VIẾT TẮT Từ viết tắt Giải thích OLED Organic light-emitting diode Diode phát sáng hữu LCD Liquid Crystal Display Màn hình tinh thể lỏng ADC I2C Analog-to-digital converter Serial Peripheral Interface Inter-Integrated Circuit Mạch chuyển đổi tương tự số Giao diện ngoại vi nối tiếp Bus nối tiếp BPM Beat per minute SPI IBI Inter Beat Interval SMS Short Message Services Đơn vị quy ước nhịp tim phút Thời gian đỉnh song nhịp tim Gởi tin nhắn RTC Real Time clock Xung thời gian thực GPS Global Positioning System Hệ thống Định vị Toàn cầu Trang 10 runningTotal /= 10; BPM = (60000 / runningTotal); BPM1=BPM-0.3*BPM; QS = 1; } } if (Signal2 < thresh && Pulse == 1) // tin hieu xuong duoi nguong, coi nhu da xong mot nhip { Pulse = 0; amp = P - T; thresh = amp / + T;// cap nhat lai nguong P = thresh; T = thresh; } if (N > 2500) // sau 2.5s khong phat hien nhip tim thi dat lai cac gia tri mac dinh { thresh =2020; P = 2000; T = 2000; lastBeatTime = firtsBeatTime; firstBeat = 1; secondBeat = 0; } } void hienthi()//hien ti nhip tim len Oled { SSD1306_Fill(0); Trang 51 SSD1306_GotoXY(1,10); SSD1306_Puts("BPM",&Font_11x18,1); sprintf(Beat,"%d",BPM1); SSD1306_GotoXY(40,10); SSD1306_Puts(Beat,&Font_11x18,1); SSD1306_UpdateScreen(); } void adxl_write (uint8_t reg, uint8_t value) { uint8_t data[2]; data[0] = reg; data[1] = value; HAL_I2C_Master_Transmit (&hi2c1, adxl_address, data, 2, 100); } void adxl_read_values (uint8_t reg) { HAL_I2C_Mem_Read (&hi2c1, adxl_address, reg, 1, (uint8_t *)data_rec, 6, 100); } void adxl_read_address (uint8_t reg) { HAL_I2C_Mem_Read (&hi2c1, adxl_address, reg, 1, &chipid, 1, 100); } void adxl_init (void) { Trang 52 adxl_read_address (0x00); // read the DEVID adxl_write (0x31, 0x01); // data_format range= +- 4g adxl_write (0x2d, 0x00); // reset all bits adxl_write (0x2d, 0x08); // power_cntl measure and wake up 8hz } void set_up(void) { HAL_Delay(15000); printf("AT\r\n"); //kiem tra module HAL_Delay(1000); printf("AT+CMGF=1\r\n"); //cau hinh tin nhan van ban HAL_Delay(2000); printf("AT+CGATT=1\r\n"); // cau hinh GPRS HAL_Delay(2000); printf("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\"\r\n"); HAL_Delay(2000); printf("AT+SAPBR=1,1\r\n"); HAL_Delay(2000); } void sendnt_data(float a) { printf("AT+HTTPINIT\r\n"); HAL_Delay(500); printf("AT+HTTPPARA=\"URL\",\"suckhoexyz.000webhostapp.com/adddata1.php?&nhiptimtb=%f\"\r\n",a); HAL_Delay(500); printf("AT+HTTPPARA=\"CID\",1\r\n"); Trang 53 HAL_Delay(500); printf("AT+HTTPACTION=0\r\n"); HAL_Delay(1000); } void sendcb_data(char* s) { printf("AT+HTTPINIT\r\n"); HAL_Delay(1000); printf("AT+HTTPPARA=\"URL\",\"suckhoexyz.000webhostapp.com/adddata2.php?&nd=%s\"\r\n",s); HAL_Delay(1000); printf("AT+HTTPPARA=\"CID\",1\r\n"); HAL_Delay(1000); printf("AT+HTTPACTION=0\r\n"); HAL_Delay(3000); } void calling(void) { printf("ATD0385503323;\r\n"); HAL_Delay(4000); } void sms_send(char* mes) { printf("AT+CMGF=1\r\n"); HAL_Delay(1000); printf("AT+CMGS=\"0385503323\"\r\n"); HAL_Delay(1000); printf("%s",mes); putchar(26); } Trang 54 /* USER CODE END */ /** * @brief The application entry point * @retval int */ int main(void) { /* USER CODE BEGIN */ /* USER CODE END */ /* MCU Configuration */ /* Reset of all peripherals, Initializes the Flash interface and the Systick */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ Trang 55 /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_ADC1_Init(); MX_I2C1_Init(); MX_USART1_UART_Init(); /* USER CODE BEGIN */ adxl_init(); SSD1306_Init(); HAL_ADC_Start_IT(&hadc1); set_up(); /* USER CODE END */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { adxl_read_values (0x32); x = ((data_rec[1]