スマートウォッチには心拍数や血中酸素濃度などを計測するヘルスケア機能が搭載されていますが、これらの生体情報は「光」を使って測定されています。
心臓から全身へ血液が送られるとき、血液量に伴って血管も太くなって送られます。手首に指をあてたときに脈の変化が分かるのはこの容積変化のおかげです。血液中のヘモグロビンには赤以外の色の光を吸収する特性があるため、光を当てた時に血液量が多いところでは反射してくる光が弱くなります。このとき、光の変動周期を測定することで心拍数を知ることができ、光の変化量を測定することで血中酸素飽和度を知ることができます。
ここでは光を使って心拍数を測定する実験について紹介します。
まず光を脈に当て、その反射光をPD(フォトダイオード)で検出するための装置を作ります。ガムテープを2枚張り合わせてPD, LEDをテープで貼り付けます。
この例は小型のLEDを選び、表面実装で端子を作りましたが、一般の端子付きの大型LEDでも大丈夫です。続いて回路図を基にマイコンとLEDとPDをつなぎます。
マイコン(Arduino)に以下のプログラムを書き込みます。
これは、LEDを点灯し、PDからデータを受信するプログラム。
int photo34;//電圧0~4096
int LEDgreen = 26;//電圧0~4096
void setup() {
Serial.begin(9600);
delay(20*1000);//30秒後スタート
pinMode(LEDgreen,OUTPUT);
digitalWrite(LEDgreen,HIGH); // LED発光
for(int i=0;i<1024;i++){
photo34=analogRead(34); //PDのデータを読み込む
Serial.println(photo34);
delay(20);
}
}
void loop() {
}
上図のように、ガムテープを腕に巻き、マイコンをPCにつなぎ、ExcelのData Streamerを起動し、データを取り込みます。Excelを利用し、以下のような脈に関する波形のグラフが得られます。
さらに、Excelの機能である高速フーリエ変換(FFT)を適用すると、簡単に脈を数えることもできる。
このグラフでは、1.3Hzにピークがあるため、60×1.3 = 78回/分の心拍数であることが分かる。
掲載大学 学部 |
茨城大学 工学部 | 茨城大学 工学部のページへ>> |
私たちが考える未来/地球を救う科学技術の定義 | 現在、環境問題や枯渇資源問題など、さまざまな問題に直面しています。 これまでもわたしたちの生活を身近に支えてきた”工学” が、これから直面する問題を解決するために重要な役割を担っていると考えます。 |