2021年6月29日 星期二

[Arduino] MAX30102 血氧心律脈搏傳感器(二)

本文在說明如何使用 MAX30102 血氧心律脈搏傳感器量測心跳和血氧,如果您尚未了解這塊模組的基本使用方法,請詳「MAX30102 血氧心律脈搏傳感器(一)」。



電路接線

Arduino      Max30102
   5V                VIN
   A5                SCL
   A4                SDA
   (不接)          INT
   (不接)          IRD
   (不接)          RD
   GND            GND
註:下圖有誤, SCL、SDA之接線應該對調才是正確。



測量每分鐘心跳數(PRbpm)

Step1 點擊下拉功能表 [檔案] > [範例] > [SparkFun MAX3010x Pluse...] ,開啟「Example5_HeartRate」。



Step2 上傳程式到 Arduino,並打開「序列埠監控視窗」,將鮑率調到 115200,您就可以看到有數據傳到視窗裡。

下圖是手指尚未按住模組時的數據。


下圖是手指按住模組時的數據。


建議您手指按住模組的時間久一些,每分鐘心跳數才會比較正確。


測量血氧(%SpO2)

Step1 點擊下拉功能表 [檔案] > [範例] > [SparkFun MAX3010x Pluse...] ,開啟「Example8_SPO2」。

Step2 上傳程式到 Arduino,並打開「序列埠監控視窗」,將鮑率調到 115200,您會看到視窗裡有一行訊息,此時請您用食指按住模組,然後在視窗上面的欄位內輸入任意一個字,並點擊 [傳送] 鈕。

接著您會看到有數據傳到視窗裡。



過了數秒後,接著才出現血氧測定的數據,如下圖


建議您手指按住模組的時間久一些,血氧數據才會比較正確。


後記

1. 量測心跳和血氧需要一段時間,所以手指要確實按住模組時間久一些,並且在實務上會有音效和螢幕提醒使用者何時開始量測,何時結束。

2. 因 MAX30102 模組本身精度和外在環境條件等因素,此實驗之心跳和血氧等數據只能僅供參考,如欲求得更精確數據,則有待更多實驗數據後進行校正。

3. CDC 提供關於 COVID-19 病人血氧監測注意事項,其中提到血氧濃度大等於 95% 才屬正常,若低於此數值,應立即通報當地衛生單位。      


參考資料

Youtube https://youtu.be/_0rAVkETtoQ

Youtube https://youtu.be/rACZQrHHxuU

Youtube https://youtu.be/8SOTsR1k8-g

使用 ESP8266 https://how2electronics.com/max30100-pulse-oximeter-with-esp8266/

使用 ESP32 http://www.esp32learning.com/code/max30102-pulse-oximetry-and-heart-rate-monitor-sensor-and-esp32.php

解決 MAX30100 模組問題 https://youtu.be/ZqdmA4NAqb0


採購資訊

露天(S&R) https://www.ruten.com.tw/item/show?22125280142290

露天(RWG) https://www.ruten.com.tw/item/show?22125280090933

蝦皮 https://shopee.tw/-RWG-MAX30102-%E8%A1%80%E6%B0%A7-%E5%BF%83%E7%8E%87%E8%84%88%E6%90%8F-%E5%82%B3%E6%84%9F%E5%99%A8-%E6%A8%A1%E5%A1%8A-i.14363185.7792558591


2 則留言:

  1. 哈摟,請問一下Example5_HeartRate我在跑此範例如上圖是成功的,但是跑Example8_SPO2範例時卻跑出先是亂碼
    {dl⸮⸮|⸮l⸮| ⸮ l⸮ c|⸮⸮ ⸮ ⸮s⸮c⸮ c⸮⸮gg⸮loo⸮⸮⸮ b p⸮⸮l{d{dp⸮o⸮
    後續跑出 下列
    ets Jan 8 2013,rst cause:4, boot mode:(3,6)

    wdt reset
    load 0x4010f000, len 3460, room 16
    tail 4
    chksum 0xcc
    load 0x3fff20b8, len 40, room 4
    tail 4
    chksum 0xc9
    csum 0xc9
    v00043e00
    ~ld
    我有將鮑率調到 115200結果還是一樣
    我的開發板為WEMOS D1 R2 V2.1感測器為MAX30102(黑板)

    回覆刪除
    回覆
    1. 我也是遇到這問題,請問後來你有解嗎

      刪除