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

đồ án tốt nghiệp ỨNG DỤNG INTERNET TRONG VIỆC THEO DÕI SỨC KHỎE BỆNH NHÂN TIM MẠCH

118 1,1K 4

Đ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 118
Dung lượng 5,39 MB

Nội dung

PHẦN MỞ ĐẦU Phần này trình bày ý tưởng, nội dung, phương pháp nghiên cứu và kết quả đạt được của đồ án xuất phát từ các nhu cầu thực tiễn trong cuộc sống. Việt Nam đang bước vào giai đoạn già hóa dân số với những thách thức lớn. Số người cao tuổi tăng nhanh đòi hỏi sự chăm sóc cả về thể xác lẫn tinh thần. Hơn nữa, xu hướng bệnh tật thế giới cũng như Việt Nam đang thay đổi. Nếu trước đây những bệnh cấp tính lây nhiễm như dịch hạch, sốt rét, nhiễm khuẩn các loại hay gặp thì hiện nay các bệnh không lây nhiễm như bệnh tim mạch, đái tháo đường, ung thư ngày càng nhiều. Theo số liệu của Bộ Y tế công bố năm 2012, tỷ lệ người cao tuổi có sức khỏe tốt chỉ chiếm khoảng 5%. 95% còn lại mắc các bệnh khác, trong đó bệnh tăng huyết áp chiếm gần 40%. Cũng theo một thống kê khác của Bộ Y Tế Việt Nam, tỷ lệ mắc và chết do bệnh lý không lây nhiễm năm 1976 lần lượt là 43%, 45% thì đến năm 2003 các tỷ lệ này là 61%, 59%. (1) Vì vậy, việc giám sát sức khỏe, đưa ra những cảnh báo kịp thời có ý nghĩa vô cùng to lớn. Trên cơ sở đó, ý tưởng thiết kế một hệ thống để theo dõi và đưa ra cảnh báo về tình trạng sức khỏe của bệnh nhân tim mạch đã được nhóm hình thành. Đối tượng mà hệ thống này hướng đến là bệnh nhân tim mạch cần được theo dõi tình trạng hoạt động của tim một cách sát sao. Bệnh tim mạch là một nhóm bệnh mãn tính gồm có các bệnh sau:  tăng huyết áp, suy tim, bệnh tim thiếu máu cục bộ, bệnh mạch máu não…Điểm nổi bật trong phương pháp điều trị bệnh mãn tính là áp dụng những chế độ kiểm soát bệnh lâu dài, kết hợp chặt chẽ giữa thầy thuốc và người bệnh trong việc áp dụng các chế độ điều trị: theo dõi bệnh, chế độ sinh hoạt, tập luyện, điều chỉnh thuốc. Chính vì vậy, nhóm chúng em đã nghĩ đến việc đưa ứng dụng của internet vào hệ thống nhằm mục đích giúp bác sĩ theo dõi bệnh nhân được thuận tiện hơn.

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA

ĐỒ ÁN TỐT NGHIỆP

Đề tài:

ỨNG DỤNG INTERNET TRONG VIỆC

THEO DÕI SỨC KHỎE BỆNH NHÂN TIM MẠCH

Trang 2

PHẦN MỞ ĐẦU

Phần này trình bày ý tưởng, nội dung, phương pháp nghiên cứu vàkết quả đạt được của đồ án xuất phát từ các nhu cầu thực tiễn trongcuộc sống

Việt Nam đang bước vào giai đoạn già hóa dân số với những tháchthức lớn Số người cao tuổi tăng nhanh đòi hỏi sự chăm sóc cả về thểxác lẫn tinh thần Hơn nữa, xu hướng bệnh tật thế giới cũng như ViệtNam đang thay đổi Nếu trước đây những bệnh cấp tính lây nhiễmnhư dịch hạch, sốt rét, nhiễm khuẩn các loại hay gặp thì hiện nay cácbệnh không lây nhiễm như bệnh tim mạch, đái tháo đường, ung thưngày càng nhiều Theo số liệu của Bộ Y tế công bố năm 2012, tỷ lệngười cao tuổi có sức khỏe tốt chỉ chiếm khoảng 5% 95% còn lạimắc các bệnh khác, trong đó bệnh tăng huyết áp chiếm gần 40%.Cũng theo một thống kê khác của Bộ Y Tế Việt Nam, tỷ lệ mắc vàchết do bệnh lý không lây nhiễm năm 1976 lần lượt là 43%, 45% thìđến năm 2003 các tỷ lệ này là 61%, 59% (1)

Vì vậy, việc giám sát sức khỏe, đưa ra những cảnh báo kịp thời có ýnghĩa vô cùng to lớn

Trên cơ sở đó, ý tưởng thiết kế một hệ thống để theo dõi và đưa racảnh báo về tình trạng sức khỏe của bệnh nhân tim mạch đã đượcnhóm hình thành Đối tượng mà hệ thống này hướng đến là bệnh

Trang 3

nhân tim mạch cần được theo dõi tình trạng hoạt động của tim mộtcách sát sao.

Bệnh tim mạch là một nhóm bệnh mãn tính gồm có các bệnh sau: tăng huyết áp, suy tim, bệnh tim thiếu máu cục bộ, bệnh mạch máunão…Điểm nổi bật trong phương pháp điều trị bệnh mãn tính là ápdụng những chế độ kiểm soát bệnh lâu dài, kết hợp chặt chẽ giữathầy thuốc và người bệnh trong việc áp dụng các chế độ điều trị:theo dõi bệnh, chế độ sinh hoạt, tập luyện, điều chỉnh thuốc Chính vìvậy, nhóm chúng em đã nghĩ đến việc đưa ứng dụng của internet vào

hệ thống nhằm mục đích giúp bác sĩ theo dõi bệnh nhân được thuậntiện hơn

LỜI CAM ĐOAN

Em xin cam đoan nội dung của đồ án “Ứng dụng internet trong việctheo dõi sức khỏe bệnh nhân tim mạch” không phải là bản sao chépcủa bất cứ đồ án hoặc công trình đã có từ trước

Sinh viên thực hiện

Trang 4

Hồ Sỹ Kiên

Trang 5

PHÂN CHIA CÔNG VIỆC

Nguyễn Trí Bằng - Thiết kế thiết bị đo nhịp tim

- Thiết kế giao diện website, tìm hiểu

ngôn ngữ HTML và CSS

liệu giữa Arduino và server

- Làm việc với cơ sở dữ liệu, tìm hiểu

ngôn ngữ PHP và Javascript

Trang 6

MỤC LỤ

Trang 7

PHẦN MỞ ĐẦU 1

LỜI CAM ĐOAN 2

PHÂN CHIA CÔNG VIỆC 2

DANH MỤC HÌNH 8

DANH MỤC SƠ ĐỒ 9

DANH MỤC BẢNG 10

DANH MỤC TỪ VIẾT TẮT 11

NỘI DUNG ĐỒ ÁN 13

TRÌNH BÀY ĐỒ ÁN 13

KẾT QUẢ ĐẠT ĐƯỢC 14

CHƯƠNG 1:TỔNG QUAN VỀ HỆ THỐNG 15

1.1 Giới thiệu chương 15

1.2 Mô hình hệ thống trên nền IoT 15

1.2.1 Bệnh nhân tim mạch 15

1.2.2 Thiết bị kiểm tra tim mạch 16

1.2.3 Thiết bị giám sát đầu cuối 16

1.2.4 Bác sĩ gia đình 16

1.2.5 Server 17

1.3 Chức năng của hệ thống 17

1.4 Kết luận chương 18

CHƯƠNG 2: THIẾT KẾ THIẾT BỊ ĐO TIM MẠCH 19

2.1 Giới thiệu chương 19

2.2 Các thành phần chính trong hệ thống 19

2.2.1 Ethernet Shield 19

2.2.2 Arduino UNO R3 21

Trang 8

2.2.2.3 Các chế độ hoạt động 23

2.2.3 Cảm biến vật thể OMKQN E3F-DS10P2 23

2.2.3.1 Vai trò 23

2.2.3.2 Nguyên lí hoạt động 24

2.2.4 Cảm biến nhịp tim Pulse Sensor 24

2.2.4.1 Giới thiệu 24

2.2.4.2 Nguyên lý hoạt động 25

2.2.4.3 Tìm hiểu chương trình ISR đo nhịp tim 27

2.2.4.3.1 Giới thiệu 27

2.2.4.3.2 Tìm hiểu chi tiết 27

2.2.5 ModulSim900A 32

2.2.5.1 Giới thiệu 32

2.2.5.2 Xây dựng các hàm chức năng 33

2.2.6 Màn hình hiển thị 33

2.3 Tìm hiểu các giao thức có trong thiết bị đo nhịp tim 35

2.3.1 Giao thức SPI 35

2.3.2 Giao thức I2C 36

2.4 Cách thức và cơ chế đưa ra cảnh báo 37

2.5 Sơ đồ nguyên lí các linh kiện trong thiết bị 38

2.6 Kết luận chương 39

CHƯƠNG 3: XÂY DỰNG HỆ THỐNG THEO DÕI Ở SERVER 41

3.1 Giới thiệu chương 41

3.2 Tổng quan về TCP/IP và giao thức HTTP 41

3.2.1 TCP/IP 41

3.2.2 Giao thức HTTP - HyperText Transfer Protocol 45

3.3 Kết nối và gửi dữ liệu từ Arduino lên Server 46

3.4 Xây dựng cơ sở dữ liệu ở server 47

3.4.1 Tổng quan về PHP 47

3.4.1.1 Giới thiệu về php 47

3.4.1.2 Các đặc điểm của php 48

Trang 9

3.4.1.3 Các chức năng của php 48

3.4.2 Tổng quan về MYSQL 49

3.4.2.1 Giới thiệu về MYSQL 49

3.4.2.2 Một số đặc điểm của MySQL 50

3.4.3 Cấu hình cho cơ sở dữ liệu 50

3.4.4 Tạo tập tin nhận dữ liệu từ Arduino và ghi nó vào Database 53

3.5 kết luận chương 55

CHƯƠNG 4: THIẾT KẾ VÀ SỬ DỤNG WEBSITE THEO DÕI BỆNH NHÂN 56

4.1 Giới thiệu chương 56

4.2 Thiết kế giao diện website bằng HTML và CSS 56

4.2.1 Giới thiệu về HTML 56

4.2.1.1 Khái niệm 56

4.2.1.2 Cấu trúc cây HTML cơ bản 56

4.2.1.3 Thẻ chuyển liên kết trong HTML 57

4.2.2 Giới thiệu về CSS 58

4.2.2.1 khái niệm 58

4.2.2.2 Tác dụng của CSS 58

4.2.2.3 Cách sử dụng CSS 59

4.2.2.4 Cú pháp cơ bản 60

4.2.2.5 Ví dụ minh họa 60

4.3 Tìm hiểu cách thiết kế một vài danh mục của website 61

4.3.1.1 Danh mục trang chủ HOME 63

4.3.1.2 Danh mục đăng nhập SIGN IN 64

4.4 Dùng PHP và MYSQL để truy xuất và hiển thị dữ liệu từ database 65

4.4.1 Xuất dữ liệu dạng bảng 65

4.4.1.1 Tạo form cho bảng 66

4.4.1.2 Truy xuất dữ liệu trong database ra bảng trên website 67

Trang 10

4.4.2.3 lọc giá trị theo ngày gần nhất 69

4.4.2.4 Vẽ đồ thị bằng javascript 69

4.5 Sử dụng trang web để theo dõi bệnh nhân 71

4.6 Kết luận chương 71

PHỤ LỤC 75

Trang 11

DANH MỤC HÌNH

Hình 1.1: Mô hình tổng quan của hệ thống 15

Hình 1 2: chức năng của hệ thống 17

Hình 2.1: Sơ đồ khối các thành phần chính trong thiết bị kiểm tra tim mạch 19

Hình 2.2: module Ethernet Shield 19

Hình 2.3: Arduino uno R3 21

Hình 2.4: cảm biến vật thể OMKQM E3F-DS10P2 23

Hình 2.5: nguyên lý hoạt động của cảm biến vật thể 24

Hình 2.6: nguyên lý hoạt động của cảm biến nhịp tim 25

Hình 2.7: tín hiệu cảm biến dao động khi gặp vật thể 25

Hình 2.8: cảm biến nhịp tim 26

Hình 2.9: Các chân của moduleSim900A 32

Hình 2.10: LCD 20x4 34

Hình 2.11: nối chân LCD với Arduino 35

Hình 2.12: Kết nối giữa Ethernet Shield và Arduino Uno R3 theo các chân tương ứng 39

Hình 2.13: 16 chân của module I2C kết nối với 16 chân của LCD 20x4 39

Hình 3.1: trình quản lý hosting 51

Hình 3.2: tạo quyền quản lý truy cập CSDL 52

Hình 4.3: tạo 1 bảng trong database 53

Hình 3.4: tập tin chuyên nhận dữ liệu và ghi vào database 54

Hình 3.5: bảng các giá trị đo được từ arduino gửi lên 55

Hình 4.1: danh mục của website 61

Hình 4.2: Giao diện trong danh mục HOME 63

Hình 4.3: giao diện danh mục SIGN IN 65

Hình 4.4: bảng hiển thị giá trị ra website 65

Hình 4.5: đồ thị nhịp tim ngày gần nhất 67

Hình 4.6: thư viện chart.js được thêm ở trình quản lý file 68

Trang 12

DANH MỤC SƠ ĐỒ

Sơ đồ 2.1: Sơ đồ mạch trong cảm biến nhịp tim Pulse Sensor Ampled (3) 27

Sơ đồ 2.2: sơ đồ nối chân cho arduino 32

Sơ đồ 2.3: sơ đồ giao tiếp I2C 37

Sơ đồ 2.4: Sơ đồ kết nối các thành phần trong thiết bị kiểm tra nhịp tim 38

Sơ đồ 3.1: Mô hình 4 tầng của TCP / IP 42

Trang 13

DANH MỤC BẢNG

Bảng 2.1: tóm tắt chức năng một số biến trong chương trình 31 Bảng 2.2: Các chân chức năng của màn hình LCD 20x4 34 Bảng 4.1: chức năng của các danh mục 61

Trang 14

DANH MỤC TỪ VIẾT TẮT

EEPROM Electrically Eraseble Programmable

Read Only Memory

Trang 15

URL Uniform Resource Locator

Trang 16

NỘI DUNG ĐỒ ÁN

Nội dung của đồ án này là cách thức xây dựng một hệ thống theo dõisức khỏe trên nền Internet of Things Cụ thể, đồ án này sẽ trình bàycác bước thiết kế một thiết bị đo nhịp tim có kết nối với internet.Đồng thời, đồ án này cũng giới thiệu các giao thức truyền nhận dữliệu trong hệ thống cũng như các ngôn ngữ để lập trình một websitephục vụ cho việc theo dõi tình trạng sức khỏe của bệnh nhân

Nhờ vào internet, mọi giao tiếp giữa bệnh nhân và bác sĩ trở nên khá

dễ dàng Thay vì phải gặp trực tiếp để bác sĩ theo dõi diễn biến củatim mạch, bệnh nhân chỉ cần ở nhà tự kiểm tra bằng máy đo nhịptim Dữ liệu đo đạc sau đó sẽ được gửi lên và lưu lại ở server Qua đó,bác sĩ có thể đưa ra các lời khuyên cho người bệnh một cách hợp línhất Ngoài ra, khi có biến cố thì thiết bị đo sẽ đưa ra cảnh báo trựctiếp đến bệnh nhân hoặc bác sĩ

Trang 17

Chương 3: Xây dựng hệ thống theo dõi ở server

Chương 4: Thiết kế và sử dụng website theo dõi bệnh nhân

PHƯƠNG PHÁP NGHIÊN CỨU

Phương pháp nghiên cứu của đồ án là tìm hiểu các tài liệu kĩ thuậtliên quan đến các thành phần trong hệ thống

 Giao tiếp giữa thiết bị đo nhịp tim và server ổn định

 Cảnh báo kịp thời khi có biến cố xảy ra

 Thiết kế giao diện website dễ sử dụng, hiển thị dữ liệu trựcquan, rõ ràng

Trang 18

CHƯƠNG 1:TỔNG QUAN VỀ HỆ THỐNG

1.1 Giới thiệu chương

Chương này trình bày tổng quan về hệ thống Hệ thống gồm hai phầnchủ đạo: server – nơi lưu trữ thông tin và là cầu nối giao tiếp giữa bác

sĩ và người bệnh; và thiết bị kiểm tra nhịp tim đặt tại nhà có giao tiếpqua internet

1.2 Mô hình hệ thống trên nền IoT

Trang 19

Hình 1.1: Mô hình tổng quan của hệ thống

1.2.1 Bệnh nhân tim mạch

Hệ thống được thiết kế để phục vụ cho việc giám sát sức khỏe bệnhnhân tim mạch được thuận tiện hơn Những đối tượng bệnh nhân nàycần được bác sĩ giám sát định kì, đặc biệt là những bệnh nhân cótriệu chứng về bệnh tim trong thời kì đầu

Tùy theo tình trạng bệnh lí và yêu cầu từ phía bác sĩ, chu kì đo vàkiểm tra sẽ thay đổi Có thể bệnh nhân sẽ phải đo nhịp tim của mìnhhàng giờ hoặc có thể sát sao hơn

1.2.2 Thiết bị kiểm tra tim mạch

Chức năng của thiết bị là để đo và hiển thị nhịp tim của bệnh nhânlên màn hình, gửi tin nhắn văn bản hoặc gọi điện đến người thân khi

có biến cố

Thiết bị gồm có các thành phần chính sau:

 Arduino Uno R3

Trang 20

1.2.3 Thiết bị giám sát đầu cuối

Trên một giao diện website đã được thiết kế, bác sĩ có thể theo dõi,quan sát thông tin trên thiết bị giám sát của mình Thiết bị giám sátđầu cuối có thể là máy tính văn phòng hoặc máy tính cá nhân

bị giám sát của mình, bác sĩ có thể truy cập vào website để theo dõithông tin tình trạng sức khỏe của bệnh nhân ở mọi lúc mọi nơi

Trang 21

1.2.5 Server

Server là nơi nơi lưu trữ dữ liệu về tất cả lịch sử bệnh án của bệnhnhân theo thời gian Ngoài ra server còn có chức năng quản lí quyềnđăng nhập và truy cập dữ liệu từ phía người dùng Cả bệnh nhân vàbác sĩ đều có thể truy cập vào website để theo dõi thông tin dữ liệucủa mình Riêng phía bác sĩ sẽ được cấp thêm quyền truy cập vào cơ

sở dữ liệu

Ở trong hệ thống này, server sẽ là cầu nối quan trọng giữa bệnhnhân và bác sĩ Giao thức truyền gừi dữ liệu được sử dụng trong hệthống là TCP/IP Chi tiết về TCP/IP sẽ được trình bày ở chương sau

1.3 Chức năng của hệ thống

Hình 1 2: chức năng của hệ thống

Chức năng quan trọng đầu tiên của hệ thống là đo và hiển thị nhịptim lên màn hình LCD cỡ nhỏ Thông tin sẽ được hiển thị như sau:

Trang 22

Khi bệnh nhân chưa đo: hiển thị các thông số đo của lần đo ngaytrước đó.

Khi đang tiến hành đo: hiển thị liên tục 10 giá trị tức thời (số nhịp đậptrong 1 phút, BPM) , số nhịp tim trung bình trong 1 phút, và giá trị lớnnhất, nhỏ nhất trong 10 giá trị đó

Một chức năng quan trọng khác của hệ thống đó là truyền dữ liệu đođược lên server, dữ liệu được lưu lại thành một cơ sở dữ liệu theongày giờ đo, đồng thời hiển thị thông số đo dưới dạng đồ thị lên trangweb Bác sĩ có thể theo dõi những thông tin này ở màn hình thiết bịgiám sát đầu cuối

Ở phía người giám sát, hệ thống sẽ quản lí quyền đăng nhập vào cơ

sở dữ liệu Sau khi đăng nhập vào hệ thống với tài khoản được cấptrước, bác sĩ có thể bắt đầu quá trình theo dõi tình trạng tim mạchcủa bệnh nhân Khi cần thiết, người giám sát có thể gửi thông tin (lờikhuyên, lời nhắn, lịch khám…) đến người bệnh Thông tin sẽ đượchiển thị lên màn hình ở máy đo của bệnh nhân

Ngoài ra, hệ thống còn được phát triển chức năng cảnh báo Nó sẽ tựđộng cảnh báo khi nhịp tim có diễn biến bất thường Thiết bị kiểm tranhịp tim sẽ gửi tin nhắn đến số điện thoại cá nhân của bác sĩ, ngườithan, đồng thời sẽ phát ra chuông cảnh báo

Trang 23

1.4 Kết luận chương

Với việc phát triển hệ thống theo dõi sức khỏe từ xa thông qua

internet, việc thăm khám chữa bệnh đã trở nên thuận tiện hơn nhiều.Tuy nhiên phạm vi đối tượng mà hệ thống này hướng đến còn hạn hẹp

Dữ liệu gửi từ thiết bị kiểm tra tim mạch lên server là tương đối nhẹ trong khi giao thức TCP/IP lại có các header dung lượng lớn dẫn đến tốn băng thông

Trang 24

CHƯƠNG 2: THIẾT KẾ THIẾT BỊ ĐO TIM MẠCH

2.1 Giới thiệu chương

Chương này sẽ trình bày các thông số kĩ thuật của từng thiết bị cũngnhư sơ đồ kết nối các linh kiện trong thiết bị kiểm tra tim mạch

2.2 Các thành phần chính trong hệ thống

Hình 2.3: Sơ đồ khối các thành phần chính trong thiết bị kiểm tra tim mạch

2.2.1 Ethernet Shield

Trang 25

Hình 2.4: module Ethernet Shield

Arduino Ethernet Shield giúp kết nối bo Arduino với internet một cáchnhanh chóng Chỉ cần cắm Arduino Ethernet Shield lên bo Arduino,kết nối nó vào mạng thông qua một cáp RJ45 và thêm vài bước đơngiản là ta đã có thể kết nối với thế giới thông qua internet

Arduino Ethernet Shield được thiết kế dựa trên chip Wiznet W5100,

hỗ trợ cả hai chuẩn Ethernet là TCP và UDP Nó sử dụng thư việnEthernet có sẵn để kết nối với internet thông qua một Jack RJ45

Arduino Ethernet Shield có tích hợp khe cắm thẻ micro SD, có thểđược sử dụng để mở rộng bộ nhớ cho Arduino, lưu trữ các tập tinphục vụ qua mạng Arduino Ethernet Shield tương thích với ArduinoUno và Mega (sử dụng thư viện Ethernet có sẵn trong Arduino IDE).Thư viện SD cũng có sẵn trong Arduino IDE

Khai báo thư viện:

#include <Ethernet.h>

Lưu ý rằng vì W5100 và thẻ SD đều sử dụng SPI bus, nên chỉ có mộttrong hai có thể được hoạt động tại một thời điểm Nút reset trênEnthernet Shield hoạt động reset trên cả sW5100 và boardArduino

Trang 26

PWR: chỉ ra enthernet shield và board adruino uno đang hoạt động

LINK: chỉ ra sự hiện diện của một network link và nhấp nháy khishield truyền tải hoặc nhận dữ liệu

FULLD: cho biết kết nối mạng là full duplex

RX: nhấp nháy khi Shield nhận dữ liệu

TX: nhấp nháy khi Shield gửi dữ liệu

COLL: nhấp nháy khi network collisions được phát hiện

2.2.2 Arduino UNO R3

Trang 27

Hình 2.5: Arduino uno R3

2.2.2.1 Vai trò trong hệ thống

Ở trong hệ thống này, Arduino UNO R3 có vai trò lấy dữ liệu từ cảmbiến nhịp tim, xử lí dữ liệu và giao tiếp với Ethernet Shield, qua đógiao tiếp với server

2.2.2.2 Tìm hiểu tổng quan về Arduino

Arduino UNO có thể sử dụng 3 vi điều khiển họ 8bit AVR là ATmega8,ATmega168, ATmega328 Bộ não này có thể xử lí những tác vụ đơngiản như điều khiển đèn LED nhấp nháy, xử lí tín hiệu cho xe điềukhiển từ xa, làm một trạm đo nhiệt độ, độ ẩm và hiển thị lên mànhình LCD, hay những ứng dụng khác Ở đây nhóm sử dụng vi điềukhiển ATmega328

Trang 28

Arduino UNO có thể được cấp nguồn 5V thông qua cổng USB hoặccấp nguồn ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là6-20V.

Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng cácchức năng sau:

 32KB bộ nhớ Flash: những đoạn lệnh lập trình sẽ được lưu trữtrong bộ nhớ Flash của vi điều khiển

 2KB cho SRAM (Static Random Access Memory): giá trị các biếnkhai báo khi lập trình sẽ lưu ở đây Nếu khai báo càng nhiềubiến thì càng cần nhiều bộ nhớ RAM Tuy vậy, thực sự thì cũnghiếm khi nào bộ nhớ RAM lại trở thành thứ phải bận tâm Khimất điện, dữ liệu trên SRAM sẽ bị mất

 1KB cho EEPROM (Electrically Eraseble Programmable ReadOnly Memory): đây giống như một chiếc ổ cứng mini – nơi đọc

và ghi dữ liệu vào mà không phải lo bị mất khi cắt điện giốngnhư dữ liệu trên SRAM

 Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu.Chúng chỉ có 2 mức điện áp là 0V và 5V với dòng vào/ra tối đatrên mỗi chân là 40mA Ở mỗi chân đều có các điện trở pull-up

từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc địnhthì các điện trở này không được kết nối)

 Một số chân digital có các chức năng đặc biệt như sau:

Trang 29

 2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) vànhận (receive – RX) dữ liệu TTL Serial Arduino Uno có thể giaotiếp với thiết bị khác thông qua 2 chân này

 Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép xuất ra xungPWM với độ phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V

→ 5V) bằng hàm analogWrite() Nói một cách đơn giản, ta cóthể điều chỉnh được điện áp ra ở chân này từ mức 0V đến 5Vthay vì chỉ cố định ở mức 0V và 5V như những chân khác

 Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK) Ngoài các chức năng thông thường, 4 chân này còn dùng đểtruyền phát dữ liệu bằng giao thức SPI với các thiết bị khác

 LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L).Khi bấm nút Reset sẽ thấy đèn này nhấp nháy để báo hiệu Nóđược nối với chân số 13 Khi chân này được người dùng sửdụng, LED sẽ sáng

 Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0 → 210-1) để đọc giá trị điện áp trong khoảng 0V

→ 5V Với chân AREF trên board, ta có thể để đưa vào điện áp

tham chiếu khi sử dụng các chân analog Tức là nếu ta cấp điện

áp 2.5V vào chân này thì đã có thể dùng các chân analog để đo điện áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn là 10bit

Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác

Trang 30

Ở CTC Mode: ngoài set các bit trong thanh ghi TCCR2B để chọn

prescaler, cần set bit WGM21 lên 1 bằng dòng: TCCR2A |= (1 << WGM21);

Cách set thanh ghi TIMSK2 tương tự như TIMSK1: OCIE2A (Output Compare Interrupt Enable 2 Channel A), OCIE2B, TOIE2 (Timer

Overflow Interrupt 2 Enable)

2.2.3 Cảm biến vật thể OMKQN E3F-DS10P2

Hình 2.6: cảm biến vật thể OMKQM E3F-DS10P2

2.2.3.1 Vai trò

Cảm biến này thực ra có vai trò như một chuyển mạch Nó được đặtphía dưới ngay trước cảm biến nhịp tim Vì thế, khi bệnh nhân đặt tay

Trang 31

vào cảm biến cũng là lúc tác động để mạch chuyển sang trạng thái

“ON” và hệ thống sẽ bắt đầu đo Khi bệnh nhân rút tay ra khỏi cảmbiến thì hệ thống cũng sẽ ngừng đo

2.2.3.2 Nguyên lí hoạt động

Đầu dò quang điện cảm biến chuyển E3F-DS10P2 DC có đường kính18mm và khoảng cách phát hiện tối đa 10 cm Nó thuộc loại cảmbiến 3 dây (Vcc, Gnd, Signal), đầu ra PNP Tức là, khi nó phát hiệnthấy vật thể, ngõ ra sẽ ở mức 0; ngược lại cho ra mức 1

Hình 2.7: nguyên lý hoạt động của cảm biến vật thể

Nguyên lí làm việc của đầu dò này dựa vào hiện tượng phản xạkhuếch tán Cảm biến dạng này truyền ánh sáng từ bộ phát tới vậtthể Vật này sẽ phản xạ lại một phần ánh sáng (phản xạ khuếch tán)ngược trở lại bộ thu của cảm biến, kích hoạt tín hiệu ra Nhược điểmcủa cảm biến loại này là phụ thuộc nhiều vào màu sắc, tính chất vàkích thước của bề mặt của vật thể Tuy nhiên với mục đích sử dụngtrong đồ án này thì đây là một sự lựa chọn tương đối phù hợp

Trang 32

2.2.4 Cảm biến nhịp tim Pulse Sensor

2.2.4.1 Giới thiệu

Pulse Sensor là một loại cảm biến đo nhịp tim được thiết kế dùng vớiArduino Bằng cách kết nối cảm biến này với Arduino, nạp mộtchương trình đơn giản và đặt cảm biến vào đầu ngón tay hoặc dái tai,bất cứ ai cũng có thể theo dõi nhịp tim của mình thông qua ứng dụngtheo dõi có sẵn

2.2.4.2 Nguyên lý hoạt động

Cảm biến nhịp tim hoạt động dựa vào nguyên lí của quang điện tửhọc Đèn LED sẽ chiếu ánh sáng vào bên trong ngón tay, dái tai, hoặccác mô có chức mạch máu khác Cảm biến sẽ đọc lượng ánh sángquay ngược trở lại

Hình 2.8: nguyên lý hoạt động của cảm biến nhịp tim

Mạch sử dụng bộ cảm biến ánh sáng Avago (APDS-9008), và ánh sang phản chiếu lại

từ led siêu sáng xanh lá cây Kingbright (AM2520ZGC09) Ngoài ra còn có sử dụng bộlọc tích cực để làm các dạng sóng rõ hơn và dễ dàng cho Arduino xử lý Khi Pulse Sensor Amped không tiếp xúc với bất kỳ ngón tay (dái tai hoặc các bộ phậnkhác) thì các tín hiệu analog dao động quanh điểm giữa của điện áp cung cấp, Vcc / 2

Trang 33

Khi cảm biến tiếp xúc trực tiếp ngón tay hoặc dái tai, sự thay đổi trong ánh sáng phản

xạ khi máu bơm qua các mô làm cho các tín hiệu dao động xung quanh đó để thamchiếu Trong hình bên dưới đường ngang là Vcc / 2

Hình 2.9: tín hiệu cảm biến dao động khi gặp vật thể

Arduino phát hiện tín hiệu analog từ cảm biến Một xung được tìm thấy khi các tín hiệu có giá trị tăng lên trên điểm giữa Đó là thời điểm khi các mô mao mạch được bơm máu khi tim đập tạo áp lực bơm máu Sau đó, khi tín hiệu giảm xuống dưới điểm giữa, Arduino sẽtìm các xung kế tiếp

Khi tim bơm máu đến các cơ quan, các tế bào trong cơ quan sẽ hấpthu lượng ánh sáng mà LED phát ra nhiều hơn Vì thế cảm biến sẽnhận được lượng ánh sáng phản xạ lại ít hơn Điều này có nghĩa giátrị trở kháng của cảm biến quang tăng lên Sự thay đổi các giá trị trởkháng này được tính toán, chuyển đổi và khuếch đại thành các tínhiệu đủ lớn nhờ op-amp rồi sau đó xử lí

Trang 34

Vi điều khiển được lập trình xử lí các chương trình ngắt ngoài mỗi khiphát hiện xung và đếm số xung mỗi phút Giá trị tính được chính là

số nhịp tim mỗi phút cần hiển thị(Beat per Minute - BPM)

Mặt sau của cảm biến là các thành phần khác như tụ điện, biến trở,

op amp…

Hình 2.10: cảm biến nhịp tim

Dây đỏ kết nối với nguồn cung cấp từ +3V đến +5V Dây đen nối vớiGND và dây tím là dây tín hiệu

Nếu để tay chạm vào 2 mặt sẽ làm ngắn mạch, đặc biệt là mặt sau

Ta cần bảo vệ mặt sau bằng keo nến trong để có thể thu và xử lí tínhiệu một cách chính xác nhất Khi đo tuyệt đối không để mặt sauchạm vào bất cứ vật gì ẩm ướt hoặc có thể dẫn điện

Trang 35

Sơ đồ 2.1: Sơ đồ mạch trong cảm biến nhịp tim Pulse Sensor Ampled (3)

2.2.4.3 Tìm hiểu chương trình ISR đo nhịp tim

2.2.4.3.1 Giới thiệu

Ánh sáng từ LED xanh lá cây được phản chiếu lại cảm biến thay đổitrong mỗi nhịp xung Nếu lượng ánh sáng mà cảm biến nhận đượckhông đổi, giá trị tín hiệu sẽ duy trì ở mức 512 (điểm giữa của phạm

vi giá trị ADC) Nếu nhiều ánh sáng hơn thì tín hiệu sẽ đi lên, vàngược lại, tín hiệu đi xuống

Mục đích của chương trình này là tìm những nhịp tim tức thời và đođạc khoảng thời gian ở giữa các nhịp (Inter Beat Interval, IBI) Từ đótính toán đưa ra số nhịp tim trong một phút (Beat Per Minute, BPM)

2.2.4.3.2 Tìm hiểu chi tiết

Trước hết, việc chọn tần số lấy mẫu thích hợp để cho ra các kết quả

đo tin cậy là vô cùng quan trọng Để làm điều này, nhà sản xuất đã

Trang 36

phân giải thời gian 2mS mỗi nhịp) Việc cài đặt Timer2 sẽ tắt chứcnăng PWM output trên chân số 3 và 11 của Arduino

Những cài đặt ở trên sẽ đưa Timer2 vào chế độ CTC và đếm lên đếngiá trị 124

(0x7C), cứ lặp đi lặp lại như thế Một bộ đếm gộp trước 256 được sửdụng để việc tính toán thời gian được chính xác, rằng sau 2 mili giây

sẽ đếm lên đến 124 Trong chương trình có sử dụng một cờ ngắt,được đặt giá trị mỗi khi Timer2 đếm toiws124 Ngoài ra còn có mộthàm đặc biệt để gọi chương trình phục vụ ngắt (Interrupt ServiceRoutine ,ISR) Ở đây hàm seri() cho phép ngắt toàn cục

Các dòng chip ATmega32u4 sử dụng vector ngắtISR(TIMER1_COMPA_vect) Khi cấp nguồn cho Arduino và cắm chântín hiệu của cảm biến Pulse Sensor vào chân analog A0, Arduino sẽđọc dữ liệu cảm biến 2mS một lần

Trang 37

Cứ 2mS thì hàm ISR ở trên được gọi 1 lần Công việc đầu tiên là đọctín hiệu tương tự cảm biến Pulse Sensor Sau đó tăng biến đếm lấymấu sampleCounter lên Biến sampleCounter này dùng trong việckiểm soát thời gian Còn biến N ở trên sẽ dùng cho việc chống nhiễu

ở phần sau của chương trình

Tiếp theo, để đo chính xác biên độ tín hiệu, cần phải kiểm soát đượcgiá trị cao nhất và thấp nhất của dạng sóng PPG(Photoplethysmograph)

Biến P và biến T lần lượt lưu giá trị đỉnh và sườn đáy của tín hiệu.Biến thresh được khởi tạo bằng giá trị điểm giữa của phạm vi ADC là

Trang 38

đáy sườn, biến T sẽ được cập nhật sau một khoảng thời gian là 3/5IBI.

Ở đây N có giá trị là 250 mi-li giây, ứng với giá trị giới hạn trên của

240 BPM Khi dạng sóng tăng vượt qua giá trị ngưỡng thresh và 3/5của khoảng thời gian IBI của nhịp trước đó đã trôi qua thì xem như ta

đã có được một xung Sau đó, từ xung nhịp trước, ta có thể tìm ra giátrị IBI Và sau cùng là cập nhật giá trị cho biến lastBeatTime

Đoạn chương trình dưới đây kiểm tra xem đã bắt đầu việc kiểm tranhịp tim đã thực sự bắt đầu hay chưa:

Đoạn chương trình dưới đây sẽ tính toán ra số nhịp tim trong mộtphút BPM:

Trang 39

Biến runningTotal phục vụ để tính toán ra BPM, các phần tử trongmảng rate[] được dịch toàn bộ và cộng dồn vào runningTotal Giá trịIBI lâu nhất (11 nhịp trước) dịch ra khỏi vị trí số 0, giá trị IBI mới nhấtđược đưa vào vị trí số 9 Sau đó ta có thể tính được trung bình 10 giátrị IBI này và tìm ra được giá trị BPM Cuối cùng là đặt cờ QS lên, tức

là ta đã tìm thấy một xung nhịp

Biến Pulse được đặt giá trí true khi tín hiệu đang tăng ở sườn lên củaxung Và khi tín hiệu vượt qua ngưỡng và đi xuống, đó là lúc xungsắp kết thúc Lúc đó ta xóa giá trị chân 13 (blinkPin), đặt biến

Trang 40

Đoạn chương trình dưới đây kiểm tra xem khi không có xung nhịp:

Nếu trong vòng 2.5 giây mà không tìm thấy xung nhịp nào thì cácbiến trong chương trình được khởi tạo về giá trị ban đầu Như vậychương trình phục vụ ngắt đến đây là kết thúc

Với việc sử dụng ngắt Timer2, thuật toán tìm nhịp tim luôn được chạynền và biến tự cập nhật giá trị Dưới đây là bảng tóm tắt chức năngmột số biến trong chương trình:

Ngày đăng: 27/05/2016, 19:10

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w