TÓM TẮT Đề tài “THIẾT KẾ VÀ THI CÔNG THIẾT BỊ THEO DÕI SỨC KHỎE DI ĐỘNG” sử dụng vi điều khiển ESP32, cảm biến MAX30100 để đo nhịp tim và nồng độ Oxy trong máu SpO2, SIMCOM A7680C để thự
CƠ SỞ LÝ THUYẾT
Cấu tạo, chức năng của trái tim
Tim là một trong những cơ quan quan trọng nhất của cơ thể, có cấu trúc hình nón rỗng và nằm ở vị trí ngực trái Nhiệm vụ chính của tim là bơm máu để cung cấp oxy và chất dinh dưỡng cho toàn bộ cơ thể.
Trung bình, một trái tim khỏe mạnh đập khoảng 100.000 lần mỗi ngày và bơm khoảng 7.200 lít máu để nuôi dưỡng cơ thể Khi tim ngừng đập, cơ thể lập tức rơi vào trạng thái chết lâm sàng.
Công thức tính nhịp tim là: 𝑠ố 𝑛ℎị𝑝 𝑡𝑖𝑚 đậ𝑝
Cấu tạo của tim được chia ra làm nhiều phần:
Buồng tim gồm bốn buồng: hai tâm nhĩ (trái và phải) và hai tâm thất (trái và phải), mỗi buồng có chức năng riêng biệt để đảm bảo quá trình bơm máu lưu thông khắp cơ thể.
- Thành tim: giữ vai trò co bóp để đưa máu đi khắp cơ thể thông qua các đường mạch máu
- Van tim: gồm van động mạch phổi, van 3 lá, van động mạch chủ và cuối cùng là van 2 lá
Trái tim không thể hoạt động một mình mà cần có hệ tuần hoàn máu hỗ trợ, bao gồm các động mạch, mao mạch và tĩnh mạch để đảm bảo cơ thể hoạt động hiệu quả.
Tim hoạt động như một máy bơm, bơm khoảng 7200 lít máu mỗi ngày để cung cấp dinh dưỡng cho cơ thể Máu thiếu oxy được đưa vào tim và sau đó bơm tới phổi để nhận oxy Sau khi được oxy hóa, máu sẽ được tim tiếp tục bơm xuống các mô cơ và nội tạng, giúp cơ thể hoạt động hiệu quả.
2.1.4 Các bệnh lý tim mạch thường gặp
Bệnh tim mạch là một trong những bệnh có nguy cơ tử vong cao nếu không được phát hiện kịp thời, đặc biệt nguy hiểm cho sức khỏe Thông thường, bệnh này xuất hiện ở những người trên 50 tuổi, nhưng hiện nay đang có xu hướng trẻ hóa do thói quen ăn uống không lành mạnh, đặc biệt là việc tiêu thụ đồ ăn nhanh.
15 nhiều dầu mỡ và các tác động môi trường khác Một số bệnh về tim mạch thường thấy như: nhồi máu cơ tim, suy tim, rối loạn nhịp tim…
Trong thời đại công nghệ hiện đại, bên cạnh các phương pháp phòng ngừa truyền thống như tập thể dục và ăn uống lành mạnh, việc sử dụng các thiết bị theo dõi tim mạch giúp phát hiện sớm các bất thường Điều này cho phép chúng ta nhận biết kịp thời các bệnh lý và đưa ra hướng điều trị phù hợp, góp phần bảo vệ sức khỏe hiệu quả hơn.
Khái niệm và tầm quan trọng của SpO2
Saturation của oxy ngoại vi, thường được biết đến với ký hiệu SpO2, là chỉ số thể hiện mức độ bão hòa oxy trong máu của mỗi người Đây là một chỉ số quan trọng trong việc đánh giá sức khỏe, và để hiểu rõ hơn về nó, chúng ta cần nắm vững hai khái niệm cơ bản: Hemoglobin (Hb) và oxy huyết cầu.
Oxy huyết cầu là các hồng cầu mang Oxy, được vận chuyển khắp cơ thể qua hệ tuần hoàn Hemoglobin, một loại protein trong huyết tương, có khả năng kết hợp với Oxy để tạo thành Oxy huyết cầu Chỉ số SpO2 cho biết tỷ lệ Hemoglobin đã kết hợp với Oxy trong máu, được đo bằng phần trăm (%).
Công thức được sử dụng để tính SpO2 là: 𝐻𝑏 𝑐ó 𝑂𝑥𝑦
2.2.2 Các yếu tố ảnh hưởng đến SpO2
Có nhiều yếu tố ảnh hưởng đến chỉ số SpO2 của cơ thể, trong đó có 3 yếu tố gồm tuổi tác, các hoạt động và sức khỏe
Trong bài viết này, chúng ta sẽ tập trung vào hai yếu tố chính ảnh hưởng đến mức độ SpO2, đó là tuổi tác và sức khỏe Đối với trẻ em và thanh thiếu niên, mức SpO2 thường dao động từ 97% đến 100%, vì cơ thể cần nhiều oxy để phát triển và hoạt động bình thường Trong khi đó, ở người cao tuổi, tỷ lệ SpO2 thường giảm xuống còn 92% đến 96% Bên cạnh tuổi tác, các vấn đề sức khỏe như bệnh lý hô hấp và tim mạch cũng có thể làm thay đổi mức SpO2 trong máu.
Vào năm 2020, đại dịch Covid-19 bùng phát do virus lây nhiễm qua không khí, gây ra tỷ lệ tử vong cao và tấn công trực tiếp vào phổi Khi nhiễm Covid-19, chỉ số SpO2 trong máu thường giảm xuống mức rất thấp Tuy nhiên, nhờ vào sự phát triển của ngành y tế và các loại vaccine ngăn ngừa, đại dịch đã được kiểm soát Việc theo dõi chỉ số SpO2 của người thân là rất cần thiết, vì nó cung cấp thông tin hữu ích và hỗ trợ chẩn đoán bệnh sớm hơn.
Tổng quan về hệ thống GSM/GPRS
Hệ thống thông tin di động toàn cầu (GSM) là công nghệ chủ chốt cho dịch vụ mạng di động, hiện đã có hơn 2 tỷ thuê bao tại 212 quốc gia GSM hỗ trợ tính năng chuyển vùng linh hoạt (roaming), cho phép các điện thoại sử dụng công nghệ này kết nối với nhau ở bất kỳ đâu trên thế giới.
GSM là chuẩn di động phổ biến nhất trên thế giới nhờ vào khả năng phủ sóng vượt địa hình, cho phép người dùng sử dụng thiết bị di động mọi lúc, mọi nơi Khách hàng được hưởng lợi từ cuộc gọi chất lượng cao và dịch vụ nhắn tin với chi phí thấp Sự gia tăng người dùng mạng GSM hàng năm đã thúc đẩy sự phát triển nhanh chóng của mạng lưới di động này, với ngày càng nhiều thiết bị được triển khai.
Vào đầu những năm 80 của thế kỷ 20, Châu Âu đã phát hiện ra một loại mạng di động sử dụng trong khu vực nhỏ Năm 1982, CEPT chuẩn hóa mạng di động này và tạo ra GSM với mục tiêu phủ sóng toàn Châu Âu Điện thoại di động đầu tiên sử dụng công nghệ GSM được phát triển bởi Radiolinja tại Phần Lan Đến cuối năm 1993, GSM đã đạt 1 triệu thuê bao với 70 nhà cung cấp khác nhau và phủ sóng trên 48 quốc gia.
Hình 2.1 Cấu trúc mạng CSM [1]
Các phân hệ trong mạng GSM:
- Phân hệ chuyển mạch NSS: Network switching SubSystem
- Phân hệ vô tuyến RSS = BSS + MS: Radio SubSystem o BSS = TRAU + BSC + BTS
▪ TRAU: bộ chuyển đổi mã và phối hợp tốc độ
▪ BSC: bộ điều khiển trạm gốc
▪ BTS: trạm thu phát gốc o MS (chính là những chiếc di động) = ME + SIM
▪ ME: phần cứng và phần mềm
▪ SIM: lưu trữ thông tin thuê bao
- Phân hệ vận hành và bảo dưỡng OMS [1]
Dịch vụ GPRS, hay còn gọi là dịch vụ vô tuyến gói tổng hợp, là một loại dữ liệu di động dạng gói dành cho thiết bị sử dụng hệ thống GSM và IS-136 Tốc độ dữ liệu của GPRS dao động từ 56 kbps đến 114 kbps.
GPRS cung cấp nhiều dịch vụ như WAP, SMS, MMS và email, cho phép người dùng truy cập mạng WWW Khác với phương thức chuyển mạch truyền thống tính phí theo phút kết nối, GPRS tính phí dựa trên số MB dữ liệu đã truyền, bất kể người dùng có hoạt động hay không GPRS sử dụng phương pháp gói nỗ lực tối đa, đảm bảo chất lượng dịch vụ (QoS) ở mức độ nhất định trong suốt quá trình kết nối của người dùng.
Trong hệ thống GSM, phương pháp đa truy cập kết hợp với dịch vụ GPRS sử dụng FDD và TDMA Mỗi phiên kết nối cho phép người dùng sử dụng một kênh tần số để tải xuống hoặc tải lên dữ liệu Kênh này được kết hợp với ghép kênh thống kê theo miền thời gian hoặc giao tiếp theo chế độ gói tin, giúp nhiều người dùng có thể chia sẻ tài nguyên một cách hiệu quả.
Mạng GSM sử dụng một kênh tần số độc lập để tránh ảnh hưởng lẫn nhau, với các gói dữ liệu có kích thước cố định tùy thuộc vào khoảng thời gian Dịch vụ tải xuống áp dụng chế độ FIFO, trong khi tải lên sử dụng mô hình tương tự như ALOHA reservation Điều này có nghĩa là slotted ALOHA được áp dụng để kiểm tra chỗ trống, và sau đó, các gói tin dữ liệu người dùng sẽ được truyền bằng phương pháp TDMA động kết hợp với FIFO.
Các thiết bị có tích hợp GSM gồm 3 loại:
Loại A là thiết bị có khả năng kết nối đồng thời với dịch vụ GPRS và dịch vụ GSM, bao gồm cả thoại và SMS Những thiết bị này hiện đã có sẵn trên thị trường.
Loại B cho phép kết nối dịch vụ GPRS và GSM (bao gồm thoại, SMS), nhưng chỉ có thể sử dụng một trong hai dịch vụ tại một thời điểm Khi sử dụng dịch vụ GSM, dịch vụ GPRS sẽ tạm ngưng và tự động tiếp tục khi dịch vụ GSM kết thúc Hầu hết các thiết bị di động GPRS hiện nay thuộc loại B.
- Loại C: Được kết nối với hoặc dịch vụ GPRS hoặc dịch vụ GSM (thoại, SMS) Phải được chuyển bằng tay giữa hai dịch vụ [3]
Các trạm di động mới bắt buộc phải sử dụng dịch vụ GPRS vì điện thoại GSM hiện tại không xử lý được giao diện vô tuyến hoặc các gói dữ liệu nâng cao Nhiều loại trạm di động có thể tồn tại, bao gồm phiên bản tốc độ cao của điện thoại hiện tại để hỗ trợ truy cập dữ liệu nhanh, PDA mới với thiết bị cầm tay GSM nhúng và thẻ PC cho máy tính xách tay Các trạm di động này cũng tương thích ngược để thực hiện cuộc gọi thoại bằng GSM.
Hệ thống phụ trạm cơ sở (MSC, BSS) cần cài đặt Packet Control Unit (PCU) và nâng cấp phần mềm để hoạt động hiệu quả BĐP đóng vai trò quan trọng trong việc cung cấp giao diện cho lưu lượng dữ liệu gói Dữ liệu từ điện thoại di động được chuyển đến BTS, sau đó từ BTS đến BSC Tại đầu ra của BSC, giọng nói được gửi đến MSC, trong khi dữ liệu được chuyển đến SGSN qua BĐP.
GGSN là giao diện và bộ định tuyến giữa mạng bên ngoài, có khả năng thu thập thông tin sạc kết nối và hoạt động như bộ lọc gói tin Trong khi đó, SGSN đảm nhận vai trò hỗ trợ GPRS, xác thực và quản lý các thiết bị di động.
Internal backbone (HLR, AUC, EIR) là xương sống của mạng IP, đảm nhiệm việc giao tiếp giữa các GSNs Tín hiệu giữa các GSNs được truyền tải qua giao thức SS7.
Hình 2.2 Cấu trúc dịch vụ GPRS [3]
• Routing Area tương tự như diện tích địa điểm trong GSM, nhưng chứa ít thành phần hơn và sử dụng ít tài nguyên vô tuyến hơn [3]
Tập lệnh AT, hay còn gọi là tập lệnh Hayes, được phát triển bởi Hayes Communications cho modem Hayes Smartmodem 300 vào năm 1997 Tập lệnh này bao gồm nhiều chuỗi ký tự kết hợp để tạo thành các lệnh hoàn chỉnh, phục vụ cho các thao tác như gọi điện, giữ kết nối và thay đổi các tham số kết nối.
Để kiểm tra xem module có hoạt động bình thường hay không, bạn cần thực hiện lệnh ATZ để reset modem Nếu module hoạt động ổn định, hệ thống sẽ trả về chuỗi ATZOK.
Tập lệnh 2: ATE0 tắt chế độ echo lệnh, kết quả trả về ATE0OK
Tập lệnh 3: AT+CLIP=1 định dạng chuỗi trả về khi nhận cuộc gọi
- Khi có cuộc gọi đến chuỗi trả về có dạng RING
- Sau khi nhận lệnh AT+CLIP=1 được thực thi, chuỗi trả về sẽ có dạng
RING và + CLIP:”0xxxxxxxxx”, 129,””,,””,0
Trong đó “0xxxxxxxx” là số điện thoại gọi đến
Tập lệnh 4: AT&W lưu cấu hình cài đặt được thiết lập các lệnh ATE0 và AT+CLIP vào bộ nhớ
Tổng quan về Firebase
Firebase là một dịch vụ backend as a service (BaaS) cung cấp nhiều tính năng hỗ trợ phát triển ứng dụng web và di động Được sáng lập bởi James Tamplin và Andrew Lee vào năm 2011, ban đầu nó mang tên Evolve với mục tiêu tích hợp tính năng chat vào web thông qua API.
Nền tảng này không chỉ đơn thuần phục vụ cho việc trò chuyện mà còn được sử dụng để truyền dữ liệu ứng dụng Qua đó, Evolve đã được phát triển thành Firebase và chính thức ra mắt vào tháng.
4 năm 2012 Đến tháng 10 năm 2014, Firebase đã được Google mua lại và trở thành một phần của Google Cloud Platform [4]
Các dịch vụ và chức năng của Firebase
Firebase hiện có hơn 20 dịch vụ khác nhau chia thành ba nhóm chính: Build, Release
& Monitor, và Engage, nhằm hỗ trợ nhà phát triển ứng dụng web và di động
Nhóm sản phẩm Build cung cấp giải pháp tăng tốc phát triển ứng dụng thông qua hạ tầng backend được quản lý toàn diện Các dịch vụ nổi bật như Cloud Firestore và Authentication giúp đơn giản hóa quy trình phát triển và nâng cao hiệu quả ứng dụng.
Extensions giúp quản lý dữ liệu và xác thực người dùng
Nhóm sản phẩm Engage tăng cường sự tương tác của người dùng với các phân tích phong phú, thử nghiệm A/B, và các chiến dịch tin nhắn Remote Config, Cloud
Messaging, và A/B Testing là một số dịch vụ trong nhóm này
Firebase còn có các tính năng khác như Realtime Database, Firebase Hosting, Firebase Cloud Messaging, Analytics, Authentication, Storage, Crashlytics, v.v
2.4.1 Ưu và nhược điểm của Firebase Ưu điểm:
- Cung cấp các dịch vụ có sẵn, làm giảm chi phí phát sinh và tiết kiệm thời gian;
Cung cấp máy chủ lưu trữ với dung lượng lớn giúp các nhà phát triển dễ dàng tập trung vào việc phát triển giao diện và tối ưu hóa các tính năng của ứng dụng.
- Hỗ trợ nhiều nền tảng và ngôn ngữ khác nhau;
- Có khả năng tự mở rộng quy mô theo quy mô của ứng dụng;
- Google là nhà cung cấp máy chủ, an toàn và bảo mật;
- Firebase hỗ trợ nhiều ngôn ngữ lập trình và nền tảng;
- Firebase có nhiều tính năng hữu ích
Firebase cung cấp phiên bản miễn phí với giới hạn về dung lượng lưu trữ và số lượt kết nối, do đó, các nhà phát triển cần phải chi trả để truy cập vào các tính năng nâng cao và mở rộng lưu lượng sử dụng.
- Firebase không thể đáp ứng các nhu cầu quá phức tạp;
- Vẫn còn hạn chế trong việc tích hợp thêm một số công nghệ hoặc dịch vụ khác
2.4.2 Hướng dẫn sử dụng Firebase
Bước 1: Tạo một tài khoản google mới hoặc sử dụng tài khoản đã có rồi đăng nhập vào trang web của Firebase
Bước 2: Tạo một project mới, đặt tên, chọn vùng cho project hoặc chọn một project đã có sẵn
Hình 2.3 Màn hình chính Firebase
Bước 3: Chọn một hoặc nhiều tính năng cần thiết cho dự án của bạn và xác định nền tảng phát triển phù hợp (iOS, Android hoặc Web).
Bạn có thể tìm hiểu thêm về các chức chi tiết trong những tài liệu của Firebase trên trang web chính thức
Theo dõi các thay đổi trong dự án của bạn trên Firebase Console là bước quan trọng Sử dụng các công cụ có sẵn để xem số liệu, cấu hình tính năng và khắc phục lỗi hiệu quả.
Chuẩn truyền thông UART
UART là một chuẩn truyền thông cho phép truyền nhận dữ liệu trực tiếp qua giao tiếp nối tiếp bất đồng bộ giữa các module, thường được sử dụng kết hợp với RS232 Một điểm nổi bật của UART là khả năng tinh chỉnh tốc độ truyền dữ liệu, giúp cải thiện hiệu suất truyền thông.
2.5.2 Cách thức hoạt động và ứng dụng
UART hoạt động bằng cách truyền dữ liệu theo từng bit, với mỗi bit được gửi trong một khoảng thời gian xác định Dữ liệu được truyền dưới dạng các khung, mỗi khung dữ liệu bao gồm các thành phần cần thiết để đảm bảo việc truyền tải chính xác và hiệu quả.
- Bit bắt đầu: Bit này bắt đầu một khung dữ liệu mới;
- Bit dữ liệu: Bit này chứa dữ liệu cần truyền đi;
- Bit chẵn lẻ (tùy chọn): Bit này kiểm tra lỗi của dữ liệu;
- Bit dừng: Bit này kết thúc một khung dữ liệu Ứng dụng: UART được ứng dụng rộng rãi bao gồm:
- Kết nối máy tính với các thiết bị I/O: UART được sử dụng để kết nối máy tính với các thiết bị I/O như chuột, bàn phím, máy in, v.v
- Điều khiển các thiết bị điện tử: UART được sử dụng để điều khiển các thiết bị điện tử như robot, đèn LED, v.v
- Truyền thông giữa các thiết bị: UART được sử dụng để truyền thông giữa các thiết bị điện tử như PLC, MCU, v.v
Một số khái niệm quan trọng trong chuẩn truyền thông UART:
Baud rate là tốc độ truyền dữ liệu, thể hiện số bit được gửi trong một giây Để đảm bảo việc truyền dữ liệu thành công, bên truyền và bên nhận cần thống nhất về tốc độ baud rate Ví dụ, nếu bên truyền thiết lập tốc độ là 9600 bit/s trong khi bên nhận lại đặt là 115200 bit/s, quá trình truyền dữ liệu sẽ thất bại Do đó, việc đồng bộ hóa baud rate giữa hai bên là điều kiện tiên quyết để đảm bảo truyền nhận dữ liệu hiệu quả.
Chuẩn UART là một phương thức truyền dữ liệu không đồng bộ, do đó dễ xảy ra sai lệch hoặc mất mát dữ liệu trong quá trình truyền Để đảm bảo tính chính xác, việc truyền dữ liệu cần tuân theo một số quy tắc nhất định Khung truyền dữ liệu bao gồm các quy định về số bit dữ liệu, bit kiểm tra parity, bit start và bit stop.
Bit bắt đầu là thành phần thiết yếu trong mỗi khung dữ liệu truyền đi, có chức năng thông báo cho thiết bị nhận rằng một gói dữ liệu đang được gửi đến.
- Bit data: đây chính là các bit chứa dữ liệu được gửi đi Số lượng bit của bit data có thể thay đổi nhưng thường là 8 bit
Bit dừng, giống như bit bắt đầu, là thành phần bắt buộc trong các khung dữ liệu truyền tải Chức năng của bit dừng là thông báo cho bên nhận rằng gói dữ liệu đã được gửi hoàn tất.
Parity bit là một bit quan trọng trong khung dữ liệu, giúp thiết bị nhận kiểm tra tính toàn vẹn của dữ liệu trong quá trình truyền Mặc dù không bắt buộc, parity bit có hai loại: bit chẵn và bit lẻ Bit chẵn đảm bảo tổng số 1 trong khung dữ liệu là số chẵn, trong khi bit lẻ chỉ ra rằng tổng số 1 là số lẻ.
2.5.3 Ưu và nhược điểm Ưu điểm:
- Không sử dụng tín hiệu clock;
- Có thể kiểm tra lỗi dữ liệu bằng bit chẵn lẻ;
- Cấu trúc dữ liệu có thể thay đổi với điều kiện bên gửi giao tiếp được với bên nhận;
- Có nhiều tài liệu có sẵn hướng dẫn chi tiết về UART
- Kích thước dữ liệu có thể gửi bị giới hạn cụ thể là 9 bit;
- Tốc độ truyền của mỗi lượt giao tiếp cần liên tục và nằm trong 10% của nhau
Chuẩn truyền thông I2C
I2C, một chuẩn truyền thông phổ biến, được phát triển bởi Philips Semiconductors (nay là NXP Semiconductors) vào đầu những năm 1980, nhằm mục đích giao tiếp hiệu quả giữa các thiết bị.
2.6.2 Cách thức hoạt động và ứng dụng
I2C hoạt động bằng cách truyền dữ liệu theo từng bit, với mỗi bit được gửi đi trong một khoảng thời gian cụ thể Dữ liệu được truyền dưới dạng các khung dữ liệu, và mỗi khung dữ liệu bao gồm nhiều thành phần khác nhau.
- Địa chỉ thiết bị: địa chỉ xác định thiết bị nhận dữ liệu;
- Lệnh đọc/ghi: Lệnh này xác định việc truyền dữ liệu là đọc hay ghi;
- Dữ liệu: Dữ liệu thực tế cần truyền đi;
- Bit kiểm tra lỗi: kiểm tra lỗi của dữ liệu được gửi Ứng dụng: I2C được ứng dụng rộng rãi bao gồm:
- Kết nối các thiết bị ngoại vi: I2C được sử dụng để kết nối các thiết bị I/O như màn hình LCD, bộ nhớ EEPROM, cảm biến, v.v
- Điều khiển các thiết bị điện tử: I2C được sử dụng để điều khiển các thiết bị điện tử như LED, motor, v.v
- Truyền thông giữa các thiết bị điện tử: I2C được sử dụng để truyền thông giữa các thiết bị điện tử như PLC, MCU,…
Giao thức I2C hoạt động theo cơ chế Master và Slave, trong đó thiết bị Master điều khiển quá trình truyền nhận dữ liệu giữa các thiết bị Slave Mỗi thiết bị Slave có một địa chỉ riêng biệt và duy nhất, cho phép một Master kết nối với nhiều Slave khác nhau.
2.6.3 Ưu và nhược điểm Ưu điểm:
- Đơn giản: I2C sử dụng cấu trúc dữ liệu đơn giản, dễ dàng triển khai
- Linh hoạt: I2C linh hoạt, dễ dàng thay đổi tốc độ truyền và kết nối nhiều loại thiết bị khác nhau;
- Giá rẻ: I2C là một chuẩn giao tiếp phổ biến nên các vi mạch hỗ trợ I2C thường có giá thành rẻ;
- Chỉ sử dụng 2 dây: tiết kiệm chi phí và làm việc kết nối đơn giản hơn
- Tốc độ truyền: Tốc độ truyền tối đa của I2C thường thấp hơn so với các chuẩn giao tiếp nối tiếp khác;
- Độ dài cáp: Chiều dài cáp tối đa cho phép của I2C thường ngắn hơn so với các chuẩn giao tiếp nối tiếp khác;
- Kích thước khung dữ liệu nhỏ, chỉ 8 bit.
Giới thiệu linh kiện
ESP32-WROOM-32 là một module MCU mạnh mẽ và đa năng, tích hợp Wifi, Bluetooth và BLE, phù hợp cho nhiều ứng dụng khác nhau Nó có thể được sử dụng trong các mạng cảm biến tiết kiệm năng lượng cũng như thực hiện các nhiệm vụ phức tạp như mã hóa giọng nói, phát nhạc và giải mã MP3.
Lõi của module ESP32-D0WDQ6 sử dụng chip ESP32, được thiết kế để mở rộng và thích ứng với nhu cầu người dùng Chip này có hai lõi CPU độc lập, với xung nhịp có thể điều chỉnh từ 80 MHz đến 240 MHz Người dùng có thể tắt CPU để sử dụng bộ đồng xử lý tiết kiệm điện năng nhằm giám sát liên tục các thiết bị ngoại vi và phát hiện thay đổi hoặc vượt ngưỡng đã cài đặt ESP32 còn tích hợp nhiều bộ ngoại vi phong phú, bao gồm cảm biến chạm điện dung, cảm biến Hall, Ethernet, giao diện thẻ SD, UART, SPI tốc độ cao, I2C và I2S.
Module tích hợp Bluetooth và Wi-Fi, mở rộng khả năng ứng dụng đa dạng Sử dụng Wi-Fi cho phép kết nối Internet trong phạm vi rộng, trong khi Bluetooth mang lại sự tiện lợi khi kết nối với điện thoại hoặc phát tín hiệu beacon năng lượng thấp Chip ESP32 tiêu thụ dòng điện dưới 5µA ở chế độ ngủ, lý tưởng cho các ứng dụng điện tử đeo trên người.
Module hỗ trợ tốc độ truyền dữ liệu lên đến 150Mbps và công suất đầu ra 20dBm tại anten, đảm bảo phạm vi vật lý rộng nhất Với các thông số kỹ thuật hàng đầu trong ngành, module này mang lại hiệu suất tối ưu cho việc tích hợp điện tử, phạm vi, tiêu thụ điện năng và kết nối.
Hệ điều hành freeRTOS với LwIP được chọn cho ESP32, tích hợp TLS 1.2 với tăng tốc phần cứng Tính năng nâng cấp qua mạng (OTA) bảo mật cho phép người dùng dễ dàng nâng cấp sản phẩm sau khi phát hành với chi phí và nỗ lực tối thiểu.
- ESP32-WROOM-32 chứa hai vi xử lý Xtensa® 32-bit LX6 tiêu thụ ít điện năng
- 520 KBytes SRAM tích hợp trên chip
- 8 KBytes SRAM trong RTC SLOW
- 8 KBytes SRAM trong RTC FAST
- Bluetooth v4.2 BR/EDR và BLE
- Chế độ Wi-Fi: Station/softAP/SoftAP + station/P2P
- Bảo mật WPA/WPA2/WPA2 - Enterprise/WPS
- Mã hóa SHA/ECC/AES/RSA
- Hỗ trợ TCP/UDP/HTTP/FTP/MQTT, IPv4, IPv6, SSL
- Các giao diện:SPI, SDIO, thẻ SD, UART, I2C, I2S, IR, GPIO, LED PWM, Motor PWM, cảm biến chạm điện dung, DAC, ADC, cảm biến nhiệt, cảm biến HALL
- Nhiệt độ hoạt động từ -40 đến +85°C
- Kích thước: 18mm x 20mm x 3mm
Hình 2.7 là diagram thể hiện chi tiết sơ đồ và chức năng từng chân của ESP32
Vi điều khiển ESP32 được trang bị tổng cộng 18 chân ADC 12-bit, cho phép chuyển đổi điện áp đầu vào thành giá trị số trong khoảng từ 0 đến 4095 Giá trị 0 tương ứng với điện áp 0V và 4095 tương ứng với 3.3V Các chân ADC bao gồm: ADC1-CH0 (GPIO 36), ADC1-CH1 (GPIO 37), ADC1-CH2 (GPIO 38), ADC1-CH3 (GPIO 39), ADC1-CH4 (GPIO 32), ADC1-CH5 (GPIO 33), ADC1-CH6 (GPIO 34), ADC1-CH7 (GPIO 35), ADC2-CH0 (GPIO 4), và ADC2-CH1 (GPIO 0), ADC2-CH2 (GPIO 2).
Hình 2.7 Sơ đồ chân ESP32 [15]
31 o ADC2-CH3 (GPIO 15) o ADC2-CH4 (GPIO 13) o ADC2-CH5 (GPIO 12) o ADC2-CH6 (GPIO 14) o ADC2-CH7 (GPIO 27) o ADC2-CH8 (GPIO 25) o ADC2-CH9 (GPIO 26)
Chú ý rằng các kênh liên quan đến ADC2 ảnh hưởng đến Wifi Nếu Wifi của ESP32 đang hoạt động nên chuyển sang sử dụng các chân ADC1
DAC có 2 chân DAC 8-bit, cho phép tạo ra điện áp từ 0 đến 3.3V với độ chính xác 3.3/256 volts Các chân DAC bao gồm DAC1 (GPIO 25) và DAC2 (GPIO 26).
Cảm ứng điện dung (Capacitive Touch) có 10 chân GPIO, cho phép phát hiện sự thay đổi do điện tích, chẳng hạn như từ da người Các chân GPIO này bao gồm T0 (GPIO 4), T1 (GPIO 0), T2 (GPIO 2), T3 (GPIO 15), T4 (GPIO 13), T5 (GPIO 12), T6 (GPIO 14), T7 (GPIO 27), T8 (GPIO 33) và T9 (GPIO 32) Chúng có khả năng nhận diện sự thay đổi khi chạm vào bằng ngón tay.
RTC có tổng cộng 16 chân, chủ yếu được sử dụng trong chế độ ngủ Các chân RTC bao gồm: RTC_GPIO0 (GPIO 36), RTC_GPIO3 (GPIO 39), RTC_GPIO4 (GPIO 34), RTC_GPIO5 (GPIO 35), RTC_GPIO6 (GPIO 25), RTC_GPIO7 (GPIO 26), RTC_GPIO8 (GPIO 33) và RTC_GPIO9 (GPIO 32).
32 o RTC_GPIO10 (GPIO 4) o RTC_GPIO11 (GPIO 0) o RTC_GPIO12 (GPIO 2) o RTC_GPIO13 (GPIO 15) o RTC_GPIO14 (GPIO 13) o RTC_GPIO15 (GPIO 12) o RTC_GPIO16 (GPIO 14) o RTC_GPIO17 (GPIO 27)
SPI cung cấp ba chuẩn truyền thông, trong đó một chuẩn được thiết kế để giao tiếp giữa ESP32 và bộ nhớ flash Tuy nhiên, không nên sử dụng các chân GPIO sau đây: SCK/CLK (GPIO 6), SDO/SD0 (GPIO 7), SDI/SD1 (GPIO 8), SHD/SD2 (GPIO 9), SWP/SD3 (GPIO 10) và CSC/CMD (GPIO 11).
ESP32 hỗ trợ hai giao diện SPI khác nhau: HSPI (Hardware SPI) và VSPI (Virtual SPI) Người dùng có thể định nghĩa bất kỳ chân GPIO nào của ESP32 làm SPI theo nhu cầu Cụ thể, chân HSPI được cấu hình như sau: MISO (GPIO 12), MOSI (GPIO 13), CLK (GPIO 14), CS (GPIO 15) Trong khi đó, chân VSPI được cấu hình với các chân: MISO (GPIO 19), MOSI (GPIO 23), CLK (GPIO 18), và CS (GPIO 5).
I2C trên ESP32 bao gồm 2 kênh nội bộ và một cặp chân mặc định cho giao thức truyền thông Cụ thể, chân SDA được gán cho GPIO 21 và chân SCL cho GPIO 22 Ngoài ra, người dùng có thể định nghĩa bất kỳ chân nào khác của ESP32 làm I2C nếu cần thiết, tương tự như giao thức SPI.
UART có ba chuẩn truyền thông mặc định Tương tự như SPI, người dùng có thể định nghĩa bất kỳ chân nào khác của ESP32 làm UART nếu cần thiết Cụ thể, UART0 sử dụng chân TXD (GPIO 3) và RXD (GPIO 1).
The GPIO pin assignments for various UART interfaces are as follows: UART0-RTS is connected to GPIO 22, UART0-CTS to GPIO 19, UART1-TXD to GPIO 10, UART1-RXD to GPIO 9, UART1-RTS to GPIO 11, and UART1-CTS to GPIO 6 Additionally, UART2-TXD is assigned to GPIO 17, UART2-RXD to GPIO 16, UART2-RTS to GPIO 7, and UART2-CTS to GPIO 8.
Mạch điều khiển PWM cho phép tạo ra tín hiệu PWM trên 16 kênh độc lập Để thiết lập tín hiệu PWM, cần xác định tần số tín hiệu, độ rộng xung và kênh PWM trong mã lập trình Tín hiệu PWM có thể được xuất ra từ bất kỳ chân GPIO nào của ESP32, ngoại trừ các chân GPIO từ 34 đến 39, vì chúng không hỗ trợ chế độ xuất tín hiệu.
- Ngắt (Interrupt): Có thể sử dụng tất cả các chân GPIO để làm chân ngắt
THIẾT KẾ VÀ XÂY DỰNG HỆ THỐNG
Sơ đồ tổng quát của hệ thống
Sơ đồ khối hệ thống được thể hiện trong hình 3.1
Hình 3.1 Sơ đồ khối hệ thống
Khi thiết bị được bật, cảm biến sẽ đo nhịp tim và SpO2, ghi dữ liệu vào flash của ESP32 và gửi lên Firebase hàng ngày Trong trường hợp khẩn cấp, thiết bị sẽ cảnh báo bằng buzzer và gọi, nhắn tin cho số điện thoại đã định trước thông qua module SIMCOM A7680C Người dùng có thể tương tác với màn hình SSD1306 để điều chỉnh mốc SpO2 cảnh báo, thiết lập báo thức và kiểm tra trạng thái online hoặc offline Mỗi 15 phút offline, thiết bị sẽ tự động cố gắng kết nối lại Wifi Thiết bị sử dụng pin li-po có thể sạc qua cổng type C.
Chi tiết chức năng từng khối
- Khối nguồn: gồm pin li-po và mạch sạc, có chức năng cấp nguồn cho toàn bộ hệ thống
Khối điều khiển trung tâm là bộ phận xử lý chính, đóng vai trò quan trọng trong việc giúp các module giao tiếp lẫn nhau Nó kết nối Wifi, lưu trữ dữ liệu vào flash và đảm nhiệm việc giao tiếp với Firebase để gửi file lên storage thông qua vi điều khiển ESP32.
Khối cảnh báo bao gồm SIMCOM A7680C và buzzer, có chức năng phát tín hiệu cảnh báo khi người đeo thiết bị gặp nguy hiểm Thiết bị này sẽ thông báo cho người nhà thông qua cuộc gọi và tin nhắn SMS, giúp đảm bảo an toàn kịp thời.
- Khối cảm biến: gồm MAX30100 có nhiệm vụ đo nhịp tim và SpO2 của người đeo thông qua kẹp ở đầu ngón tay
Khối hiển thị bao gồm màn hình SSD1306 và các nút nhấn, cho phép người dùng tương tác với các chức năng của thiết bị như báo thức và điều chỉnh mức SpO2 Nó hiển thị thời gian, nhịp tim và mức SpO2 của người đeo, mang đến trải nghiệm tiện lợi và thông tin sức khỏe chính xác.
Sơ đồ nguyên lý
Hình 3.2 là sơ đồ nguyên lý toàn mạch, gồm các khối nguồn, khối hiển thị, khối cảm biến, khối cảnh báo và khối điều khiển trung tâm.
Thiết kế từng khối
3.4.1 Khối điều khiển trung tâm
Trong dự án "Thiết kế và thi công thiết bị theo dõi sức khỏe di động," nhóm nghiên cứu đã lựa chọn sử dụng module ESP32 cho khối điều khiển trung tâm vì những ưu điểm vượt trội của nó.
Hình 3.2 Sơ đồ nguyên lý
- ESP32 là một vi điều khiển dễ mua dễ sử dụng, với giá thành hợp lý
- Có tích hợp sẵn Wifi
- Có một bộ nhớ vừa đủ để lưu trữ dữ liệu của người cần theo dõi trong 1 ngày
- Kích thước chip tương đối nhỏ, dễ dàng in mạch
Hình 3.3 Sơ đồ nguyên lý khối điều khiển trung tâm
Bảng 3-1 thể hiện chi tiết các kết nối của từng module vào ESP32
Bảng 3-1 Bảng nối chân khối điều khiển trung tâm
Driver Wifi của ESP32 sử dụng các chân ADC (GPIOs 0, 2, 4 và 25 – 27), và khi Wifi hoạt động, các chân này sẽ bị chiếm dụng, không thể sử dụng, bao gồm cả 2 chân analog Điều này giải thích lý do tại sao các chân này không thể được sử dụng, vì thiết bị cần kết nối Wifi.
Chân Kết nối Chức năng
3.3V Vout của AMS1117-3.3 Cung cấp điện áp chuẩn để
GPIO0 Nút nhấn BOOT Kích hoạt chế độ nạp chương trình cho ESP32
EN Nút nhấn EN Khi EN ở mức cao thì
ESP32 hoạt động, khi ở mức thấp ESP32 sẽ reset
TX, RX Chân RXD, TXD của IC
Lần lượt nối vào nút nhấn
Tương tác với chương trình GPIO16, GPIO17 Chân TXD, RXD của module SIMCOM A7680C
Giao tiếp với module SIMCOM A7680C qua chuẩn UART GPIO21, GPIO22 Nối vào chân SDA (Data) của các module
Giao tiếp với các module sử dụng chuẩn I2C (MAX30100, DS3231, LCD SSD1306)
GPIO23 Buzzer Phát tiếng cảnh báo
Hình 3.4 Lưu đồ giải thuật khối điều khiển trung tâm
Khi thiết bị được bật, các module sẽ được khởi tạo lần lượt, với module cảm biến MAX30100 là module cuối cùng do hạn chế về thời gian timeout chỉ 180ms, nếu vượt quá thời gian này, cảm biến sẽ bị treo Sau khi khởi tạo hoàn tất, thiết bị sẽ kiểm tra kết nối Wifi và chia thành hai chế độ: online và offline Trong chế độ online, file có thể được cập nhật lên storage, trong khi ở chế độ offline, thiết bị sẽ cố gắng kết nối lại Wifi sau mỗi 15 phút.
MAX30100 được nối ra header để vào kẹp tay Cảm biến thời gian thực DS3231 để dùng chức năng báo thức và hiển thị ngày giờ.
Hình 3.5 Sơ đồ nguyên lý khối cảm biến
Khối cảm biến có chức năng đo nhịp tim và lượng oxy trong máu, với các dữ liệu được ghi và lưu trữ vào bộ nhớ flash bởi khối điều khiển trung tâm Đồng thời, khối cảnh báo sử dụng đầu ra từ khối cảm biến để phát hiện các trường hợp nguy hiểm.
Hình 3.6 Lưu đồ giải thuật khối cảm biến
Sau khi khởi tạo, các thông số đo được sẽ hiển thị trực tiếp trên màn hình thông qua khối hiển thị và sau đó được lưu trữ vào bộ nhớ flash của vi điều khiển ESP32.
Buzzer sẽ phát ra âm thanh cảnh báo, trong khi module SIMCOM A7680C gửi tin nhắn hoặc thực hiện cuộc gọi để thông báo cho người thân Lưu ý rằng SIMCOM A7680C chỉ hoạt động với điện áp 4V.
Hình 3.7 Sơ đồ nguyên lý khối cảnh báo
Khối cảnh báo sử dụng module SIMCOM A7680C kết hợp với buzzer, cho phép người dùng nhận thông báo từ xa qua điện thoại bằng cuộc gọi và phát âm thanh cảnh báo xung quanh Buzzer được thiết kế với hai mức cảnh báo rõ ràng: cảnh báo nguy hiểm và báo thức, nhằm tránh nhầm lẫn Cảnh báo nguy hiểm phát ra âm thanh với tần số 2000 Hz, lớn và liên tục, trong khi báo thức có tần số chỉ 1000 Hz, nhỏ hơn nhiều lần so với cảnh báo nguy hiểm.
Sau khi khởi tạo, module SIM cần từ 5-10 giây để ổn định và bắt sóng Khi module đã nhận được sóng, đèn báo sẽ chớp đỏ nhanh và đều.
Hình 3.8 Lưu đồ giải thuật khối cảnh báo
Có ba nút nhấn UP, OK và DOWN để tương tác với màn hình và hệ thống
Hình 3.9 Sơ đồ nguyên lý khối hiển thị
Khối hiển thị có chức năng hiển thị các thông số đo từ cảm biến và cho phép người dùng tương tác với hệ thống thông qua ba nút nhấn: UP, DOWN và một nút thứ ba.
Hình 3.10 Lưu đồ giải thuật khối hiển thị
Hình 3.11 Sơ đồ nguyên lý khối nguồn
Hệ thống sử dụng ba mức điện áp chính là 5V, 4V và 3.3V Nguồn 5V được cung cấp từ Adapter 5V-2A, trong khi nguồn 3.3V được tạo ra từ IC ổn áp AMS1117-3.3 với đầu vào là 5V Nguồn 4V được hạ áp từ 5V để phục vụ cho module SIMCOM A7680C Đối với mạch pin sạc, nguồn được lấy từ pin Li-po và được tăng áp lên 5V, với các nguồn 3.3V và 4V đều được cung cấp từ IC ổn áp và mạch hạ áp với đầu vào là 5V từ mạch sạc xả Mạch sạc xả có công tắc để bật tắt hệ thống, giúp tránh tình trạng hết pin khi không có nguồn trực tiếp từ Adapter Các thông số chi tiết được trình bày trong bảng 3-2.
Bảng 3-2 Thông số của khối nguồn
STT Tên linh kiện Dòng điện ngõ ra tối đa Điện áp Số lượng Tổng
KẾT QUẢ THI CÔNG
Kết quả thiết kế mạch PCB
Mặt trên của mạch PCB, như thể hiện trong phần mềm EasyEDA, được thiết kế để lắp đặt các linh kiện như màn hình OLED, nút nhấn, công tắc và buzzer, nhằm tạo điều kiện thuận lợi cho người dùng trong quá trình thao tác.
Hình 4.1 Mạch PCB mặt trên
Hầu hết các linh kiện dán SMD được bố trí ở mặt dưới PCB, như thể hiện trong hình 4.2 Việc đặt linh kiện ở mặt dưới giúp thuận tiện hơn trong quá trình hàn mạch, do không có module nào cản trở.
Hình 4.2 Mạch PCB mặt dưới
Hình 4.3 Mạch PCB mặt trên 3D
Cổng kết nối như Mini USB, Jack DC và mạch sạc xả type C được bố trí ở bên trái để thuận tiện cho việc kết nối bên ngoài Header của MAX30100 nằm ở bên phải để kết nối với module MAX30100, trong khi header của UPLOAD được đặt bên phải để dự phòng cho việc nạp chương trình nếu không sử dụng Mini USB Màn hình LCD ở giữa giúp người dùng dễ dàng quan sát, kèm theo ba nút nhấn phía dưới để thao tác.
Hai nút Up Down được bố trí thẳng hàng để dễ nhận biết và có chức năng đặc biệt khi nhấn giữ cùng lúc, trong khi nút OK được đặt riêng để tránh nhầm lẫn Nút nhấn cạnh công tắc On-Off giúp kích hoạt pin cho mạch khi công tắc bật Buzzer được đặt gần module đo nhịp tim, trong khi module SIMCOM A7680C nằm ở hàng giữa do kích thước nhỏ gọn Hai module RTC DS3231 và hạ áp có kích thước lớn hơn được đặt bên phải vì còn nhiều chỗ trống Do thời gian thiết kế mạch hạn chế và trình độ cá nhân chưa cao, kích thước mạch vẫn còn khá lớn.
56 được cải thiện và bố trí lại các module hợp lý hơn để tối ưu hóa và giảm kích thước mạch
Hình 4.4 Mạch PCB mặt dưới 3D
Mặt sau của mạch PCB được thiết kế bởi người lập trình với các linh kiện SMD như điện trở, tụ điện không phân cực, ESP32, FT232RL và LED, nhằm tạo tính thẩm mỹ cho sản phẩm Hai nút nhấn EN và BOOT được sắp xếp gần nhau cùng với hai LED TX và RX, giúp dễ dàng thao tác và quan sát trong quá trình nạp chương trình Vi điều khiển ESP32 được đặt sau logo để tối ưu hóa không gian thiết kế.
Số lượng linh kiện dùng trong mạch PCB này được liệt kê trong bảng 4-1
Bảng 4-1 Số lượng linh kiện
Tên linh kiện Số lượng
Kết quả mô hình thực tế
Mạch sau đã in và được hàn các module, linh kiện sẽ có hình ảnh thực tế như hình 4.4 dưới đây
Hình 4.5 Mạch thực tế mặt trên
Kích thước mạch hoàn chỉnh: 10cm x 10cm
Thiết bị hoạt động ổn định với thời gian sử dụng liên tục hơn 5 giờ nhờ vào pin lipo 2500mAh-3.7V Người dùng có thể sạc lại thiết bị dễ dàng thông qua cổng sạc type C thông dụng, và thời gian sạc đầy pin mất khoảng 1 giờ 30 phút.
Tốc độ ghi nhận thông số từ MAX30100 vào flash của vi điều khiển diễn ra nhanh chóng mà không có độ trễ Tuy nhiên, do kích thước của hệ thống và việc sử dụng module MAX30100 giá rẻ, thiết bị không đạt được độ ổn định hoàn hảo Hệ quả là, tỉ lệ cảnh báo sai có thể xảy ra khi thiết bị được đeo vào ngón tay trong 30 giây đầu tiên.
Module SIMCOM A7680C hoạt động hiệu quả, với thời gian trễ khi gửi cảnh báo đến người thân gần như không đáng kể, đảm bảo chức năng quan trọng nhất của thiết bị.
Module này có một số nhược điểm, bao gồm việc không hoạt động hiệu quả trong các khu vực không có sóng điện thoại hoặc nơi sóng yếu.
Khi bật màn hình, thiết bị sẽ hiển thị các thông số như nhịp tim, SpO2, chế độ online/offline, menu chính để người dùng lựa chọn chức năng, cùng với thời gian, ngày tháng năm Đặc biệt, thiết bị có chức năng Gọi Khẩn Cấp, cho phép người dùng cảnh báo người xung quanh và gia đình khi cảm thấy không khỏe Chức năng này được kích hoạt bằng cách nhấn đồng thời 2 nút up và down trong ít nhất một giây, khiến buzzer kêu để thu hút sự chú ý Buzzer sẽ tiếp tục kêu cho đến khi được tắt và đồng thời thiết bị sẽ thực hiện cuộc gọi và gửi tin nhắn cảnh báo đến người thân.
Chọn "Bao thuc" để truy cập vào màn hình cài đặt báo thức, với tổng cộng 24 mốc giờ từ 0 đến 24 và 13 mốc phút, mỗi mốc cách nhau 5 phút Người dùng có thể đặt từ 0 đến 60 báo thức, và mỗi báo thức sẽ lặp lại vào một khung giờ cố định trong ngày Âm thanh buzzer phát ra khi báo thức kêu có tần số thấp hơn so với buzzer cảnh báo, giúp tránh nhầm lẫn giữa cảnh báo nguy hiểm và báo thức Khi đến giờ báo thức, buzzer sẽ kêu liên tục trong tối đa 1 phút nếu không được tắt, hoặc có thể tắt ngay lập tức bằng cách nhấn một trong ba nút bất kỳ trên mạch.
Hình 4.7 Lựa chọn báo thức
Chọn “Nguong SpO2” cho phép người dùng thiết lập ngưỡng cảnh báo cho thiết bị, với 6 mức từ 90 đến 95 Khi chỉ số SpO2 giảm xuống dưới ngưỡng nguy hiểm 3 lần, thiết bị sẽ phát tín hiệu cảnh báo bằng buzzer có tần số cao và gửi tin nhắn cũng như gọi điện cho người thân qua các số đã được cài đặt sẵn.
Kết quả phần mềm
Hình ảnh giao diện Firebase storage
Hình 4.8 Lựa chọn chỉnh ngưỡng SpO2
Hình 4.9 Giao diện chính ghi ngày gửi
Mỗi ngày vào lúc 23:59, file có tên data.csv sẽ được gửi lên Firebase Storage, mặc dù tất cả các file đều mang cùng tên, nhưng đường dẫn sẽ khác nhau theo ngày gửi File này ghi lại tất cả các thông số đo được trong ngày, bao gồm SpO2, nhịp tim và thời gian ghi lại các thông số.
File data ghi thông số của người đeo thiết bị sau khi được tải về để hiển thị
Hình 4.10 Data ghi nhận trong flash được gửi lên Firebase
Mỗi ngày, file được gửi lên Firebase vào một khung giờ cố định, trong khi nhịp tim và SpO2 được ghi nhận liên tục Dựa vào file đã ghi, chúng ta có thể đánh giá độ ổn định của các chỉ số này.
MAX30100 là một module giá rẻ, nhưng lại là lựa chọn hợp lý cho các hệ thống nhỏ và sử dụng tại nhà.
Phân tích và đánh giá kết quả thực tế
Bảng 4-2 là kết quả đo thực tế của thiết bị với 15 lần đo
Bảng 4-2 Kết quả đo lần 1 trên thực tế Đối tượng đo: Đỗ Lê Việt Hoàng
(Vị trí: ngón trỏ trái)
LK-87 (Vị trí: ngón cái trái) Nhịp tim
Sau khi loại bỏ các thông số không chính xác do vấn đề timeout của MAX30100, nhóm đã tiến hành đo sai số trung bình về nhịp tim và SpO2 của thiết bị Kết quả được so sánh với một sản phẩm đã được thương mại hóa và phổ biến trên thị trường.
65 Ở bảng 4-3 sử dụng cách đo và thiết bị tương tự, nhóm đã đo trên một đối tượng khác
Bảng 4-3 Kết quả đo lần 2 trên thực tế Đối tượng đo: Lê Công Bắc
(Vị trí: ngón trỏ trái)
LK-87 (Vị trí: ngón giữa trái) Nhịp tim
Và ở lần này thì sai số giữa nhịp tim và SpO2 là:
Kết luận cho thấy rằng sai số giữa thiết bị thi công của nhóm và sản phẩm LK-87 là không đáng kể Mặc dù vậy, do thiết bị chưa được trang bị bộ lọc, nên trong quá trình đo đạc vẫn xuất hiện một số thông số không chính xác Nhóm đã thực hiện việc loại bỏ các thông số không hợp lệ từ hai lần đo để tính toán sai số trung bình, được trình bày trong bảng 4-2 và 4-3.
Bảng 4-4 là mức tiêu thụ điện của các module sử dụng trong hệ thống
Bảng 4-4 Thông số tiêu thụ điện năng
STT Tên linh kiện Dòng điện Điện áp Số lượng Tổng
Module tiêu thụ điện năng cao nhất là SIMCOM A7680C, với mức tiêu thụ 200mA ở trạng thái chờ và 1.4A khi thực hiện cuộc gọi Tổng mức tiêu thụ điện năng của thiết bị là 352.3mA, cho phép tính toán thời gian sử dụng lý thuyết lên tới 7.1 giờ với pin 2500mAh Tuy nhiên, qua thử nghiệm thực tế, thiết bị chỉ hoạt động khoảng 5h30 đến 6h cho mỗi lần sạc, và độ chính xác giảm dần khi pin xuống thấp.