Tag - 穿戴式裝置,智慧醫療

心跳脈搏脈衝感測器套件 Arduino Pulse sensor

心跳感測模組實驗:Arduino 入門醫療科技應用

午休結束的生物課,老師讓同學把食指放在小小的感測頭上,幾秒後螢幕出現一條起伏的曲線。那不是擺設,而是每個人當下的心跳訊號。从智慧手环到临床监护,心率监测早已走入日常;而对学习者来说,只要一块 Arduino Uno 和一颗心跳感测模组,就能把「生命征象」化成能分析与应用的资料。

這篇文章會帶你做到什麼?

  • 了解兩類常用心跳感測器:類比式 Pulse Sensor、I²C 介面的 MAX30100
  • 完成 Arduino 讀值與即時監看,並給出可用的程式碼
  • 知道何時該選進階的 MAX30101/MAX32664 模組,以及常見問題與校正重點

感測原理,用白話說清楚:

多數心跳模組採用 PPG(光體積描記法)。發光元件照到手指(或耳垂),血液因心臟收縮與舒張而改變吸光量,回到感光元件的光強度就會呈現週期性的起伏,轉成電訊號後,便可計算心率(BPM)。

選哪一顆?依專案分級:

  • 入門與課堂展示:Pulse Sensor(類比輸出,接 A0 就能看波形)
  • 入門+想要心率/血氧數值:GY-MAX30100(I²C,搭配程式庫可算 HR/SpO₂)
  • 進階研究或更穩定算法:MAX30101 / MAX32664(Qwiic/SparkFun 板,演算法更完整)

提示:本文程式碼示範 Pulse SensorMAX30100;MAX30101/MAX32664 建議依供應商程式庫範例實作。

硬體接線:

Pulse Sensor(類比)

  • VCC → 5V 或 3.3V(依模組標示)
  • GND → GND
  • SIGNAL → A0(Arduino 類比輸入)

GY-MAX30100(I²C)

  • VIN → 3.3V(多數板可 3.3V;若標示可 5V 再接 5V)
  • GND → GND
  • SDA → A4(UNO)/ 21(ESP32)
  • SCL → A5(UNO)/ 22(ESP32)

程式碼範例:先看得到,再談計算

1)Pulse Sensor:先把波形讀出來(Arduino UNO)


// 讀取 Pulse Sensor 類比波形並輸出到序列監視器
const int SENSOR_PIN = A0;
void setup() {
 Serial.begin(9600);
}
void loop() {
 int v = analogRead(SENSOR_PIN);
 Serial.println(v);   // 在序列監視器用「繪圖」查看波形
 delay(10);           // 取樣間隔約 100 Hz
}
 

想要直接得到 BPM,建議安裝 PulseSensor 官方 PulseSensor Playground 程式庫,內含去雜訊與峰值偵測邏輯,比自行手刻更穩定。

2)GY-MAX30100:以程式庫計算 HR/SpO₂

安裝 MAX30100 專用程式庫(常見名稱:MAX30100_PulseOximeter)。以下為常用的穩定範例,能每秒輸出心率與血氧:


#include <Wire.h>
#include "MAX30100_PulseOximeter.h"
#define REPORTING_PERIOD_MS 1000
PulseOximeter pox;
uint32_t tsLastReport = 0;
void onBeatDetected() {
 Serial.println("Beat!");
}
void setup() {
 Serial.begin(115200);
 Wire.begin();
 if (!pox.begin()) {
   Serial.println("MAX30100 init FAILED");
   while (1); // 停在這裡方便排錯(接線/電源)
 }
 // 視板子/手指狀況可調整 LED 電流,過大會飽和、過小雜訊高
 pox.setIRLedCurrent(MAX30100_LED_CURR_7_6MA);
 pox.setOnBeatDetectedCallback(onBeatDetected);
}
void loop() {
 pox.update(); // 必須持續呼叫以更新內部濾波與偵測
 if (millis() - tsLastReport > REPORTING_PERIOD_MS) {
   Serial.print("HR: ");
   Serial.print(pox.getHeartRate(), 0);
   Serial.print(" bpm    SpO2: ");
   Serial.print(pox.getSpO2(), 0);
   Serial.println(" %");
   tsLastReport = millis();
 }
}
 

若數值不穩定,檢查電源是否雜訊大(改用 3.3V、加電源去耦),並嘗試不同 LED 電流或更穩定的手指姿勢。

實驗步驟與觀察

  • 先用 Pulse Sensor 看波形有無規律起伏;若雜訊高,放穩手指、避開強光。
  • 改用 MAX30100 程式庫,觀察每秒輸出的 HR/SpO₂ 是否在合理範圍。
  • 做一次「前後對照」:安靜坐著 2 分鐘量測,再做 20 次深蹲後量測,觀察 HR 的變化。

常見問題與校正建議

  • 波形亂跳:降低環境光、穩定手部、加上移動平均或低通濾波。
  • BPM 偏低/偏高:Pulse Sensor 請用官方程式庫;MAX30100 調整 LED 電流、確認 I²C 連線與取樣率。
  • 不同人體差異:血流弱、手指溫度低都會影響反射光;可改量耳垂或換手指。

何時改用 MAX30101 / MAX32664?

若你的專題需要更穩定演算法、更多參數(如 HRV)或長期連續記錄,推薦改用 MAX30101/MAX32664 的模組。它們的優勢在於光學路徑與演算法設計更成熟,適合研究或長照情境。不過請記得:這些仍屬開發與教學用途,非醫療認證設備。

把專題做漂亮:三個實作方向

  • 即時可視化:用 Arduino 串 OLED/LCD 顯示 HR 與波形
  • IoT 上雲:ESP32 透過 Wi-Fi 把心率資料送到雲端平台(MQTT/ThingSpeak)
  • 安全提示:心率超出門檻時,蜂鳴器/LED 提醒,並推播到手機

把手指放上感測頭,看著波形與數字同步跳動,是學習醫療科技的最佳起點。Pulse Sensor 讓你立刻看到訊號,MAX30100 協助你取得 HR/SpO₂,而 MAX30101/MAX32664 則支援更進階的研究需求。從這個小專案開始,你就能把「生理訊號」連上 Arduino、資料與應用,做出真正有價值的健康科技作品。

特別提醒:

1. MAX30100 與 MAX30102/01 差異

• MAX30100 已算舊款,部分使用者反應血氧數值不太穩。
• 對「血氧精準度」要求高的讀者,建議用 MAX30101 或 MAX30102。

2. Pulse Sensor 精度

• Pulse Sensor 本身容易受到雜訊干擾,用官方 Library,比較穩定。
• 在科展/專題時,建議加 RC 濾波器或用 Arduino 的 Moving Average。

延伸閱讀:為您的專案挑選最佳「心」:

長照應用:利用人體紅外線感測器偵測跌倒與活動狀態

台灣逐漸進入高齡化社會,如何確保長者的日常安全,成為長照機構與居家看護的重要課題。其中「跌倒」是最常見且危險的意外之一,若能即時偵測並發出警示,就能大幅降低後續醫療與看護的風險。本文將介紹如何利用人體紅外線感測器,實現跌倒與活動狀態的監測,並探討其在長照領域的應用價值。

什麼是人體紅外線感測器?

人體紅外線感測器(PIR Sensor, Passive Infrared Sensor)能偵測人體移動時釋放的紅外線變化。當人體進入感測範圍,感測器會輸出訊號,常用於自動燈光控制、防盜系統與智慧家居。若搭配長照應用,則能進一步用來監測長者的活動狀態。

長照情境中的應用

跌倒偵測

如果感測器在長時間內偵測不到動作,卻同時偵測到「突然的強烈信號變化」(例如快速跌倒動作),系統即可判定疑似跌倒,並立即發送通知給看護人員。

活動狀態監控

感測器能持續偵測長者是否在房間內移動。如果長時間完全沒有活動,系統可自動發送提醒,幫助照護人員確認長者是否需要協助。

夜間安全

感測器能在夜間自動開啟微光照明,協助長者安全起身,降低半夜跌倒風險。

所需硬體與材料

接線示例

  • PIR 感測器訊號腳 → Arduino D2
  • VCC → 5V
  • GND → GND
  • 蜂鳴器 / LED → Arduino D7

範例程式碼


// PIR 感測器跌倒/活動狀態偵測範例
const int PIR_PIN = 2;
const int ALERT_PIN = 7;
void setup() {
 pinMode(PIR_PIN, INPUT);
 pinMode(ALERT_PIN, OUTPUT);
 Serial.begin(9600);
}
void loop() {
 int pirState = digitalRead(PIR_PIN);
 if (pirState == HIGH) {
   Serial.println("偵測到活動");
   digitalWrite(ALERT_PIN, HIGH); // 亮燈或蜂鳴
 } else {
   Serial.println("無活動");
   digitalWrite(ALERT_PIN, LOW);
 }
 delay(1000);
}

未來延伸應用

  • 結合 AI 影像辨識,提升跌倒判斷準確度。
  • 透過 LoRa 或 NB-IoT 模組,將長者活動數據傳送至後端平台,提供醫護人員遠端監測。
  • 智慧家居系統整合,自動開燈、通報家屬或醫護中心。

人體紅外線感測器不僅價格低廉、安裝容易,更能有效協助長照領域實現「即時偵測、快速反應」的安全需求。對於想要建立智慧照護系統的教育單位或開發者來說,這是一個入門簡單、應用價值高的解決方案。

相關產品

硬體基石與服務整合:臺灣 ICT 產業搶佔物聯網新成長曲線的關鍵戰略

全球物聯網(IoT)浪潮洶湧而至,國際顧問機構麥肯錫預估,2025 年全球物聯網商機將高達 6.2 兆美元。在這場全球性的科技變革中,台灣絕不會置身事外。然而,光靠我們引以為傲的資通訊(ICT)硬體供應鏈優勢還遠遠不夠。正如專家所指出的,台灣要搶先一步,必須將硬體優勢與「軟體服務」深度整合,才能真正將數位化變成實際的互聯應用。

物聯網的本質是一個「服務系統」它不再只是感測器和智慧裝置的堆疊,更是一套從數據採集、傳輸、分析到最終服務回饋的完整智能閉環。我們必須意識到,強大、可靠的硬體是這一切「服務」能夠穩定運行的基石。


物聯網的戰場變遷:新創如何實現「小蝦米擊敗大鯨魚」?

當國際大廠如蘋果Google 爭相佈局時,真正引領風潮的往往是那些貼近用戶的創新者。從智慧家庭的 Nest 到穿戴式裝置的 FitBit,這些新創公司憑藉著創新服務和用戶體驗,率先搶佔了市場先機。

這給了台灣極大的啟示:全球物聯網市場尚未出現主導者。這場仗拼的不是資源的多寡,而是誰能提供最貼近用戶需求的創新應用服務。台灣 ICT 產業長期以來被詬病缺乏規格制定能力,而物聯網的「服務系統」特性,正是我們跳脫代工宿命、贏得高價值化新商業模式的黃金機會。


我們的致勝雙核心:健康照護與工業 4.0

台灣要在 6.2 兆美元的物聯網大餅中切下最大份額,應將目光聚焦於兩大最具商機的領域:

1. 智慧健康照護(Smart Healthcare)

台灣正加速邁入超高齡社會,這既是挑戰,也是物聯網應用的絕佳練兵場。

  • 內需驅動: 台灣擁有球華人地區最先進的健康醫療體系和專業知識(Domain Knowledge)。老齡化導致的健康支出急速攀升,驅使我們必須從「以醫院為中心的被動治療」轉向「以人為中心的主動整合健康照顧」。
  • 整合優勢: 我們的優勢在於能快速整合穿戴裝置智慧型手機、雲端運算及 Apps 服務,打造出客製化的無縫整合式服務。這需要極為穩定、精準的感測與傳輸硬體作為支撐。
  • 市場潛力: 我們可以利用台灣在醫療領域的卓越口碑,將這套成熟的「整案解決方案」向全球華人市場,乃至世界輸出。

2. 工業 4.0/智慧製造(Smart Manufacturing)

台灣在全球工具機、PCB 與 3C 製造領域具有領先地位。工業 4.0 的核心,就是利用物聯網技術將工廠智慧化。

  • 價值提升: 通過內嵌感測器與智慧裝置,結合創新服務模式,台灣製造業得以從低附加價值的「產品代工」角色,躍升為**「服務化產品提供者」這不僅能提高生產效率、補足勞動力缺口,更能增加系統整合、工藝規劃與維修等高階服務收入。而這一切高效的數據擷取和設備互聯,都仰賴於可靠、高規格的物聯網硬體基礎設施**。

台灣物聯科技:成為服務創新者的核心硬體基石

面對這場變革,我們台灣物聯科技的定位明確:我們是物聯網「服務系統」中最關鍵、最可靠的硬體供應商與整合專家。

  1. 專注硬體專業: 我們的核心競爭力在於專業選品、穩定供應與嚴格的品質控制。我們作為可靠的硬體供應商,提供符合國際標準的物聯網硬體平台、智慧感測器、聯網模組及邊緣運算設備。我們相信,透過確保供應鏈的效率與卓越品質,我們提供的硬體,正是所有服務創新得以快速落地與規模化部署的可靠基石。
  2. 生態系協作: 軟體與服務的創新由我們的合作夥伴——那些擁有垂直產業知識(Domain Knowledge)的系統整合商(SI)與軟體供應商來完成。我們的角色是確保硬體完美適配於這些供應商既有的軟體解決方案,並提供最高的穩定性與相容性,幫助他們加速落地應用。
  3. 賦能台灣轉型: 我們憑藉堅實的硬體供應基礎,賦予台灣的軟體服務業者和系統整合商強大的後盾。透過提供高品質的硬體基石,我們有信心助力台灣產業成功打造出創新且貼近用戶需求的物聯網服務系統,在新一輪的全球競爭中,佔據服務領航者的地位,開創台灣 ICT 產業的新成長曲線。