Giới thiệu dự án
Nhu cầu theo dõi sức khỏe chủ động và không xâm lấn (Non-invasive Health Monitoring) đang trở thành xu hướng tất yếu trong kỷ nguyên y tế số. Theo thống kê của Tổ chức Y tế Thế giới (WHO), các bệnh lý tim mạch (CVDs) là nguyên nhân gây tử vong hàng đầu toàn cầu, chiếm khoảng 17,9 triệu ca tử vong mỗi năm. Bên cạnh đó, các đại dịch đường hô hấp và tình trạng suy hô hấp thầm lặng (Silent Hypoxia) đã chỉ ra rằng việc theo dõi liên tục ba thông số sinh hiệu cốt lõi gồm: nhịp tim (Heart Rate - HR), nồng độ bão hòa oxy trong máu ngoại vi ($SpO_2$) và thân nhiệt (Body Temperature) là điều kiện tiên quyết để phát hiện sớm các biến chứng nguy hiểm.
Tuy nhiên, các thiết bị đo sinh hiệu chuyên dụng trong bệnh viện (Patient Monitor) thường có kích thước cồng kềnh, chi phí đắt đỏ ($500 - $2.000 USD) và phụ thuộc vào dây nối phức tạp. Ngược lại, các thiết bị đo rời rạc dành cho cá nhân trên thị trường lại thiếu tính đồng bộ, không hỗ trợ lưu trữ dữ liệu tập trung và không có cơ chế cảnh báo tức thời từ xa.
+-----------------------------------------------------------------------------+
| BÀI TOÁN THỰC TIỄN |
| - Thiết bị y tế chuyên dụng: Cồng kềnh, đắt đỏ, khó triển khai tại nhà |
| - Dụng cụ cá nhân rời rạc: Thiếu đồng bộ 3 chỉ số, không lưu trữ dữ liệu |
| - Nguy cơ y tế: Bỏ sót rối loạn nhịp tim, hạ SpO2 thầm lặng, sốt cao |
+-------------------------------------+---------------------------------------+
|
v
+-----------------------------------------------------------------------------+
| GIẢI PHÁP ĐỀ TÀI |
| Hệ thống đo đa thông số cầm tay: Cảm biến quang MAX30100 + Hồng ngoại |
| MLX90614 + Vi điều khiển ATmega2560 + Bluetooth HC-05 + MIT App Inventor |
+-----------------------------------------------------------------------------+
Mục tiêu dự án
- Thiết kế phần cứng tích hợp: Xây dựng bo mạch điều khiển trung tâm dựa trên vi điều khiển ATmega2560 để thu thập đồng thời tín hiệu từ cảm biến quang phổ MAX30100 và cảm biến nhiệt hồng ngoại MLX90614.
- Xử lý tín hiệu và hiển thị tại chỗ: Phát triển thuật toán lọc nhiễu, tính toán giá trị thực và hiển thị trực quan trên màn hình OLED 1.3 inch chuẩn giao tiếp $I^2C$.
- Cảnh báo ngưỡng sinh hiệu: Tích hợp bộ cảnh báo âm thanh thông qua còi Buzzer khi một trong các chỉ số vượt ngưỡng an toàn ($HR < 60$ hoặc $> 100\text{ bpm}$; $SpO_2 < 95%$; $T > 37.5^\circ\text{C}$).
- Truyền thông không dây và ứng dụng di động: Lập trình ứng dụng Android bằng MIT App Inventor 2, nhận dữ liệu qua Bluetooth HC-05, hiển thị thời gian thực và ghi log tự động ra tệp tin định dạng
.txt để chia sẻ với bác sĩ.
Phạm vi và giới hạn
- Phạm vi: Đo các chỉ số sinh hiệu ở trạng thái nghỉ và sau vận động trong môi trường khô ráo; truyền dữ liệu không dây tầm ngắn.
- Giới hạn: Thiết bị hoạt động trong bán kính kết nối Bluetooth tối đa 10m; đóng vai trò thiết bị hỗ trợ theo dõi và sàng lọc ban đầu, không thay thế hoàn toàn máy chẩn đoán chuyên sâu trong phòng hồi sức cấp cứu (ICU).
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
| Giải pháp |
Cơ chế đo |
Ưu điểm |
Nhược điểm |
Chi phí ước tính |
| Thủ công (Ống nghe/Thủy ngân) |
Nghe nhịp đập, giãn nở nhiệt thủy ngân |
Đơn giản, không phụ thuộc nguồn điện |
Độ trễ cao, sai số lớn do con người, nguy cơ vỡ thủy ngân độc hại |
Rất thấp ($2 - $5) |
| Thiết bị Monitor chuyên dụng |
Cáp gắn ngực, kẹp ngón tay có dây, sensor nhiệt |
Độ chính xác cao ($\pm 1%$), đo đa kênh liên tục |
Kích thước cồng kềnh, cố định tại giường bệnh, vận hành phức tạp |
Rất cao ($1.000 - $3.000) |
| Đề tài đề xuất |
Cảm biến quang học MAX30100 + Cảm biến hồng ngoại MLX90614 |
Đo không xâm lấn, không tiếp xúc nhiệt, nhỏ gọn, lưu log qua App di động |
Bị ảnh hưởng nếu rung lắc mạnh khi đo quang phổ |
Thấp ($25 - $35) |
Hệ thống được chuẩn hóa yêu cầu theo ma trận MoSCoW:
- Must Have: Thu thập dữ liệu nhịp tim, $SpO_2$, nhiệt độ trán; hiển thị OLED 1.3"; còi buzzer báo động khi vượt ngưỡng.
- Should Have: Truyền thông không dây qua Bluetooth HC-05 (UART); ứng dụng Android hiển thị đồ thị và lưu trữ lịch sử dưới dạng tệp văn bản.
- Could Have: Đầu ngắm Laser định vị vùng đo nhiệt độ; vỏ hộp in 3D công thái học cố định ngón tay.
- Won't Have (Giai đoạn này): Đồng bộ hóa đám mây qua Wi-Fi/4G; phân tích bệnh học tự động bằng mô hình AI học sâu.
Thiết kế hệ thống
Kiến trúc phần cứng và luồng dữ liệu của hệ thống được mô tả qua sơ đồ khối:
graph TD
subgraph Nguon_Cap ["Khối Nguồn"]
BAT["2x Pin Cell 18650 7.4V 4200mAh"] --> REG["Bộ điều áp 5V DC"]
end
subgraph Thu_Thap_Du_Lieu ["Khối Cảm Biến & Điều Khiển"]
MAX["MAX30100 (I2C: 0x57)<br/>Đo HR & SpO2"]
MLX["MLX90614 (I2C: 0x5A)<br/>Nhiệt độ hồng ngoại"]
SW_MODE["Nút bấm chọn chế độ<br/>& Công tắc Laser"]
LASER["Laser 5V định vị"]
end
subgraph Xu_Ly_Trung_Tam ["Khối Xử Lý Trung Tâm"]
MCU["Arduino Mega 2560 R3<br/>(ATmega2560 @ 16MHz)"]
end
subgraph Giao_Tiep_Dau_Ra ["Khối Hiển Thị & Cảnh Báo"]
OLED["Màn hình OLED 1.3 inch<br/>(I2C: SH1106 / SSD1306)"]
BUZZ["Còi Buzzer 5V Cảnh Báo"]
LED_ST["LED Xanh Trạng Thái"]
BT["Module Bluetooth HC-05<br/>(Cầu phân áp 3.3V UART)"]
end
subgraph Nguoi_Dung ["Khối Giám Sát Từ Xa"]
APP["MIT App Inventor 2<br/>(Android App & File .txt Log)"]
end
REG --> MCU
MAX -->|I2C SDA/SCL| MCU
MLX -->|I2C SDA/SCL| MCU
SW_MODE --> MCU
MCU --> LASER
MCU -->|I2C SDA/SCL| OLED
MCU --> BUZZ
MCU --> LED_ST
MCU -->|UART TX/RX| BT
BT -.->|Bluetooth 2.4GHz SPP| APP
Danh mục công nghệ và phiên bản phần cứng/phần mềm:
- Vi điều khiển trung tâm: Arduino Mega 2560 R3 (Chip ATmega2560, 16MHz clock, 256KB Flash, 8KB SRAM, 54 Digital I/O, 16 Analog Inputs).
- Cảm biến quang phổ $SpO_2$ & Nhịp tim: Maxim Integrated MAX30100 (LED Đỏ 660nm, LED Hồng ngoại 880nm, 16-bit ADC, $I^2C$ Fast Mode).
- Cảm biến nhiệt độ hồng ngoại: Melexis MLX90614ESF-BAA (Dải đo vật thể $-70^\circ\text{C} \div +380^\circ\text{C}$, độ phân giải $0.02^\circ\text{C}$, góc mở $90^\circ$, chuẩn $I^2C$).
- Khối hiển thị & Truyền thông: OLED 1.3 inch $128\times 64$ Pixel, Module Bluetooth HC-05 V2.0+EDR (Baudrate 9600 bps).
- Môi trường phát triển: Arduino IDE v1.8.13, MIT App Inventor 2, Altium Designer 20.0, SolidWorks 2020.
Tính toán điện toán và thiết kế phối ghép mạch:
-
Mạch phân áp giao tiếp UART cho HC-05:
Chân RX của HC-05 chỉ chịu được mức điện áp logic tối đa $3.6\text{V}$, trong khi chân TX của Arduino Mega xuất mức logic $5\text{V}$. Cần mắc cầu phân áp bằng hai điện trở $R_4 = 1\text{k}\Omega$ và $R_3 = 2\text{k}\Omega$:
$$U_{RX} = U_{TX_Arduino} \times \frac{R_3}{R_4 + R_3} = 5\text{V} \times \frac{2\text{k}\Omega}{1\text{k}\Omega + 2\text{k}\Omega} = 3.33\text{V} \quad (\le 3.6\text{V} \text{ - Thỏa mãn})$$
-
Tính toán điện trở hạn dòng LED trạng thái:
Nguồn cấp $V_{CC} = 5\text{V}$, điện áp sụt trên LED xanh lá $V_{LED} = 3.2\text{V}$, dòng định mức $I_{LED} = 20\text{mA}$:
$$R_{lim} = \frac{V_{CC} - V_{LED}}{I_{LED}} = \frac{5 - 3.2}{0.02} = 90\ \Omega \implies \text{Chọn điện trở chuẩn } 100\ \Omega$$
-
Cân bằng năng lượng hệ thống (Power Budget):
| Thiết bị / Module |
Điện áp hoạt động ($V$) |
Dòng tiêu thụ đỉnh ($I_{peak}$) |
Công suất tiêu thụ ($P$) |
| Arduino Mega 2560 |
$5.0\text{V}$ |
$50.0\text{mA}$ |
$0.250\text{W}$ |
| Cảm biến MAX30100 |
$5.0\text{V}$ (Qua LDO) |
$1.2\text{mA}$ |
$0.006\text{W}$ |
| Cảm biến MLX90614 |
$5.0\text{V}$ |
$22.5\text{mA}$ |
$0.113\text{W}$ |
| Màn hình OLED 1.3" |
$5.0\text{V}$ |
$8.0\text{mA}$ |
$0.040\text{W}$ |
| Module Bluetooth HC-05 |
$5.0\text{V}$ |
$30.0\text{mA}$ |
$0.150\text{W}$ |
| Đầu Laser định vị |
$5.0\text{V}$ |
$40.0\text{mA}$ |
$0.200\text{W}$ |
| LED chỉ thị + Còi Buzzer |
$5.0\text{V}$ |
$45.0\text{mA}$ |
$0.225\text{W}$ |
| Tổng cộng toàn tải |
$5.0\text{V}$ |
$196.7\text{mA}$ |
$\approx 0.984\text{W}$ (Cực đại $2.63\text{W}$) |
Nguồn cấp sử dụng 2 cell pin Lithium-ion 18650 ($3.7\text{V} \times 2 = 7.4\text{V}$, dung lượng $4200\text{mAh}$). Năng lượng dự trữ của khối nguồn:
$$E_{battery} = 7.4\text{V} \times 4.2\text{Ah} = 31.08\text{ Wh}$$
Thời gian vận hành liên tục lý thuyết ở chế độ hoạt động tối đa:
$$t_{run} = \frac{E_{battery}}{P_{max}} = \frac{31.08\text{Wh}}{2.63\text{W}} \approx 11.82\text{ giờ}$$
Methodology và Kế hoạch thực hiện
Quy trình phát triển được triển khai theo mô hình V-Model trong 22 tuần, đảm bảo mỗi giai đoạn thiết kế phần cứng và phần mềm đều có bước kiểm thử đối ứng.
Tuần 1-4 : Khảo sát lý thuyết quang phổ học, bức xạ nhiệt hồng ngoại và lựa chọn linh kiện.
Tuần 5-8 : Thiết kế sơ đồ nguyên lý Altium, lập trình thử nghiệm giải thuật trên breadboard.
Tuần 9-13 : Thiết kế PCB đơn lớp, ăn mòn FeCl3, khoan chân, hàn lắp và kiểm tra thông mạch.
Tuần 14-16 : Thiết kế 3D SolidWorks (tay cầm nhiệt độ, hộp kẹp MAX30100, vỏ mica) và in 3D.
Tuần 17-20 : Tích hợp toàn hệ thống, tinh chỉnh thuật toán, kiểm chuẩn thực nghiệm với máy y tế.
Tuần 21-22 : Nghiệm thu, đánh giá sai số thống kê và hoàn thiện báo cáo tốt nghiệp.
Implementation và kết quả
Development process & Core Algorithms
1. Nguyên lý đo quang thể tích (Photoplethysmography - PPG) trên MAX30100:
Huyết sắc tố khử Oxy (Deoxygenated Hemoglobin - $Hb$) và Huyết sắc tố bão hòa Oxy (Oxygenated Hemoglobin - $HbO_2$) có hệ số hấp thụ quang học khác nhau tại bước sóng ánh sáng đỏ ($\lambda_1 = 660\text{nm}$) và ánh sáng hồng ngoại ($\lambda_2 = 880\text{nm}$). Tín hiệu thu được từ cảm biến ánh sáng bao gồm hai thành phần: thành phần tĩnh $DC$ (mô, xương, máu tĩnh mạch) và thành phần biến thiên $AC$ (máu động mạch đập theo chu kỳ co bóp cơ tim).
Tỷ số điều chế quang học biến thiên $R$ được xác định theo công thức:
$$R = \frac{(AC_{660} / DC_{660})}{(AC_{880} / DC_{880})}$$
Độ bão hòa oxy trong máu $SpO_2$ được nội suy thực nghiệm tuyến tính hóa:
$$SpO_2 = 110 - 25 \times R \quad [%]$$
Hấp Thụ Quang Học
^
| / Hb (Deoxyhemoglobin - 660nm)
| /
| / \
| / \ / HbO2 (Oxyhemoglobin - 880nm)
| / \ /
| / \_/
+-------------------------> Bước sóng (nm)
660 880
2. Nguyên lý bức xạ nhiệt không tiếp xúc trên MLX90614:
Cảm biến tính toán nhiệt độ vật thể dựa trên định luật Stefan-Boltzmann về bức xạ vật đen tuyệt đối:
$$E = \epsilon \cdot \sigma \cdot (T_{obj}^4 - T_{sensor}^4)$$
Trong đó $\epsilon$ là hệ số phát xạ bề mặt da người ($\epsilon \approx 0.98$), $\sigma = 5.67 \times 10^{-8}\text{ W}/(\text{m}^2\text{K}^4)$ là hằng số Stefan-Boltzmann. Chip MLX90614 thực hiện khuếch đại tín hiệu nhiệt điện (thermopile), số hóa qua bộ DSP 17-bit và tính toán ra nhiệt độ tuyệt đối với độ phân giải $0.02^\circ\text{C}$.
3. Mã nguồn vi điều khiển nhúng trên Arduino Mega 2560:
#include <Wire.h>
#include <Adafruit_MLX90614.h>
#include "MAX30100_PulseOximeter.h"
#include <U8g2lib.h>
#define REPORTING_PERIOD_MS 1000
#define BUZZER_PIN 8
#define LED_STATUS_PIN 7
#define BUTTON_MODE_PIN 2
Adafruit_MLX90614 mlx = Adafruit_MLX90614();
PulseOximeter pox;
U8G2_SH1106_128X64_NONAME_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE);
uint32_t tsLastReport = 0;
float ambientTemp = 0.0, objectTemp = 0.0;
float heartRate = 0.0, spo2 = 0.0;
void onBeatDetected() {
digitalWrite(LED_STATUS_PIN, HIGH);
delay(10);
digitalWrite(LED_STATUS_PIN, LOW);
}
void setup() {
Serial.begin(9600); // Debug Console
Serial1.begin(9600); // Giao tiep Bluetooth HC-05 qua Serial1 Hardware
pinMode(BUZZER_PIN, OUTPUT);
pinMode(LED_STATUS_PIN, OUTPUT);
pinMode(BUTTON_MODE_PIN, INPUT_PULLUP);
if (!mlx.begin()) {
Serial.println("Loi khoi tao MLX90614!");
while (1);
}
if (!pox.begin()) {
Serial.println("Loi khoi tao MAX30100!");
while (1);
}
pox.setIRLedCurrent(MAX30100_LED_CURR_7_6MA);
pox.setOnBeatDetectedCallback(onBeatDetected);
u8g2.begin();
}
void loop() {
pox.update(); // Cap nhat lay mau lien tuc cho thuat toan loc PPG
if (millis() - tsLastReport > REPORTING_PERIOD_MS) {
heartRate = pox.getHeartRate();
spo2 = pox.getSpO2();
objectTemp = mlx.readObjectTempC();
ambientTemp = mlx.readAmbientTempC();
// Kiem tra nguong canhr bao y te
if ((heartRate > 0 && (heartRate < 55 || heartRate > 110)) ||
(spo2 > 0 && spo2 < 94.0) ||
(objectTemp > 37.8)) {
digitalWrite(BUZZER_PIN, HIGH);
} else {
digitalWrite(BUZZER_PIN, LOW);
}
// Dong goi du lieu gui len App qua Bluetooth: FORMAT [HR,SpO2,Temp]
Serial1.print(heartRate, 1);
Serial1.print(",");
Serial1.print(spo2, 1);
Serial1.print(",");
Serial1.println(objectTemp, 1);
// Cap nhat hien thi OLED
u8g2.firstPage();
do {
u8g2.setFont(u8g2_font_ncenB08_tr);
u8g2.drawStr(0, 12, "HE THONG DO SINH HIEU");
u8g2.setCursor(0, 28);
u8g2.print("Nhip Tim : "); u8g2.print(heartRate, 0); u8g2.print(" bpm");
u8g2.setCursor(0, 44);
u8g2.print("SpO2 : "); u8g2.print(spo2, 0); u8g2.print(" %");
u8g2.setCursor(0, 60);
u8g2.print("Nhiet Do : "); u8g2.print(objectTemp, 1); u8g2.print(" C");
} while (u8g2.nextPage());
tsLastReport = millis();
}
}
Testing và validation
Quá trình kiểm chuẩn thiết bị được tiến hành thực nghiệm đối đầu song song với hai thiết bị y tế tiêu chuẩn: Máy theo dõi bệnh nhân đa thông số Comen STAR8000 (chuẩn đo lường lâm sàng) và Nhiệt kế hồng ngoại y tế Microlife NC200.
Thử nghiệm được thực hiện trên 10 đối tượng tình nguyện ở hai trạng thái:
- Trạng thái nghỉ ngơi (Resting state): Đối tượng ngồi yên tĩnh trong phòng 15 phút trước khi đo.
- Trạng thái sau vận động (Post-exercise state): Đối tượng thực hiện bài tập cardio nhẹ trong 5 phút để kích thích tăng nhịp tim và biến thiên tuần hoàn.
Bảng kết quả so sánh thực nghiệm trung bình:
| Thông số sinh hiệu | Thiết bị chuẩn y tế | Thiết bị đề tài | Sai số tuyệt đối ($|\Delta|$) | Sai số tương đối ($%$) |
| :--- | :--- | :--- | :--- | :--- |
| Nhiệt độ ($^\circ\text{C}$) (Nghỉ ngơi) | $36.65^\circ\text{C}$ | $36.52^\circ\text{C}$ | $0.13^\circ\text{C}$ | $0.35%$ |
| Nhịp tim (bpm) (Nghỉ ngơi) | $76.4\text{ bpm}$ | $75.1\text{ bpm}$ | $1.3\text{ bpm}$ | $1.70%$ |
| $SpO_2$ ($%$) (Nghỉ ngơi) | $98.6%$ | $97.8%$ | $0.8%$ | $0.81%$ |
| Nhịp tim (bpm) (Sau vận động)| $118.2\text{ bpm}$ | $116.0\text{ bpm}$ | $2.2\text{ bpm}$ | $1.86%$ |
| $SpO_2$ ($%$) (Sau vận động)| $96.8%$ | $95.5%$ | $1.3%$ | $1.34%$ |
BIỂU ĐỒ SO SÁNH SAI SỐ TƯƠNG ĐỐI (%)
Nhiệt độ (Nghỉ) [##] 0.35%
SpO2 (Nghỉ) [#####] 0.81%
SpO2 (Vận động) [########] 1.34%
Nhịp tim (Nghỉ) [##########] 1.70%
Nhịp tim (Vận động)[###########] 1.86%
+-------------------+-------------------+
0% 1% 2%
Kết quả đạt được
- Độ chính xác đo lường: Hệ thống đạt sai số nhiệt độ dưới $\pm 0.2^\circ\text{C}$, sai số nhịp tim dưới $\pm 2\text{ bpm}$ và sai số $SpO_2$ dưới $\pm 1.5%$, đáp ứng tiêu chuẩn giám sát y tế thông thường.
- Độ ổn định hệ thống: Thời gian đáp ứng cảm biến nhiệt độ đạt $< 1\text{ giây}$, thời gian ổn định đọc dữ liệu PPG $SpO_2$ đạt $3 \div 5\text{ giây}$.
- Khả năng đóng gói: Vỏ hộp gia công mica kết hợp tay cầm cảm biến in 3D chuyên dụng giúp triệt tiêu ánh sáng môi trường lọt vào diode quang của MAX30100, giảm thiểu rung lắc ngón tay đáng kể.
- Phần mềm di động: Ứng dụng Android kết nối Bluetooth tự động với HC-05, cập nhật dữ liệu với tần số 1Hz và xuất tệp
.txt lưu trên bộ nhớ cục bộ theo cú pháp: [Timestamp, HR, SpO2, Temp].
Đổi mới và đóng góp
Đổi mới kỹ thuật nổi bật
- Tích hợp đồng bộ 3 trong 1: Khác với các nghiên cứu tiền nhiệm chỉ tập trung vào 1 hoặc 2 chỉ số, hệ thống này hợp nhất trọn vẹn cả 3 thông số sinh tồn quan trọng nhất vào một bo mạch điều khiển duy nhất với thuật toán chia sẻ thời gian quét trên bus $I^2C$.
- Cơ cấu ngắm Laser định khoảng cách nhiệt độ: Bổ sung module diode laser định hướng giúp người dùng xác định chính xác tâm đo trên trán trong khoảng cách tiêu cự tối ưu ($3 \div 5\text{cm}$), loại bỏ sai số do tán xạ nhiệt môi trường.
- Thiết kế buồng đo quang học chống nhiễu chuyển động: Module kẹp ngón tay được in 3D khép kín theo giải phẫu học đầu ngón tay, duy trì lực ép tĩnh mạch không đổi và chặn nhiễu quang ngoại vi.
Bảng so sánh với các công trình nghiên cứu liên quan
| Tiêu chí |
Luận văn Đỗ Văn Ngọc (2014) [2] |
Nghiên cứu Ashwini Kumar (2018) [3] |
Thiết bị của Đề tài (2020) |
| Vi điều khiển |
MSP430 (Texas Instruments) |
Arduino Uno R3 (ATmega328P) |
Arduino Mega 2560 (ATmega2560) |
| Bộ thông số đo |
Nhịp tim + $SpO_2$ |
Nhịp tim + $SpO_2$ |
Nhịp tim + $SpO_2$ + Thân nhiệt |
| Cảm biến nhiệt độ |
Không tích hợp |
Không tích hợp |
MLX90614 (Hồng ngoại không tiếp xúc) |
| Giao diện hiển thị |
LCD 16x2 |
LCD Keypad Shield |
OLED 1.3" I2C đồ họa sắc nét |
| Phần mềm di động |
Java Eclipse (Cồng kềnh) |
MIT App Inventor (Cơ bản) |
MIT App Inventor 2 (Có log tệp .txt) |
| Cơ chế định vị |
Không có |
Không có |
Đầu phát Laser định vị cự ly đo |
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng thực tế
- Chăm sóc sức khỏe gia đình: Hỗ trợ người cao tuổi, bệnh nhân mắc bệnh lý nền tim mạch hoặc đái tháo đường tự kiểm tra chỉ số sinh hiệu hàng ngày tại nhà mà không cần kỹ năng y tế phức tạp.
- Giám sát tập luyện thể thao: Vận động viên có thể xác định ngưỡng hiếu khí/kỵ khí thông qua biến thiên nhịp tim và $SpO_2$ ngay sau khi thực hiện các bài tập cường độ cao.
- Sàng lọc y tế tuyến cơ sở & Trường học: Kiểm tra thân nhiệt không tiếp xúc kết hợp nồng độ oxy nhanh tại cổng trường học, nhà máy, cơ quan để phân luồng sốt và suy hô hấp.
Phân tích hiệu quả kinh tế (Cost-Benefit Analysis)
CHI PHÍ LINH KIỆN SẢN XUẤT (BOM)
+-------------------------------------------------------------+
| Arduino Mega 2560 Pro Mini / R3 : $7.50 |
| Cảm biến MAX30100 : $3.20 |
| Cảm biến MLX90614 : $8.50 |
| Màn hình OLED 1.3" I2C : $2.80 |
| Module Bluetooth HC-05 : $2.50 |
| Pin Li-ion 18650 x2 + Khay + Sạc : $3.50 |
| Vỏ hộp Mica, Khung in 3D, Phụ kiện : $3.00 |
+-------------------------------------------------------------+
| TỔNG GIÁ THÀNH SẢN XUẤT (BOM) : ~$31.00 USD |
+-------------------------------------------------------------+
(Thấp hơn 90% so với máy Monitor chuyên dụng và rẻ hơn 40% so với mua 3 máy đo riêng lẻ)
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Nhiễu chuyển động quang học: Khi đối tượng cử động ngón tay mạnh trong lúc đo, thuật toán lọc của MAX30100 chưa thể bù trừ động hoàn toàn, dẫn đến giá trị nhịp tim tức thời bị nhảy trị số ảo.
- Giao thức truyền thông cục bộ: Sử dụng chuẩn Bluetooth Classic (HC-05) làm tiêu tốn năng lượng hơn so với Bluetooth Low Energy (BLE) và giới hạn khoảng cách trong phạm vi 10 mét, chưa đẩy trực tiếp dữ liệu lên máy chủ Web.
- Chức năng phân tích: Ứng dụng mới chỉ dừng lại ở mức ghi nhận dữ liệu và cảnh báo theo ngưỡng cứng, chưa có thuật toán phân tích chuỗi thời gian để cảnh báo sớm rung nhĩ hay suy tim.
Hướng phát triển nâng cao
- Nâng cấp phần cứng vi xử lý: Chuyển đổi nền tảng từ Arduino Mega 2560 sang SoC ESP32 Dual-Core tích hợp sẵn Wi-Fi và BLE 5.0, giúp giảm kích thước tổng thể $60%$ và kéo dài thời lượng pin lên $> 24\text{ giờ}$.
- Ứng dụng IoT & Cloud Dashboard: Đẩy dữ liệu trực tiếp lên Firebase/AWS IoT Core thông qua giao thức MQTT, cho phép bác sĩ truy cập hồ sơ bệnh án điện tử từ xa qua giao diện Web Dashboard.
- Tích hợp cảm biến điện tâm đồ (ECG): Ghép nối thêm module AD8232 đo tín hiệu điện tim 3 đạo trình để phát hiện sớm các dạng rối loạn nhịp tim phức tạp như ngoại tâm thu thất.
- Trí tuệ nhân tạo biên (Edge AI): Nhúng mô hình TinyML phân loại bất thường nhịp tim trực tiếp trên vi điều khiển.
Đối tượng hưởng lợi
- Sinh viên ngành Kỹ thuật Y sinh & Điện tử: Cung cấp tài liệu tham khảo toàn diện về tích hợp cảm biến y sinh ($I^2C$, quang phổ, bức xạ nhiệt) với vi điều khiển ATmega, cách thiết kế PCB thực tế và lập trình ứng dụng di động điều khiển thiết bị ngoại vi.
- Kỹ sư phát triển hệ thống nhúng: Cung cấp mẫu thiết kế chuẩn về mạch phân áp bảo vệ logic $3.3\text{V}/5\text{V}$, thuật toán trích xuất đỉnh xung PPG và tối ưu hóa bus $I^2C$ dùng chung nhiều thiết bị.
- Cơ sở y tế ban đầu & Hộ gia đình: Tiếp cận giải pháp theo dõi sức khỏe chi phí thấp, dễ vận hành, số hóa dữ liệu sinh hiệu tự động phục vụ công tác khám chữa bệnh từ xa (Telemedicine).
- Nhà nghiên cứu khoa học: Cung cấp bộ số liệu thực nghiệm đối chuẩn giữa thiết bị tự chế và thiết bị tiêu chuẩn y khoa, làm nền tảng phát triển các thuật toán xử lý tín hiệu sinh học nâng cao.
Câu hỏi thường gặp
1. Yêu cầu kỹ thuật tối thiểu để triển khai và nạp code cho hệ thống là gì?
Cần máy tính cài đặt Arduino IDE phiên bản từ 1.8.x trở lên, tích hợp sẵn các thư viện: MAX30100lib, Adafruit_MLX90614, U8g2 và bộ driver giao tiếp nạp nạp chip CH340/ATmega16U2. Điện thoại chạy hệ điều hành Android từ phiên bản 5.0 trở lên, có hỗ trợ kết nối Bluetooth 2.0.
2. Giới hạn mở rộng của hệ thống là gì và làm thế nào để giải quyết khi bị nghẽn bus $I^2C$?
Do cả MAX30100, MLX90614 và OLED đều chia sẻ chung một bus $I^2C$ phần cứng trên chân 20 (SDA) và 21 (SCL) của Mega 2560, nếu tăng thêm cảm biến có cùng địa chỉ sẽ gây xung đột. Giải pháp là sử dụng IC mở rộng kênh $I^2C$ TCA9548A hoặc chuyển đổi màn hình OLED sang chuẩn giao tiếp SPI để giải phóng băng thông cho bus $I^2C$.
3. Thiết bị tích hợp vào hệ thống quản lý bệnh viện (HIS/EMR) hiện có như thế nào?
Dữ liệu lưu trữ dưới dạng tệp .txt hoặc chuỗi JSON từ ứng dụng Android có thể được truyền tải qua API RESTful (HTTP POST) hoặc MQTT lên máy chủ trung tâm của bệnh viện, dễ dàng trích xuất vào cơ sở dữ liệu hồ sơ bệnh án điện tử (EMR) theo chuẩn trao đổi thông tin y tế HL7/FHIR.
4. Quy trình bảo trì và hiệu chuẩn cảm biến định kỳ diễn ra như thế nào?
- Cảm biến quang học MAX30100: Cần vệ sinh bề mặt thấu kính quang học bằng cồn y tế $70^\circ$ định kỳ hàng tháng để tránh bụi bẩn làm suy giảm quang thông LED.
- Cảm biến nhiệt độ MLX90614: Cần hiệu chuẩn lại sau mỗi 6 tháng bằng nguồn nhiệt vật đen chuẩn (Blackbody Calibrator) để đảm bảo độ trôi dạt nhiệt độ không vượt quá $\pm 0.1^\circ\text{C}$.
5. Chi tiết cấu thành chi phí và thời gian hoàn vốn (ROI) khi thương mại hóa?
Với chi phí sản xuất hàng loạt ước tính khoảng $22 - $25 USD/thiết bị, giá bán thương mại dự kiến khoảng $45 USD. So với việc trang bị các bộ đo rời rạc ($70 - $90 USD), người tiêu dùng tiết kiệm được $45%$ chi phí đầu tư ban đầu, thời gian hoàn vốn đầu tư nghiên cứu sản xuất ước tính đạt dưới 6 tháng với quy mô 1.000 sản phẩm.
Kết luận
Đồ án "Thiết kế và thi công thiết bị đo nhịp tim, nồng độ oxy trong máu và nhiệt độ" đã giải quyết trọn vẹn bài toán tích hợp đa thông số sinh hiệu phục vụ theo dõi sức khỏe không xâm lấn. Bằng việc kết hợp vi điều khiển ATmega2560, cảm biến quang phổ MAX30100 và cảm biến hồng ngoại MLX90614, nhóm nghiên cứu đã chế tạo thành công một thiết bị cầm tay hoàn chỉnh, đạt độ chính xác tương đương các thiết bị y tế tiêu chuẩn với sai số nhịp tim dưới $1.86%$, $SpO_2$ dưới $1.34%$ và thân nhiệt dưới $0.35%$.
Hệ thống không chỉ dừng lại ở hiển thị cục bộ mà còn tiên phong số hóa dữ liệu sang ứng dụng di động qua sóng Bluetooth, tạo tiền đề vững chắc cho việc phát triển các nền tảng y tế từ xa chi phí thấp trong tương lai. Để tìm hiểu thêm hoặc tiếp nhận chuyển giao công nghệ mạch in và mã nguồn, các nhà nghiên cứu và phát triển có thể kết nối trực tiếp với bộ môn Điện tử Y sinh - Khoa Điện - Điện tử, Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh.