前回まで心拍データにランダム値を使っていましたが、それではつまらないので、mbed HRM1017 に HeartRateSensor を接続してみました。





センサーの値がAnalogIn端子から読み取れるか試してみます。ピン配は下記のようにしてみました。





HeartRateSensor の値を読みだすプログラムを作ってみました。非常にシンプルなので分かりやすい!


#include "mbed.h"

AnalogIn ain(p6);
Timer timer;

void getHeartRateValue(void)
{
uint16_t signal = ain.read_u16();
int cur_time = timer.read_ms();
printf("%d\t%d\r\n", cur_time, signal);
}

int main()
{
timer.start();

Ticker hrm_ticker;
hrm_ticker.attach(getHeartRateValue, 0.02); // 20msec

while(true);
}



読み取った値をグラフにしてみました。





心拍はとれているようですが、値がサチってしまっています。抵抗を間に入れたほうがよさそうです。10kΩを間に入れてみました。





10kΩを挟んでみたデータをグラフにしてみました。ピークが少し小さいですが、なかなか良い値がとれているようです。





センサーからデータが取れるようになったので、心拍計算用のアルゴリズムを導入してBLE心拍センサーに仕上げてみたいと思います!
(^_^)/~






心拍センサ

  • 出版社/メーカー: スイッチサイエンス
  • メディア: エレクトロニクス



mbed HRM1017

  • 出版社/メーカー: スイッチサイエンス
  • メディア: Personal Computers



mbed電子工作レシピ

  • 作者: 勝 純一
  • 出版社/メーカー: 翔泳社
  • 発売日: 2016/01/23
  • メディア: 大型本