M5StickCで血中酸素濃度(SpO2)を測る ~ M5Stack用心拍センサユニットを使う

2021年3月25日

COVID19新型コロナがなかなか収まりませんが、これからワクチンの接種が進んで行きます。私は2021年後半になると思いますが、ワクチンを打った後に具合が悪くなるかもしれません。

そのため、血中酸素濃度(SpO2)の測定ができるようにと、M5Stack用の心拍センサユニットを購入しました。パルスオキシメーター品薄一般の人は購入を控えるようにと言われているので、工作で対応します。

今回は自分でプログラムをせずに、先人様の実績をそのまま利用します。いろいろな例を見ましたが、以下のサイト様のプログラムを採用しました。ありがとうございます。

書かれていることを忠実に行えば問題ないと思います。しかし、私が少し悩んだのは、MAX30100libの導入でした。 MAX30100libは、Arduino IDEにインストールする必要があります。

そのライブラリですが、MAX30100libのライブラリはいくつかあり、どれを使うのか迷いました。結局、以下のライブラリを使うのが正解のようです。

これでビルドが通ると思います。

動作させてみると、血中酸素濃度は良い感じの数値が出ています。しかし、心拍数が若干安定しません。これは数秒ごと?に値を表示しているのですが、1分で計測するように変更しようかと考えています。

(※しばらく使っていますが、スマートウォッチと心拍数が同じで続いたときの血中酸素濃度は信頼できそうです)

また、登山などでも使いたいです。そのための改造を行う予定です(公開はしないつもり)

みなさんも、 日ごろから血中濃度酸素を計測してはいかがでしょうか。

心拍センサは、 いつもお世話になっているスイッチサイエンスさんから購入しました。

※M5Stack用のセンサがどれだけ信用できるのかは未知数です。あくまでも個人的な使用に留め、心配な時は病院で測定するようにしましょう。