血中酸素濃度を把握する必要がある場合、パルスオキシメーターを使用すれば、非侵襲的に簡単に測定できます。数か月前はこれらのデバイスを見つけるのが困難だったため、パルスオキシメーターの仕組み(およびDIYオプションがあるかどうか)に新たな注目が集まりました。実は、Arduinoボードと適切なセンサー設定を使用して、独自のパルスオキシメーター ディスプレイを作成できます。
実験: Arduinoを使ったDIYパルスオキシメーター
簡単なデモンストレーションとして、 このパルスオキシメーターと心拍数センサーボード を使用して Arduino Unoとインターフェースします。MAX30101パルスオキシメーターおよび心拍数モニター モジュールと、I2C経由で生データまたは計算データを別のデバイスに供給できるMAX32664生体認証センサー ハブを備えています。Uno はこのデータを受信し、シリアル経由で値をコンピューターに渡します。
ハードウェア的には、接続は、I2Cピン (SCL > A5、SDA > A4) を適切に接続し、3.3V電源とグランド、および2つの「追加」ピン (RST > D4、MFIO > D5) を接続するだけです。Arduino IDEを開き、[ツール] > [ライブラリの管理] の下にある SparkFun Bio Sensor Hub Library を検索してインストールし、… ここにあるこのデモ コード をArduinoに送信して、115200ボーでシリアル モニターを開きます。


安静時の心拍数(左)、息止め(右)
パルスオキシメーターの読み方
すべてが正しく接続されていれば、酸素、心拍数、および読み取り値の信頼性をパーセンテージで示す数値がスクロール表示される画面が表示されます。酸素レベルは、末梢酸素飽和度 (または %SpO2) の単位で表され、血液がこの重要なガスを体にどれだけうまく供給しているかを示すために使用されることに注意してください。心拍数は1分あたりの拍数で測定されます。出所不明のパルスオキシメーターを使用した非常に限定的なテストでは、統計はほぼ同じ範囲内にあるようでした。
興味深いことに、息を止めることで %SpO2の測定値に多少影響を与えることができましたが、酸素レベルが約95% に低下したため、信頼性は40% 台に低下しました。しかし、この時点で私の心拍数は44 BPMを示しており、通常の安静時の心拍数は60 ~ 100 BPMの間であるはずです。おそらく何かが間違っていたのでしょうが、この数値は両方のデバイスに基づいて一貫しています。このような低い数値は、心臓血管の健康状態が非常に良好であることを示している可能性がありますが、逆説的に、問題があることを示している可能性もあります。 あまり心配はしていませんが、次回の検診を欠席するつもりもありません。
パルスオキシメーターの使用法と大きな注意点
健康診断に関して言えば、このデバイスの大きな注意点は、病状の診断や治療を目的としていないため、その説明を鵜呑みにしない方が良いということです。一方、オンラインで販売されているパルスオキシメーターの多くには、同様の「承認されていません」という警告が付いています。少なくともDIYデバイスでは、実際のどのセンサーが結果を生み出しているかがわかります。
このデータを使用すると、理論的には、測定値が指定された範囲外の場合にライトを点滅させるなど、特定のアクションを実行できるデバイスを接続できます。あるいは、長時間デスクに座りすぎている場合は、運動をするように促すこともできます。医学的ではない好奇心を満たすために、 ESP8266モジュール を使用して、そのような測定値をクラウドにアップロードすることも可能です。
その他のパルスオキシメータのオプションとして、ArrowはMikroElectronika MIKROE-2510 および MICROE-2036 ボード、および Seeed MAXREFDES117 もリストしています。