Grove:心拍センサ連携

Grove:心拍センサ

Groveの心拍センサを接続し、Tibbo-Piのデジタル入力機能を使って、センサにより心拍情報および心拍数を取得します。

(Groveデバイスの詳細は上記リンクから参照願います。)

Tibbitの配置

Tibbit #00-3 と Groveデバイスを接続したTPbit #02を挿入します。

ノードの配置

鼓動検知時動作

鼓動が検知されたときと検知が解除されたときのみデータを取得します(イベント動作)。

以下のようにフローを配置します。

Tibbit#00ノードの設定を開き、以下のようにスロットとIN_Edgeを選択します。

Node-REDデプロイ後、センサのクリップを耳たぶに挟むと、鼓動発生時(心臓収縮時)、変数「v」として「1」が、心臓拡張時「0」が取得できます。

サンプルフロー

心拍数演算

心拍数(1分あたりの鼓動数=bpm)を演算します。

switchノードとfunctionノードを使用します。

 

以下のように、上記の「鼓動検知時動作」のフローの間にノードを追加配置します。

switchノードのプロパティを開き、鼓動発生時のみ以降の動作を行うよう、以下のように設定します。

次に「鼓動間隔msec」のfunctionノードに、鼓動間隔を演算するように、以下のようにJavaScriptでコードを書き込みます。

さらに「心拍数bpm」のfunctionノードに、最新3つの鼓動間隔msecの値から1分間の鼓動数を演算するよう、以下のようにJavaScriptでコードを書き込みます。

Node-REDデプロイ後、3つの鼓動間隔msec情報取得するまでは「wait…」と表示され、それ以降は心拍数(1分あたりの鼓動数=bpm)が表示されます。

サンプルフロー