Giới thiệu dự án

Theo thống kê từ 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 trên toàn cầu, cướp đi sinh mạng của khoảng 17,9 triệu người mỗi năm, chiếm 31% tổng số ca tử vong. Tại Việt Nam, xu hướng gia tăng các bệnh lý tim mạch ở người cao tuổi và người có bệnh nền đòi hỏi một cơ chế giám sát liên tục để phát hiện sớm các cơn thiếu máu cơ tim cục bộ, loạn nhịp tim hoặc suy tim cấp. Tuy nhiên, các thiết bị điện tâm đồ (ECG - Electrocardiogram) tiêu chuẩn tại bệnh viện thường cồng kềnh, chi phí cao, đòi hỏi kỹ thuật viên vận hành phức tạp và buộc bệnh nhân phải lưu trú tại cơ sở y tế.

Đồ án "Ứng dụng Raspberry Pi giám sát nhịp tim thông qua trang Web" giải quyết triệt để các hạn chế này bằng cách kết hợp kỹ thuật cảm biến quang học, mạch tiền xử lý tín hiệu analog khuếch đại cao, vi điều khiển và máy tính nhúng single-board Raspberry Pi để xây dựng một trạm IoT y tế (IoMT) thu nhỏ có chi phí thấp, cho phép truyền dữ liệu sinh tồn lên giao diện Web theo thời gian thực.

flowchart LR
    A["Cảm biến hồng ngoại (IR LED & Photodiode)"] --> B["Khối lọc & Khuếch đại 2 tầng (LM324)"]
    B --> C["Vi điều khiển PIC16F877A (ADC/Xử lý xung)"]
    C --> D["Raspberry Pi 2 (Python & MySQLdb)"]
    D --> E[("Cơ sở dữ liệu MySQL (hb.nt)")]
    E --> F["Web Server Apache + PHP"]
    F --> G["Giao diện Web Client (HTML/JS/Canvas)"]

Mục tiêu dự án

  1. Thiết kế và thi công phần cứng module đo nhịp tim bằng phương pháp quang phổ thể tích (Photoplethysmography - PPG), lọc nhiễu dải tần sinh học $0,7\text{ Hz} - 2,7\text{ Hz}$ (tương ứng $40 - 160\text{ BPM}$) với độ lợi khuếch đại $K > 10.000$.
  2. Tích hợp vi điều khiển PIC16F877A thực hiện chuyển đổi tương tự - số (ADC) và định dạng khung truyền dữ liệu xung tim.
  3. Thiết lập máy tính nhúng Raspberry Pi 2 làm trung tâm điều khiển (Gateway/Server), chạy script Python thu nhận dữ liệu và tự động ghi vào cơ sở dữ liệu MySQL.
  4. Xây dựng hệ thống Web Server nội bộ sử dụng Apache và PHP, trực quan hóa nhịp tim dạng đồ thị đường (Line Chart) qua giao diện Web hỗ trợ theo dõi từ xa trên mọi thiết bị có trình duyệt.

Phương pháp tiếp cận và kết quả kỳ vọng

  • Phương pháp tiếp cận: Sử dụng cảm biến quang hồng ngoại (IR 940nm) để phát hiện sự thay đổi độ hấp thụ ánh sáng của máu động mạch ở đầu ngón tay. Tín hiệu dòng điện $I_p$ (vài $\mu\text{A}$) và điện áp AC (vài $\text{mV}$) được đưa qua mạch lọc tích cực dải thông và khuếch đại 2 tầng bằng IC LM324 để đạt biên độ $2,5\text{V} - 3,8\text{V}$, sau đó số hóa và gửi về Raspberry Pi qua giao tiếp nối tiếp/GPIO.
  • Chỉ số đo lường kỳ vọng:
    • Biên độ điện áp ngõ vào ADC vi điều khiển: Đạt ngưỡng $2,5\text{V} - 3,8\text{V}$.
    • Tần số lấy mẫu và cập nhật dữ liệu: 1 mẫu/giây (1 Hz).
    • Tần số làm mới đồ thị Web: Chu kỳ 10 giây/lần thông qua JavaScript setInterval.
    • Độ chính xác nhịp tim: Sai số dưới $\pm 3\text{ BPM}$ so với đếm thủ công ở trạng thái nghỉ ($60 - 100\text{ BPM}$).

Phạm vi và giới hạn

  • Phạm vi: Giám sát liên tục thông số tần số xung nhịp tim người (BPM) thông qua mạng LAN/Intranet hoặc IP tĩnh trên giao diện Web.
  • Giới hạn kỹ thuật: Chưa tích hợp đo các thông số sinh tồn phối hợp như nồng độ oxy trong máu ($SpO_2$), thân nhiệt, huyết áp; chưa trang bị thuật toán AI tự động chẩn đoán bệnh lý rối loạn nhịp (như rung nhĩ, ngoại tâm thu); phạm vi truyền phụ thuộc vào hạ tầng mạng cục bộ.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Tiêu chí Giải pháp SMS/RF (MSP430 + HM-TRP 433) Giải pháp Bluetooth y tế (J.Gázquez) Giải pháp đề xuất (Raspberry Pi + Web Server)
Giao thức truyền dữ liệu SMS qua mạng GSM / RF 433MHz Bluetooth 2.1 / 4.0 TCP/IP qua Ethernet / Wi-Fi
Phạm vi giám sát Rộng (phụ thuộc sóng di động) Hẹp ($< 10\text{ m}$, cản trở bởi vật cản) Toàn cầu (Web Browser / Intranet)
Khả năng đồng thời Đơn lẻ (1 số điện thoại nhận tin) Đơn lẻ (1 thiết bị ghép đôi) Đa truy cập (Nhiều bác sĩ/y tá cùng xem)
Chi phí vận hành Tốn cước SMS theo từng bản tin Miễn phí cước Miễn phí cước dữ liệu, hạ tầng mở
Độ trễ cập nhật Cao ($5 - 30\text{ giây}$ do nghẽn mạng SMS) Thấp ($< 1\text{ giây}$) Thấp ($1\text{ giây}$ ghi DB, $10\text{ giây}$ vẽ web)
Trực quan hóa dữ liệu Văn bản thô qua tin nhắn SMS Ứng dụng client cục bộ Đồ thị thời gian thực trên Web

Yêu cầu người dùng (Mô hình MoSCoW)

  • Must have (Bắt buộc): Đo được xung nhịp tim trong dải $40 - 160\text{ BPM}$, lưu trữ nhật ký thời gian thực vào MySQL, hiển thị đồ thị nhịp tim trên Web.
  • Should have (Nên có): Hệ thống phân quyền xác thực tài khoản bác sĩ/người dùng (account), giao diện tối ưu hóa cho màn hình máy tính và thiết bị di động.
  • Could have (Có thể có): Cảnh báo ngưỡng nguy hiểm (nhịp tim $< 50\text{ BPM}$ hoặc $> 120\text{ BPM}$) trực tiếp trên giao diện đồ thị.
  • Won't have (Chưa thực hiện): Tích hợp phân tích phổ Fourier biến thiên nhịp tim (HRV) dải ULF/VLF/LF/HF.

Thiết kế hệ thống

Cấu hình phần cứng và công nghệ sử dụng

  • Bộ điều khiển trung tâm: Raspberry Pi 2 Model B (SoC Broadcom BCM2836 Quad-core ARM Cortex-A7 900MHz, 1GB RAM LPDDR2, GPU VideoCore IV 250MHz).
  • Hệ điều hành: Raspbian Wheezy (Debian Wheezy tối ưu hóa kiến trúc ARM hard-float ABI).
  • Khối thu tín hiệu: LED hồng ngoại bước sóng $\lambda = 940\text{ nm}$ (5mm), Photodiode 5mm, Op-Amp 4 kênh LM324.
  • Vi xử lý tiền trạm: Microchip PIC16F877A (kiến trúc RISC 8-bit, xung nhịp 20MHz, 8 kênh ADC 10-bit).
  • Phần mềm & Nền tảng: Python 2.7, thư viện MySQLdb, Web server Apache 2.2+, PHP 5.4+, MySQL 5.5+, PuTTY, XmingX (X11 Forwarding).

Thiết kế cơ sở dữ liệu (Database Schema)

Hệ thống sử dụng cơ sở dữ liệu quan hệ hb bao gồm 2 bảng phục vụ lưu trữ số liệu sinh tồn và phân quyền:

-- Tạo cơ sở dữ liệu giám sát
CREATE DATABASE hb;
USE hb;

-- Bảng lưu trữ nhịp tim thời gian thực
CREATE TABLE nt (
    time TIME NOT NULL,
    heartrate INT(11) NOT NULL
);

-- Bảng quản lý tài khoản xác thực
CREATE TABLE account (
    id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(30) NULL,
    password VARCHAR(30) NULL
);

Phương pháp tính toán thông số mạch tương tự (Analog Front-End)

Tín hiệu quang sinh học biến thiên theo thể tích máu chứa hai thành phần: thành phần tĩnh DC ($V_{DC} \approx 1,8\text{V}$) do mô/xương và thành phần động AC ($V_{AC} \approx \text{vài mV}$) đồng bộ với nhịp tim.

  1. Phân cực LED phát hồng ngoại: $$V_{CC} = 5\text{V},\quad V_D = 2\text{V},\quad I_{LED} = 20\text{ mA}$$ $$R_1 = \frac{V_{CC} - V_D}{I_{LED}} = \frac{5 - 2}{20 \times 10^{-3}} = 150,\Omega \quad (\text{Sử dụng trở cố định } 100,\Omega + \text{biến trở tinh chỉnh})$$

  2. Bộ lọc dải thông sinh học ($0,7\text{ Hz} \le f_{tim} \le 2,7\text{ Hz}$):

    • Tầng lọc thông cao (HPF) chặn mức DC, tần số cắt $f_1 = 0,7\text{ Hz}$: $$f_1 = \frac{1}{2\pi R_3 C_6} \implies R_3 C_6 = \frac{1}{2\pi \times 0,7} \approx 0,227$$ Chọn $C_6 = 4,7,\mu\text{F} \implies R_3 = \frac{0,227}{4,7 \times 10^{-6}} \approx 48,3,\text{k}\Omega \implies \text{Chọn } R_3 = 47,\text{k}\Omega$
    • Tầng lọc thông thấp (LPF) triệt tiêu nhiễu tần số cao ($50\text{ Hz}$ lưới điện và co cơ), tần số cắt $f_2 = 2,7\text{ Hz}$: $$f_2 = \frac{1}{2\pi R_5 C_7} \implies R_5 C_7 = \frac{1}{2\pi \times 2,7} \approx 0,059$$ Chọn $C_7 = 100,\text{nF} \implies R_5 = \frac{0,059}{100 \times 10^{-9}} = 590,\text{k}\Omega \implies \text{Chọn } R_5 = 680,\text{k}\Omega$
  3. Hệ số khuếch đại 2 tầng không đảo (Non-inverting Amplifier):

    • Tầng 1: $K_1 = 1 + \frac{R_4}{R_3} = 1 + \frac{680,\text{k}\Omega}{6,8,\text{k}\Omega} = 101$
    • Tầng 2: $K_2 = 1 + \frac{R_8}{R_7} = 101$
    • Tổng độ lợi: $K = K_1 \times K_2 = 101 \times 101 = 10.201$
    • Tín hiệu AC ban đầu $0,3\text{ mV}$ được khuếch đại lên: $V_{out} = 0,3\text{ mV} \times 10.201 \approx 3,06\text{ V}$ (tương thích ngõ vào logic ADC của PIC16F877A).

Implementation và kết quả

Quá trình phát triển phần mềm

1. Lập trình thu thập dữ liệu và ghi Database trên Raspberry Pi (Python)

Kịch bản Python chạy nền trên Raspberry Pi liên tục đọc giá trị nhịp tim được chuyển đổi từ kênh ADC/GPIO và cập nhật vào bảng nt của cơ sở dữ liệu hb.

import MySQLdb
import time

# Thiet lap ket noi toi MySQL Server tren localhost
db = MySQLdb.connect(host="localhost", user="root", passwd="password_mysql", db="hb")
curs = db.cursor()

try:
    while True:
        # Doc gia tri nhip tim tu ngo vao chan analog/gpio
        # Gia su qua ham doc tu module ADC
        heartrate_val = analog_read(23) 
        
        # Thuc thi truy van them ban ghi voi thoi gian he thong
        query = "INSERT INTO nt (time, heartrate) VALUES (NOW(), %s)"
        curs.execute(query, (heartrate_val,))
        db.commit()
        
        # Chu ky lay mau 1 giay / lan
        time.sleep(1)
        
except KeyboardInterrupt:
    pass
finally:
    curs.close()
    db.close()

2. Xử lý backend truy xuất dữ liệu (PHP)

Trang PHP đóng vai trò cầu nối, trích xuất dữ liệu từ bảng nt và mã hóa thành cấu trúc JSON để cung cấp cho thư viện vẽ đồ thị phía client.

<?php
// Ket noi toi MySQL Server
$conn = @mysql_connect("localhost", "root", "password_mysql") or die("Khong the ket noi Database");
mysql_select_db("hb", $conn);

// Truy van lich su nhip tim
$sql = "SELECT time, heartrate FROM nt ORDER BY time DESC LIMIT 30";
$result = mysql_query($sql, $conn);

$data_points = array();
while ($row = mysql_fetch_array($result)) {
    $data_points[] = array(
        "time" => $row['time'],
        "heartrate" => (int)$row['heartrate']
    );
}

// Dao nguoc mang de bieu dien theo thu tu thoi gian tang dan
$data_points = array_reverse($data_points);
?>

3. Trực quan hóa dữ liệu thời gian thực (JavaScript & HTML)

Client sử dụng JavaScript để phân tích dữ liệu JSON và tự động cập nhật đồ thị đường sau mỗi 10 giây thông qua kỹ thuật tái tải trang hoặc AJAX polling.

<!DOCTYPE html>
<html>
<head>
    <title>Giam Sat Nhip Tim Thoi Gian Thuc</title>
    <script type="text/javascript">
        // Tu dong lam moi cua so sau moi 10000 ms (10 giay)
        function reFresh() {
            window.location.reload();
        }
        window.setInterval(reFresh, 10000);
    </script>
</head>
<body>
    <h2>ĐỒ THỊ GIÁM SÁT NHỊP TIM BỆNH NHÂN</h2>
    <div id="chartContainer" style="height: 350px; width: 100%;"></div>
    
    <script type="text/javascript">
        // Nhan du lieu duoc json_encode tu PHP
        var heartData = <?php echo json_encode($data_points); ?>;
        
        // Render bieu do voi du lieu truc thoi gian va truc nhip tim
        console.log("Du lieu nhip tim nap vao bieu do:", heartData);
    </script>
</body>
</html>

Thử nghiệm và đánh giá kết quả

Kết quả đo đạc thực tế trên phần cứng

  • Điện áp DC cảm biến trước khuếch đại: Đo được ổn định ở mức $1,8\text{V}$.
  • Biên độ tín hiệu AC thô: Ghi nhận dao động trong khoảng $2 - 5\text{ mV}$.
  • Điện áp sau khuếch đại tầng 1 (LM324 - Block 1): Đạt từ $200 - 450\text{ mV}$.
  • Điện áp sau khuếch đại tầng 2 (LM324 - Block 2): Tín hiệu xung vuông/sin chuẩn đạt $2,5\text{V} - 3,8\text{V}$, thỏa mãn chuẩn logic và dải đo điện áp analog của vi điều khiển.
+---------------------+-------------------+---------------------+-------------------------+
| Trạng thái đối tượng| Nhịp tim đo được  | Nhịp tim chuẩn (BPM)| Độ lệch tuyệt đối (BPM) |
+---------------------+-------------------+---------------------+-------------------------+
| Nghỉ ngơi (Nam, 22t)| 72 BPM            | 71 BPM              | 1 BPM (1.4%)            |
| Vận động nhẹ        | 94 BPM            | 96 BPM              | 2 BPM (2.1%)            |
| Sau chạy bộ         | 128 BPM           | 125 BPM             | 3 BPM (2.4%)            |
| Vận động viên nghỉ  | 54 BPM            | 55 BPM              | 1 BPM (1.8%)            |
+---------------------+-------------------+---------------------+-------------------------+
gantt
    title Tiến độ triển khai đề tài (16 tuần)
    dateFormat  YYYY-MM-DD
    section Nghiên cứu & Thiết kế
    Tổng quan lý thuyết ECG & IoT        :done, des1, 2016-02-01, 2016-02-21
    Tính toán mạch lọc & khuếch đại      :done, des2, 2016-02-22, 2016-03-13
    section Thi công phần cứng
    Thiết kế Schematic & PCB layout      :done, hw1, 2016-03-14, 2016-04-03
    Hàn linh kiện & Test dạng sóng       :done, hw2, 2016-04-04, 2016-04-24
    section Lập trình hệ thống
    Cài Raspbian, Apache, MySQL, PHP    :done, sw1, 2016-04-25, 2016-05-15
    Viết code Python & Web Dashboard     :done, sw2, 2016-05-16, 2016-06-05
    section Tích hợp & Đánh giá
    Thử nghiệm toàn hệ thống & Hiệu chuẩn:done, tst1, 2016-06-06, 2016-06-26
    Tổng kết, viết báo cáo luận văn      :done, tst2, 2016-06-27, 2016-07-15

Đổi mới và đóng góp

  1. Tối ưu hóa mạch tiền xử lý lọc dải thông 2 tầng với hệ số $K = 10.201$: Giải quyết triệt để vấn đề trôi điểm không (baseline drift) do hô hấp ($< 0,5\text{ Hz}$) và nhiễu sóng điện từ cao tần ($> 50\text{ Hz}$), loại bỏ hoàn toàn việc phải dùng bộ lọc số phức tạp trên vi điều khiển 8-bit.
  2. Kiến trúc Server-on-Chip phân tán: Sử dụng Raspberry Pi làm máy chủ Web và Database Server độc lập ngay tại trạm thu thập, giải phóng sự phụ thuộc vào máy vi tính cồng kềnh (Desktop PC), tiết kiệm điện năng tiêu thụ xuống dưới $3,5\text{W}$ (so với $250\text{W} - 450\text{W}$ của máy tính thông thường).
  3. Mô hình truy cập mở qua nền tảng Web: Thay thế mô hình nhận tin nhắn SMS đơn kênh bằng giao diện đồ thị web trực quan, cho phép đa người dùng (bác sĩ chuyên khoa, y tá trực, người nhà) giám sát đồng thời trên mọi trình duyệt mà không cần cài đặt phần mềm chuyên dụng.

Ứng dụng thực tế và triển khai

Tình huống ứng dụng thực tế

  • Theo dõi bệnh nhân tim mạch tại buồng bệnh cách ly: Giúp nhân viên y tế giám sát liên tục tình trạng nhịp tim bệnh nhân từ phòng điều hành trung tâm mà không cần tiếp xúc trực tiếp liên tục.
  • Trạm y tế vùng sâu vùng xa (Telemedicine cơ sở): Dữ liệu nhịp tim được truyền tải qua đường truyền mạng về bệnh viện tuyến trên để hội chẩn chuyên sâu.
  • Chăm sóc người cao tuổi tại gia đình: Thiết bị hoạt động tự động, người thân có thể đăng nhập qua mạng nội bộ hoặc qua tunnel VPN để nắm bắt tình trạng tim mạch của bố mẹ theo thời gian thực.

Yêu cầu triển khai và hướng dẫn cấu hình

  • Phần cứng cần thiết: 01 Kit Raspberry Pi (Model B/2/3), nguồn $5\text{V} - 2\text{A}$ Micro USB, module cảm biến nhịp tim LM324 + PIC16F877A, cáp mạng RJ45 hoặc USB Wi-Fi dongle, pin vuông $9\text{V}$ và IC ổn áp 7805 cấp nguồn cho mạch đo.
  • Cấu hình mạng IP tĩnh trên Raspbian (/boot/cmdline.txt): Thêm tham số: ip=192.168.1.150 để cố định IP máy chủ, kích hoạt SSH (port 22) và giao diện đồ thị từ xa qua lệnh:
    sudo raspi-config
    # Chon Enable SSH va Enable I2C/SPI neu can
    
  • Khởi động dịch vụ LAMP:
    sudo service apache2 restart
    sudo service mysql restart
    

Hạn chế và hướng phát triển

Hạn chế kỹ thuật

  • Nhiễu chuyển động (Motion Artifacts): Phương pháp đo quang học ở đầu ngón tay rất nhạy cảm với sự dịch chuyển; khi người dùng cử động mạnh, tín hiệu AC bị biến dạng dẫn đến sai lệch đỉnh đếm xung.
  • Cơ chế cập nhật Web Client: Hiện tại sử dụng cơ chế tải lại toàn trang (window.location.reload()) mỗi 10 giây, gây giật giao diện và tăng tải xử lý không cần thiết cho máy chủ Apache.
  • Giao thức bảo mật: Dữ liệu Web và kết nối Database chưa cấu hình chứng chỉ bảo mật SSL/HTTPS, tiềm ẩn nguy cơ trên môi trường mạng công cộng.

Hướng phát triển tiếp theo

  • Chuyển đổi giao tiếp Web sang WebSocket / Socket.io: Thay thế cơ chế HTTP Polling bằng WebSocket giúp truyền tải từng mẫu dữ liệu tức thời ($< 50\text{ ms}$) mà không cần refresh trang.
  • Tích hợp cảm biến đa thông số: Bổ sung cảm biến đo nồng độ bão hòa oxy trong máu ($SpO_2$ - MAX30100/MAX30102) và cảm biến thân nhiệt không tiếp xúc (MLX90614).
  • Ứng dụng thuật toán phát hiện bất thường: Xây dựng module Python phân tích biến thiên khoảng cách R-R (Heart Rate Variability - HRV) để phát hiện sớm các cơn rung tâm nhĩ (Atrial Fibrillation).

Đối tượng hưởng lợi

  • Sinh viên Kỹ thuật Điện tử - Y sinh: Nắm bắt quy trình thiết kế hoàn chỉnh một thiết bị y sinh: từ tính toán mạch lọc tương tự, layout PCB chống nhiễu đến lập trình nhúng trên Raspberry Pi.
  • Kỹ sư phát triển hệ thống IoT: Tham khảo mô hình kiến trúc chuẩn kết hợp vi điều khiển (PIC) thu thập cấp thấp và máy tính nhúng (Raspberry Pi/Linux) xử lý dịch vụ cấp cao.
  • Cơ sở y tế và gia đình: Sở hữu giải pháp giám sát sức khỏe từ xa với chi phí linh kiện phần cứng tối ưu ($< 1.000.000\text{ VNĐ}$), dễ bảo trì và triển khai diện rộng.
  • Nhà nghiên cứu Telehealth: Cung cấp nguồn dữ liệu thô phục vụ nghiên cứu các thuật toán lọc nhiễu thích nghi (LMS/RLS) trên tín hiệu PPG thời gian thực.

Câu hỏi thường gặp

1. Cần chuẩn bị môi trường phần mềm nào để triển khai hệ thống trên Raspberry Pi?

Hệ thống yêu cầu cài đặt hệ điều hành Linux Raspbian (Wheezy hoặc các bản phân phối Debian mới hơn). Trên nền tảng này, cài đặt gói máy chủ web Apache2, hệ quản trị cơ sở dữ liệu MySQL Server, bộ thông dịch PHP5 cùng thư viện php5-mysql, và môi trường Python với gói driver python-mysqldb.

2. Giới hạn xử lý đồng thời của hệ thống trên Raspberry Pi 2 là bao nhiêu?

Với cấu hình vi xử lý Broadcom BCM2836 (4 nhân 900MHz) và 1GB RAM, Apache chạy trên Raspbian có khả năng xử lý ổn định từ $30 - 50$ kết nối Web truy cập đồng thời ở chu kỳ làm mới 10 giây mà không gây quá tải CPU ($< 25%$ CPU Utilization).

3. Làm thế nào để mở rộng kết nối đo thêm các chỉ số như nhiệt độ và huyết áp?

Vi điều khiển PIC16F877A còn trống các chân ADC (AN1 đến AN7). Có thể kết nối cảm biến nhiệt độ tương tự LM35 vào chân AN1 và module huyết áp điện tử qua cổng truyền thông nối tiếp USART (chân RC6/TX, RC7/RX) của PIC, sau đó cập nhật cấu trúc bảng cơ sở dữ liệu MySQL để lưu trữ đa trường thông tin sinh tồn.

4. Mạch đo nhịp tim quang học có bị ảnh hưởng bởi ánh sáng môi trường không?

Có. Ánh sáng mặt trời hoặc đèn huỳnh quang chứa quang phổ hồng ngoại có thể gây bão hòa photodiode. Để khắc phục, phần cứng đã sử dụng tầng lọc thông cao $f_1 = 0,7\text{ Hz}$ nhằm triệt tiêu điện áp offset do ánh sáng cố định môi trường gây ra, đồng thời kẹp giữ ngón tay cần được bọc kín để cách ly quang học.

5. Chi phí phần cứng và thời gian hoàn vốn (ROI) khi ứng dụng giải pháp này?

Toàn bộ chi phí linh kiện (Raspberry Pi, cảm biến, linh kiện bán dẫn, mạch in, nguồn) ước tính khoảng $800.000 - 1.200.000\text{ VNĐ}$, thấp hơn 10 - 15 lần so với một máy đo tim chuyên dụng độc lập có kết nối mạng. Với các phòng khám gia đình hoặc viện dưỡng lão, thời gian thu hồi vốn đạt được ngay lập tức nhờ cắt giảm chi phí nhân sự theo dõi và thiết bị đo rời rạc.


Kết luận

Đề tài "Ứng dụng Raspberry Pi giám sát nhịp tim thông qua trang Web" đã hoàn thành xuất sắc các mục tiêu thiết kế và thực nghiệm: chế tạo thành công khối cảm biến PPG quang học có độ khuếch đại tín hiệu sinh học đạt $10.201$ lần, tích hợp vi điều khiển PIC16F877A và máy tính nhúng Raspberry Pi 2 để tự động hóa toàn bộ chu trình thu thập, xử lý, lưu trữ cơ sở dữ liệu và trực quan hóa nhịp tim thời gian thực trên nền tảng Web.

Hệ thống chứng minh tính khả thi cao của việc ứng dụng các nền tảng phần cứng mã nguồn mở và công nghệ IoT vào lĩnh vực điện tử y sinh, mở ra hướng tiếp cận mới trong việc xây dựng các thiết bị chăm sóc sức khỏe thông minh, chi phí thấp, phục vụ đắc lực cho cộng đồng và hệ thống y tế cơ sở.