MAX30100の制御

English page

脈拍およびSpO2(血中酸素飽和度)のセンサーであるMAX30100を制御することができます。
MAX30100関係のブロックは、「センサー」→「人体」→「MAX30100」のグループにあります。
ただし、MAX30100はArduinoファームウェアのみ対応です。
また、Arduino UNO Qでは動作しません。

配線

MAX30100モジュールとマイコンの間は、I2Cで接続します。
I2C接続に使うピン番号は、マイコンによって異なります。
詳しくは、「I2C接続」のページを参照してください。

例えば、無印のESP32の場合、SDAを21番ピン、SCLを22番ピンに接続します。

MAX30100の接続

初期化

無印ESP32など、I2Cのピン番号が固定のマイコンの場合は、「MAX30100の初期化」のブロックを使います。

MAX30100の初期化

また、ESP32-S3など、I2Cのピン番号が可変のマイコンの場合は、初期化の際にピン番号を指定するブロックを使います。

I2Cのピン番号を指定してMAX30100を初期化

脈拍とSpO2の取得

初期化した後は、脈拍とSpO2を取得するブロックを使うことができます。
これらのブロックで得た値を、変数に代入したり、画面に出力したりすることができます。

脈拍の取得

SpO2の取得

脈拍の検出

「MAX30100で脈拍を検出したとき」のブロックを使うと、脈拍を検出したときに、何らかの処理をすることができます。
このブロックの中に、脈拍を検出したときの処理を入れます。

脈拍の検出

ただし、このブロックの中に、MAX30100の接続先のマイコンを操作するブロックや、そのマイコンに接続した他のモジュールを操作するブロックを入れると、それらのブロックの処理がすぐに行われない場合があります。

事例

以下の事例は、1秒ごとにMAX30100から脈拍とSpO2を読み取って、Webブラウザのコンソールに出力する例です。
また、脈拍を検出した時にも、そのことをWebブラウザのコンソールに出力します。
このプログラムは、こちらからダウンロードすることができます。

MAX30100を制御する事例