C#でMindwaveの値を出力するin development

 
date:2013.11.06   posted by:saito
 
part time jobs in memphis tn

p>はじめまして、インターンのまりもです。

前回のブログで掲載した「Samuration」について、技術的な側面から全3回に分けて解説します。

内訳はこちら。
1. Mindwaveで脳波を取得する
2. ArduinoでLEDを脳波に合わせて光らせる
3. Kinectで竹を切るモーションを判定する

今回は
1. Mindwaveで脳波を取得する
を解説したいと思います。

■Mindwaveとは

まず、Mindwaveとはなにかというと、ズバリ「脳波」をとることができるデバイスです。
α波、β波、γ波など素の値も取ることができますが、独自のAPIによって集中度、リラックス度、ブリンク状態(脳波の急激な上がり下がり)を自動的に算出してくれます。
単4の電池で動き、bluetoothで通信ができます。詳しいスペックはMindwave Mobile公式サイトを御覧ください。

■実装

ライブラリはThinkGearNETを使いました。
他にもライブラリはいくつかあったのですが、スムーズに出来たのはこれだったので使わせてもらいました。
ダウンロードするとサンプルがいくつかあるので確認してください。
以下にMindwaveから取得した集中度をConsoleに出力するまでの実装方法について簡単に解説します。
今回はC#で書きました。

まず、参照設定でThinkGearNETを追加します。
ソリューションエクスプローラにThinGear.csとthinkgear.dllを追加します。

usingを追加します。

using ThinkGearNET;

コード進行はこんな感じです。

//生成
ThinkGearWrapper _thinkGearWrapper = new ThinkGearWrapper();

//初期化&ポート設定
_thinkGearWrapper = new ThinkGearWrapper();
_thinkGearWrapper.Connect("COM9", 57600, true);

//集中度を出力(Attention)
Console.WriteLine("{0}", _thinkGearWrapper.ThinkGearState.Attention);

初期化は一回しか行わないほう良いので、出力と分けてください。
今回の出力結果は集中度のみですが、他にも_thinkGearWrapper.ThinkGearState.Meditationに書き換えるとリラックス度が出力できます。
他にもいろいろあるので、探してみてください。
また、必ずポートが一致していることをコントロールパネルで確認して下さい。

いかがでしたでしょうか。
今回、脳波を出力できたので次の「2. ArduinoでLEDを脳波に合わせて光らせる」に続きます。

 
Copyright © TheDesignium inc. powered by WordPress & mootools.
Relative Keyword|none