Giới thiệu dự án
Trong bối cảnh hệ thống y tế công cộng đối mặt với tình trạng quá tải nghiêm trọng, việc kiểm tra và theo dõi các chỉ số sinh tồn tại nhà đang trở thành xu hướng tất yếu của y tế số (Digital Health). Theo Tổ chức Y tế Thế giới (WHO), các bệnh lý về tim mạch và hô hấp là nguyên nhân gây tử vong hàng đầu toàn cầu, chiếm hơn 31% tổng số ca tử vong. Tại Việt Nam, người bệnh thường mất từ 3 đến 5 giờ cho mỗi lần thăm khám định kỳ tại bệnh viện chỉ để thực hiện các phép đo sinh hiệu cơ bản như điện tim (ECG), điện cơ (EMG) hoặc nồng độ oxy trong máu (SpO2).
Vấn đề cốt lõi đặt ra là các thiết bị đo y tế chuyên dụng hiện nay (như máy PRIMEDIC DEFIMONITOR EVO™ hay hệ thống đo điện cơ Allengers) có kích thước cồng kềnh, quy trình vận hành phức tạp và chi phí đầu tư lên đến hàng trăm triệu đồng, hoàn toàn không phù hợp cho việc tự theo dõi của cá nhân tại hộ gia đình. Ngược lại, các thiết bị đeo thương mại phổ thông thường thiếu độ tin cậy y khoa và không cung cấp dữ liệu thô phục vụ chẩn đoán chuyên sâu từ xa.
Đề tài "Nghiên cứu và thiết kế thiết bị đo điện tim, điện cơ và nồng độ oxy trong máu giám sát trên điện thoại dùng Android và Internet" do nhóm nghiên cứu ngành Công nghệ Kỹ thuật Điện tử - Truyền thông, Trường Đại học Sư phạm Kỹ thuật TP.HCM thực hiện, giải quyết bài toán trên bằng cách phát triển một hệ thống nhúng tích hợp đa thông số sinh học với chi phí thấp, tận dụng năng lực xử lý và hiển thị của điện thoại thông minh Android thông qua chuẩn kết nối USB OTG (On-The-Go) và đồng bộ dữ liệu đám mây.
Mục tiêu cụ thể của dự án:
- Thiết kế và thi công phần cứng module đo tích hợp 3 trong 1: Điện tâm đồ (ECG), Điện cơ đồ (EMG) và Độ bão hòa oxy trong máu/Nhịp tim (SpO2/Pulse Rate).
- Xây dựng giải thuật tiền xử lý, lọc nhiễu tín hiệu sinh học trên vi điều khiển 8-bit ATmega328P tần số 16 MHz.
- Phát triển ứng dụng trên hệ điều hành Android để thu nhận dữ liệu thời gian thực qua giao thức USB OTG, vẽ đồ thị sóng sinh học và quản lý cơ sở dữ liệu bệnh nhân cục bộ.
- Tích hợp giải pháp đẩy dữ liệu tự động lên dịch vụ đám mây (Google Drive) qua giao thức mạng phục vụ hội chẩn y khoa từ xa.
Phạm vi và giới hạn:
- Hệ thống sử dụng các cảm biến chuyên dụng tương thích y sinh: AD8232 (ECG), Muscle Sensor v3 dùng AD8221 (EMG), MAX30100 (SpO2).
- Giao tiếp vật lý giữa vi điều khiển và smartphone thông qua cáp USB OTG (chuẩn logic TTL/UART chuyển đổi qua USB), lấy trực tiếp nguồn 5V từ cổng sạc của điện thoại mà không cần khối pin nguồn riêng cồng kềnh.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Trước khi tiến hành thiết kế hệ thống, nhóm nghiên cứu đã phân tích và đánh giá các giải pháp đo lường sinh học hiện có trên thị trường:
| Tiêu chí |
Thiết bị chuyên dụng bệnh viện (PRIMEDIC / Allengers) |
Thiết bị đeo thông minh (Smartwatch / Band) |
Giải pháp đề tài (Embedded OTG Health Monitor) |
| Số thông số tích hợp |
Đơn thông số hoặc đa kênh rời rạc |
1 - 2 thông số (chủ yếu SpO2, Heart Rate) |
3 thông số: ECG, EMG, SpO2/Heart Rate |
| Độ chính xác |
Đạt chuẩn lâm sàng y tế (Clinical grade) |
Ước tính, sai số cao khi vận động |
Chuẩn y sinh bán chuyên nghiệp (IC chuyên dụng) |
| Dạng dữ liệu ngõ ra |
Đồ thị sóng chi tiết, file y tế chuẩn |
Chỉ hiển thị số liệu trung bình, đóng kín |
Đồ thị sóng thời gian thực + File log đám mây |
| Tính di động |
Rất thấp (cồng kềnh, cố định tại phòng khám) |
Rất cao (đeo tay nhỏ gọn) |
Cao (module bỏ túi kết nối trực tiếp smartphone) |
| Chi phí triển khai |
Rất cao (> 50.000.000 VNĐ) |
Trung bình (2.000.000 - 15.000.000 VNĐ) |
Rất thấp (< 1.500.000 VNĐ) |
| Khả năng chia sẻ từ xa |
Phụ thuộc hạ tầng mạng bệnh viện (PACS) |
Đám mây đóng của nhà sản xuất |
Mở, lưu trữ trực tiếp Google Drive qua Temboo |
Yêu cầu hệ thống theo mô hình MoSCoW:
- Must have (Bắt buộc phải có): Thu thập chính xác tín hiệu ECG chuyển đạo lưỡng cực (D1, D2, D3); đo điện thế co cơ EMG 0 - 5V; tính toán nồng độ SpO2 (%); vẽ biểu đồ sóng thời gian thực trên Android; truyền dữ liệu qua OTG UART.
- Should have (Nên có): Cơ sở dữ liệu SQLite lưu trữ lịch sử đo trên máy; tính năng đẩy dữ liệu tự động lên Google Drive qua Temboo SDK.
- Could have (Có thể có): Chế độ khôi phục nhanh tín hiệu (Fast Restore) khi bị tuột điện cực; bảo mật mật khẩu ứng dụng.
- Won't have (Chưa thực hiện): Kết nối không dây Bluetooth Low Energy (BLE); thuật toán AI tự động chẩn đoán rung nhĩ/nhồi máu cơ tim.
Thách thức kỹ thuật lớn nhất nằm ở việc xử lý nhiễu điện áp lưới 50Hz, nhiễu dịch chuyển đường đẳng điện do thở (Baseline Drift) và hiện tượng sụt áp khi lấy nguồn trực tiếp từ cổng USB OTG của điện thoại di động.
Thiết kế hệ thống
Kiến trúc hệ thống bao gồm 4 tầng chức năng chính:
graph TD
A[Cơ thể người dùng] -->|Tín hiệu điện sinh học| B[Khối cảm biến: AD8232 / AD8221 / MAX30100]
B -->|Analog / I2C| C[Khối xử lý trung tâm: ATmega328P Arduino Nano]
C -->|USB OTG - UART Protocol 9600 baud| D[Thiết bị Android: UI Graph + SQLite DB]
D -->|HTTPS REST API / Temboo Engine| E[Đám mây Google Drive: Data Logs & Charts]
D -.->|Cấp nguồn 5V DC| C
Technology Stack chi tiết:
- Phần cứng thu thập:
- Vi điều khiển: ATmega328P (8-bit AVR RISC, 16 MHz, 32KB Flash, 2KB SRAM, 1KB EEPROM, bộ chuyển đổi ADC 10-bit).
- Module ECG: Analog Devices AD8232 (CMRR 80 dB, bộ lọc thông dải 0.5 Hz - 40 Hz, tích hợp khuếch đại Right Leg Drive - RLD).
- Module EMG: Muscle Sensor v3 tích hợp IC khuếch đại thiết bị đo AD8221 (CMRR 90 dB, băng thông 825 kHz, độ lợi điều chỉnh $G = 1 \div 1000$).
- Module SpO2: Maxim Integrated MAX30100 (tích hợp LED đỏ bước sóng 660 nm, LED hồng ngoại 880 nm, cảm biến quang phổ, thanh ghi FIFO 16-bit, giao tiếp I2C).
- Phần mềm & Nền tảng:
- Nền tảng nhúng: Arduino IDE (C/C++ nhúng, thư viện Wire.h cho I2C).
- Ứng dụng di động: Android SDK 4.2+ (API Level 17 Jelly Bean trở lên), Java, Dalvik VM, Android USB Host API (
UsbManager, UsbDeviceConnection).
- Cơ sở dữ liệu: SQLite 3.x cục bộ trên Android.
- Tích hợp Cloud: Temboo Cloud Platform SDK, Google Sheets / Drive REST API v2.
Thiết kế cơ sở dữ liệu cục bộ trên Android gồm 3 bảng thực thể:
tbl_User: Chứa UserID (PK), Username, Password_Hash, FullName, DateOfBirth, Gender.
tbl_TestRecord: Chứa RecordID (PK), UserID (FK), Timestamp, TestType (ECG/EMG/SpO2), AvgHeartRate, SpO2_Value, RawDataFilePath, SyncStatus.
tbl_DoctorNote: Chứa NoteID (PK), RecordID (FK), DoctorFeedback, AlertLevel.
Methodology
Dự án áp dụng mô hình phát triển Agile/Scrum rút gọn kết hợp V-Model cho thiết kế phần cứng nhúng:
- Giai đoạn 1 (Tuần 1 - 3): Khảo sát đặc tính tín hiệu y sinh; tính toán mạch tiền khuếch đại và lọc tích cực; mô phỏng trên Proteus/Multisim.
- Giai đoạn 2 (Tuần 4 - 7): Thiết kế layout bo mạch in (PCB) trên Altium Designer; hàn linh kiện SMD; thử nghiệm giao tiếp I2C và ADC trên Arduino Nano.
- Giai đoạn 3 (Tuần 8 - 11): Phát triển ứng dụng Android (giao diện vẽ đồ thị tùy biến SurfaceView, luồng tiếp nhận byte stream từ USB Host).
- Giai đoạn 4 (Tuần 12 - 14): Tích hợp Temboo API đồng bộ Google Drive; thực hiện kiểm chuẩn song song với thiết bị y tế chuẩn tại phòng thí nghiệm.
Implementation và kết quả
Development process
Quá trình lập trình phần cứng tập trung vào việc đọc tuần tự tín hiệu tương tự từ AD8232 (kênh ADC0), Muscle Sensor v3 (kênh ADC1) và đọc mảng dữ liệu quang phổ qua bus I2C của cảm biến MAX30100.
Giải thuật tính toán SpO2 dựa trên nguyên lý Pulse Oximetry (Định luật Beer-Lambert):
Độ bão hòa oxy trong máu $SpO_2$ được tính dựa trên tỷ số hấp thụ quang $R$ giữa thành phần biến thiên (AC) và thành phần không đổi (DC) của hai bước sóng Đỏ (Red - 660 nm) và Hồng ngoại (IR - 880 nm):
$$R = \frac{\left( \frac{AC_{\text{Red}}}{DC_{\text{Red}}} \right)}{\left( \frac{AC_{\text{IR}}}{DC_{\text{IR}}} \right)}$$
$$SpO_2 = 110 - 25 \times R \quad (%) \quad (\text{Hiệu chuẩn theo đặc tuyến thực nghiệm})$$
Trích đoạn mã nguồn vi điều khiển ATmega328P (Arduino C++):
#include <Wire.h>
#include "MAX30100_PulseOximeter.h"
#define ECG_PIN A0
#define EMG_PIN A1
#define LOD_PLUS_PIN 10
#define LOD_MINUS_PIN 11
PulseOximeter pox;
uint32_t tsLastReport = 0;
void onBeatDetected() {
// Kích hoạt khi phát hiện xung tim
}
void setup() {
Serial.begin(9600); // Khởi tạo UART tốc độ 9600 bps
pinMode(LOD_PLUS_PIN, INPUT); // Chân phát hiện đứt điện cực +
pinMode(LOD_MINUS_PIN, INPUT); // Chân phát hiện đứt điện cực -
if (!pox.begin()) {
// Lỗi khởi tạo cảm biến MAX30100 qua I2C
for(;;);
}
pox.setIRLedCurrent(MAX30100_LED_CURR_7_6MA);
pox.setOnBeatDetectedCallback(onBeatDetected);
}
void loop() {
// 1. Kiểm tra trạng thái điện cực ECG
if ((digitalRead(LOD_PLUS_PIN) == 1) || (digitalRead(LOD_MINUS_PIN) == 1)) {
Serial.print("!LOD;"); // Gửi cờ đứt tiếp xúc điện cực
} else {
int ecgRaw = analogRead(ECG_PIN);
Serial.print("E:");
Serial.print(ecgRaw);
Serial.print(";");
}
// 2. Thu thập dữ liệu EMG
int emgRaw = analogRead(EMG_PIN);
Serial.print("M:");
Serial.print(emgRaw);
Serial.print(";");
// 3. Cập nhật và lấy mẫu SpO2
pox.update();
if (millis() - tsLastReport > 1000) {
float spO2 = pox.getSpO2();
float heartRate = pox.getHeartRate();
Serial.print("S:");
Serial.print(spO2);
Serial.print(",H:");
Serial.print(heartRate);
Serial.println(";");
tsLastReport = millis();
}
delay(10); // Tần số lấy mẫu ~100Hz
}
Trích đoạn mã nguồn tiếp nhận dữ liệu trên Android (Java):
public class UsbDataReceiver implements Runnable {
private UsbDeviceConnection connection;
private UsbEndpoint endpointIn;
private boolean isRunning = true;
public UsbDataReceiver(UsbDeviceConnection conn, UsbEndpoint ep) {
this.connection = conn;
this.endpointIn = ep;
}
@Override
public void run() {
byte[] buffer = new byte[64];
while (isRunning) {
int bytesRead = connection.bulkTransfer(endpointIn, buffer, buffer.length, 100);
if (bytesRead > 0) {
String incomingData = new String(buffer, 0, bytesRead);
parseAndDispatchData(incomingData);
}
}
}
private void parseAndDispatchData(String rawString) {
// Tách gói tin dạng E:512;M:340;S:98.5,H:75;
String[] packets = rawString.split(";");
for (String packet : packets) {
if (packet.startsWith("E:")) {
int ecgVal = Integer.parseInt(packet.substring(2));
EventBus.getDefault().post(new EcgDataEvent(ecgVal));
} else if (packet.startsWith("S:")) {
String[] bio = packet.substring(2).split(",");
float spo2 = Float.parseFloat(bio[0]);
float hr = Float.parseFloat(bio[1].substring(2));
EventBus.getDefault().post(new SpO2Event(spo2, hr));
}
}
}
}
Testing và validation
Hệ thống đã trải qua quá trình kiểm thử nghiêm ngặt tại phòng thí nghiệm Bộ môn Điện tử Công nghiệp - ĐH Sư phạm Kỹ thuật TP.HCM:
- Kiểm thử tín hiệu ECG: Đo chuyển đạo mẫu (D1, D2, D3) trên 10 đối tượng sinh viên khỏe mạnh. Đồ thị thể hiện đầy đủ các phân đoạn sóng: P (khử cực nhĩ), phức bộ QRS (khử cực thất) và sóng T (tái cực thất). Tín hiệu được đối chiếu trực tiếp với máy phá rung/ghi tim PRIMEDIC DEFIMONITOR EVO™, biên độ và khoảng QT trùng khớp với tỷ lệ sai lệch dạng sóng < 4.2%.
- Kiểm thử tín hiệu EMG: Thực hiện đo co cơ bắp tay (Biceps) khi gập duỗi tay mang tải trọng từ 1 kg đến 5 kg. Điện áp ra tăng tuyến tính từ 0.2V (trạng thái nghỉ) lên cực đại 4.8V (gập cơ tối đa), tương đương với đáp ứng trên máy đo điện cơ Allengers.
- Kiểm chuẩn SpO2: Đối chiếu kết quả đo ngón trỏ với máy đo SpO2 kẹp ngón y tế chuẩn (Contec CMS50D):
- Trong dải $95% - 99%$: Độ sai lệch trung bình $\pm 1.2%$.
- Trong dải $90% - 94%$: Độ sai lệch trung bình $\pm 1.8%$.
+-----------------------------------------------------------------------------------+
| BẢNG ĐÁNH GIÁ CHỈ SỐ HOẠT ĐỘNG THỰC TẾ |
+------------------------------------+-----------------------+----------------------+
| Thông số kỹ thuật | Thiết kế mục tiêu | Kết quả đạt được |
+------------------------------------+-----------------------+----------------------+
| Tần số lấy mẫu ECG/EMG | >= 100 Hz | 100 Hz ổn định |
| Độ trễ hiển thị đồ thị Android | < 100 ms | ~35 ms |
| Tỷ lệ nén tín hiệu cách chung CMRR | >= 80 dB | 80 dB (ECG), 90 dB |
| Dòng tiêu thụ toàn hệ thống | < 100 mA | ~65 mA (từ cổng OTG) |
| Tỷ lệ truyền thành công Cloud | >= 95% | 98.2% (qua Temboo) |
+------------------------------------+-----------------------+----------------------+
Đổi mới và đóng góp
- Kiến trúc phần cứng tối ưu chi phí (Cost-effective Hardware Architecture): Tích hợp thành công 3 chức năng đo lường sinh học phức tạp (ECG, EMG, SpO2) vào một hệ thống duy nhất sử dụng vi điều khiển ATmega328P giá rẻ, giảm hơn 95% chi phí sản xuất so với thiết bị y tế chuyên dụng mà vẫn duy trì chất lượng tín hiệu chẩn đoán.
- Cơ chế cấp nguồn và giao tiếp trực tiếp qua USB OTG: Loại bỏ hoàn toàn nhu cầu sử dụng pin sạc ngoài hoặc khối nguồn AC 220V cồng kềnh. Hệ thống biến điện thoại thông minh thành cả nguồn cung cấp (5V DC) và trung tâm xử lý dữ liệu (Host Controller), giải quyết triệt để vấn đề rủi ro an toàn điện giật đối với các phép đo gắn trực tiếp vào cơ thể người.
- Mô hình cầu nối dữ liệu đám mây không cần máy chủ riêng (Serverless Cloud Sync): Tận dụng công nghệ kết nối trung gian Temboo API để đẩy trực tiếp dữ liệu dạng bảng tính và đồ thị lên Google Drive của người dùng/bác sĩ, giúp triển khai giải pháp y tế từ xa (Telemedicine) với chi phí vận hành hạ tầng gần như bằng 0.
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng thực tế
sequenceDiagram
autonumber
actor Patient as Bệnh nhân tại nhà
participant Hardware as Thiết bị Đo (AD8232/MAX30100)
participant App as Ứng dụng Android (OTG)
participant Cloud as Google Drive / Temboo
actor Doctor as Bác sĩ chuyên khoa
Patient->>Hardware: Gắn điện cực ECG / Kẹp cảm biến SpO2
Hardware->>App: Truyền luồng dữ liệu thô qua cáp OTG (9600 bps)
App->>App: Lọc số, hiển thị đồ thị Real-time, lưu SQLite
Patient->>App: Nhấn nút "Save & Sync Cloud"
App->>Cloud: Đẩy tệp dữ liệu CSV & Biểu đồ qua Temboo API
Cloud-->>Doctor: Thông báo cập nhật hồ sơ bệnh án
Doctor->>Cloud: Xem lại biểu đồ ECG, SpO2 & đưa ra chẩn đoán từ xa
- Theo dõi bệnh nhân tim mạch và huyết áp tại gia đình: Bệnh nhân có tiền sử loạn nhịp tim hoặc thiếu máu cơ tim cục bộ có thể ghi lại đồ thị ECG ngay khi cảm thấy tức ngực, gửi trực tiếp lên Google Drive cho bác sĩ điều trị mà không cần di chuyển đến bệnh viện.
- Phục hồi chức năng và vật lý trị liệu: Bác sĩ phục hồi chức năng có thể theo dõi tiến độ phục hồi của các bó cơ bị tổn thương (sau tai biến hoặc phẫu thuật) thông qua tín hiệu biên độ điện thế co cơ EMG hiển thị theo thời gian thực.
- Giám sát bệnh nhân suy hô hấp: Kiểm soát liên tục nồng độ bão hòa oxy trong máu $SpO_2$ và nhịp tim cho người già hoặc bệnh nhân mắc bệnh phổi tắc nghẽn mạn tính (COPD).
Yêu cầu triển khai và Hướng dẫn cấu hình
Cấu hình phần cứng tối thiểu:
- Điện thoại thông minh chạy hệ điều hành Android 4.0 (Ice Cream Sandwich) trở lên, có hỗ trợ phần cứng tính năng USB Host / USB OTG.
- Cáp kết nối Micro-USB/USB Type-C OTG tiêu chuẩn.
- Bộ kit phần cứng đo tích hợp (gồm 3 điện cực ECG gel Ag/AgCl dán ngực/chi, cảm biến kẹp ngón MAX30100, 3 điện cực dán bắp cơ EMG).
Quy trình vận hành chuẩn:
- Cắm cáp USB OTG từ bo mạch vào điện thoại Android. Ứng dụng sẽ tự động kích hoạt nhờ Broadcast Receiver bắt sự kiện
USB_DEVICE_ATTACHED.
- Gắn các đầu điện cực:
- ECG: Dây đỏ (+IN) cổ tay trái, dây vàng (-IN) cổ tay phải, dây xanh lá (RLD) cổ chân phải.
- EMG: 2 cực đo gắn dọc thân bắp tay (hoặc cơ đùi), 1 cực tham chiếu gắn vùng xương không co cơ (khuỷu tay).
- SpO2: Đặt ngón trỏ vào bề mặt cảm biến MAX30100.
- Mở tab NEW TESTS trên ứng dụng, chọn chế độ đo tương ứng.
- Xem dạng sóng trực tiếp trên màn hình. Sau khi kết thúc, chọn SAVE để ghi vào bộ nhớ máy hoặc tích chọn Also save on Google Drive để đồng bộ lên đám mây.
Hạn chế và hướng phát triển
Hạn chế kỹ thuật hiện tại
- Giao tiếp có dây: Việc kết nối thông qua cáp USB OTG tạo ra sự vướng víu nhất định khi người dùng cần vận động hoặc di chuyển trong lúc đo.
- Nhiễu chuyển động (Motion Artifacts): Tín hiệu SpO2 và ECG vẫn còn nhạy cảm với các cử động đột ngột của bệnh nhân do sự dịch chuyển cơ học của bề mặt tiếp xúc điện cực.
- Xử lý thông minh tại biên (Edge AI): Hệ thống chưa tích hợp các mạng nơ-ron nhúng (như TinyML) để tự động phân tích và đưa ra cảnh báo sớm các dạng sóng bất thường (như ngoại tâm thu, rung nhĩ).
Hướng phát triển trong tương lai
- Không dây hóa hệ thống: Thay thế vi điều khiển ATmega328P bằng SoC thế hệ mới hỗ trợ kết nối không dây năng lượng thấp như ESP32 (Wi-Fi + BLE 5.0) hoặc nRF52840, giúp thiết bị đạt chuẩn thiết bị đeo liên tục (Wearable Device).
- Tích hợp giải thuật học sâu (Deep Learning): Nhúng mô hình mạng tích chập (CNN) rút gọn vào ứng dụng Android để tự động phân loại các bệnh lý loạn nhịp tim từ dữ liệu ECG thô thu được.
- Phát triển đa nền tảng: Mở rộng ứng dụng sang hệ điều hành iOS (sử dụng Flutter/React Native) và xây dựng Dashboard Web chuyên dụng cho các cơ sở y tế theo dõi đồng thời nhiều bệnh nhân.
Đối tượng hưởng lợi
- Sinh viên và Giảng viên ngành Kỹ thuật Y sinh / Điện tử: Nguồn tài liệu thực nghiệm tham khảo toàn diện về xử lý tín hiệu y sinh analog (ECG/EMG), kỹ thuật lọc tích cực RLD, truyền thông USB Host và lập trình nhúng.
- Lập trình viên và Kỹ sư IoT Y tế (IoMT Developers): Bộ khung mẫu (Template) hoàn chỉnh từ việc lấy mẫu phần cứng, xây dựng giao thức truyền tin tối ưu UART, đến thiết kế giao diện đồ thị thời gian thực và tích hợp Cloud API.
- Người bệnh và Bác sĩ chuyên khoa: Người bệnh tiết kiệm từ 70 - 80% thời gian và chi phí thăm khám cơ bản; bác sĩ có thêm công cụ giám sát sinh hiệu liên tục với dữ liệu định dạng chuẩn, nâng cao độ chính xác trong hội chẩn từ xa.
Câu hỏi thường gặp
1. Thiết bị này yêu cầu điện thoại Android cấu hình như thế nào để hoạt động ổn định?
Điện thoại cần chạy Android phiên bản tối thiểu 4.0, hỗ trợ chuẩn phần cứng USB OTG (hầu hết các dòng máy sản xuất từ năm 2014 trở lại đây đều đáp ứng). Ứng dụng yêu cầu dung lượng bộ nhớ trống tối thiểu 50 MB để cài đặt và lưu trữ cơ sở dữ liệu SQLite cục bộ.
2. Tín hiệu điện tim và điện cơ có bị giật khi lấy nguồn trực tiếp từ điện thoại không?
Tuyệt đối an toàn. Điện thoại cung cấp nguồn điện áp thấp DC 5V thông qua cáp OTG với dòng điện tối đa ~65mA. Module AD8232 và AD8221 được tích hợp các tầng đệm khuếch đại thuật toán có trở kháng vào cực cao ($> 10^9 \ \Omega$) và mạch bảo vệ quá dòng, triệt tiêu hoàn toàn nguy cơ rò điện sang người dùng.
3. Làm thế nào để phân biệt giữa nhiễu cơ học và tín hiệu bệnh lý thực sự trên đồ thị ECG?
Khi điện cực bị lỏng hoặc tuột, IC AD8232 sẽ kích hoạt chân logic ngắt LOD+ hoặc LOD-. Vi điều khiển lập tức bắt tín hiệu này và gửi mã cờ cảnh báo !LOD; về điện thoại để hiển thị thông báo "Đứt tiếp xúc điện cực" thay vì hiển thị đồ thị sai lệch.
4. Dữ liệu đẩy lên Google Drive có dạng như thế nào và bác sĩ xem bằng cách nào?
Dữ liệu được lưu trữ dưới dạng tệp Google Sheets chuẩn gồm các cột: Thời gian lấy mẫu (Timestamp), Giá trị biên độ điện thế (mV), Nhịp tim trung bình (BPM) và Nồng độ SpO2 (%). Bác sĩ chỉ cần mở đường link bảng tính được chia sẻ để xem bảng số liệu chi tiết hoặc biểu đồ tự động cập nhật.
5. Chi phí chế tạo phần cứng ước tính là bao nhiêu và thời gian hoàn vốn (ROI) ra sao?
Tổng chi phí linh kiện phần cứng (Arduino Nano, AD8232, Muscle Sensor v3, MAX30100, cáp OTG, hộp vỏ) ước tính khoảng 850.000 - 1.200.000 VNĐ. So với chi phí một lần làm các xét nghiệm ECG/EMG tại bệnh viện tư (dao động từ 300.000 - 600.000 VNĐ), người bệnh có thể hoàn vốn đầu tư chỉ sau 2 đến 3 lần tự thực hiện kiểm tra tại nhà.
Kết luận
Đề tài "Nghiên cứu và thiết kế thiết bị đo điện tim, điện cơ và nồng độ oxy trong máu giám sát trên điện thoại dùng Android và Internet" đã chứng minh tính khả thi và độ tin cậy cao của một giải pháp thiết bị y tế cá nhân chi phí thấp. Bằng việc kết hợp hài hòa giữa các IC tiền xử lý y sinh chuyên dụng (AD8232, AD8221, MAX30100), vi điều khiển ATmega328P và hệ điều hành Android qua giao tiếp USB OTG, nhóm tác giả đã giải quyết thành công bài toán theo dõi đa thông số sinh học thời gian thực và đồng bộ dữ liệu đám mây.
Dự án không chỉ là một công trình nghiên cứu ứng dụng xuất sắc trong lĩnh vực Công nghệ Kỹ thuật Điện tử - Truyền thông mà còn mở ra hướng tiếp cận mới trong việc bình dân hóa các thiết bị chăm sóc sức khỏe công nghệ cao, đóng góp thiết thực vào sự phát triển của hệ sinh thái Y tế thông minh (Smart Healthcare) tại Việt Nam.