PC 端上位機
📋 功能介紹
這是一個圖形化的心率血氧監測上位機程式,支援以下功能:
- ✅ 串口選擇 - 自動掃描可用串口
- ✅ 波特率選擇 - 支援 9600/19200/38400/57600/115200
- ✅ 連接/斷開 - 一鍵連接/斷開模組
- ✅ 啟動/關閉採集 - 控制傳感器 LED 亮滅
- ✅ 開始/停止監測 - 實時顯示數據
- ✅ 實時數據顯示 - 血氧、心率、溫度
🔌 硬體連接
| 心率血氧模組 | USB 轉 TTL 模組 |
|---|---|
| VCC | 5V(重要!不要接 3.3V) |
| GND | GND |
| TX | RX(交叉連接) |
| RX | TX(交叉連接) |

⚠️ 注意:模組撥片撥動到 UART,TX 和 RX 必須交叉連接!
🚀 執行程式
方法一:直接執行 Python 腳本
- 安裝依賴庫:
bash
pip install pyserial- 執行程式:
bash
cd D:\JUXI_HeartRate_SPO2\python\windowsbash
python HeartRateOximeter.py📖 使用步驟
第一步:連接硬體
- 按照上面的接線表連接傳感器和 USB 轉 TTL
text
VCC->VCC
GND->GND
RX->TX
TX->RX- 將 USB 轉 TTL 插入電腦 USB 埠
第二步:開啟程式
執行 HeartRateOximeter.exe
第三步:串口設定
- 選擇正確的串口號(如 COM3)
- 波特率選擇 9600(預設)
- 點擊【連接】按鈕
第四步:啟動採集
- 連接成功後,點擊【啟動採集】
- ✅ 傳感器 LED 燈會亮起
第五步:開始監測
- 將手指放在傳感器上
- 點擊【開始監測】
- 查看實時數據
📊 介面說明
text
┌─────────────────────────────────────────┐
│ 串口设置 │
│ 串口: [COM3 ↓] [刷新] │
│ 波特率:[9600 ↓] [连接] │
├─────────────────────────────────────────┤
│ 模块控制 │
│ [启动采集] [开始监测] │
├─────────────────────────────────────────┤
│ 实时数据 │
│ 血氧 (SPO2): 98 % │
│ 心率 (Heart Rate): 75 Times/min │
│ 温度 (Temperature): 36.6 °C │
│ 状态: 正在监测... │
├─────────────────────────────────────────┤
│ 使用提示 │
│ 1. 接线:VCC->5V, GND->GND, RX->TX, TX->RX │
│ 2. 点击连接后再启动采集 │
│ 3. 启动采集后传感器LED会亮起 │
└─────────────────────────────────────────┘📋 數據解讀
| 數據 | 正常範圍 | 說明 |
|---|---|---|
| 血氧 (SPO2) | 95% - 100% | 低於 90% 建議就醫 |
| 心率 | 60 - 100 Times/min | 成人正常範圍 |
| 溫度 | 25 - 35 °C | 模組板載溫度,非體溫 |
注意:剛啟動或手指未放好時,數據可能顯示為 -1,屬於正常現象。
❓ 常見問題
Q1: 找不到串口怎麼辦?
A:
- 檢查 USB 轉 TTL 驅動是否安裝正確
- 重新插拔 USB 線
- 點擊【刷新】按鈕重新掃描
Q2: 連接失敗怎麼辦?
A:
- 確認串口選擇正確
- 確認串口沒有被其他程式佔用(如串口助手、Arduino IDE)
- 檢查 USB 轉 TTL 是否正常工作
Q3: 點擊啟動採集後 LED 不亮?
A:
- 檢查 VCC 是否接的是 5V(不是 3.3V)
- 檢查 TX/RX 是否交叉連接
- 確認傳感器模組本身沒有損壞
Q4: 數據一直顯示 -1?
A:
- 確認已經點擊【啟動採集】
- 將手指正確放在傳感器上,完全覆蓋 LED 區域
- 保持手指穩定,等待幾秒鐘
- 檢查接線是否鬆動
Q5: 程式無回應?
A:
- 先點擊【停止監測】
- 再點擊【關閉採集】
- 最後點擊【斷開】
- 重新啟動程式
⚠️ 注意事項
- 接線順序:先接傳感器,再插 USB
- 斷開順序:先停止監測,再關閉採集,最後斷開連接
- 電源要求:傳感器必須接 5V 電源,3.3V 可能無法正常工作
- 手指放置:測量時手指要完全覆蓋光學區域,不要用力按壓
- 環境要求:避免強光直射傳感器
📞 技術支援
如有問題,請檢查:
- 硬體接線是否正確(特別是 TX/RX 交叉)
- 電源是否為 5V
- USB 轉 TTL 驅動是否正常
- 串口是否被其他程式佔用

