追記:
<注意>内部でどういう処理がされてるか分からない以上、出てくるデータが脳波とは言いきれません。2014.7.18
脳波を取るデバイスは高い・・・
こんなのとか・・・
普通に1万しちゃうので半額、半額以下で買えるnecomimiをつかって脳波を取りたいと思います。
内部で使われている基板は上のデバイスと一緒だと思います。たぶん
・とりあえずnecomimiからデータを取るまでにあったことをまとめてみました。
最初、ヤフオクで耳が欠けてる中古のnecomimiを買いました。
1200円。安い。
使ってみるとずっと同じ動きしかしない・・・・
大丈夫か・・・?と思いつつ分解。
フタのシールを剥がす。
かなり強力でシールはがしスプレーを使って剥がしました。
はがすとネジ穴が出てくるので分解。
基板。
上に載ってる基板が脳波を取ってる基板らしい。
http://www.switch-science.com/catalog/978/この基板。5000円・・・。
ちなみに下の基板は3.3Vを作ってる基板らしい。
http://doc.switch-science.com/datasheets/TGAM1_pin.pdfここを参考に信号を引っ張りだす。
Txから信号が出てるのでTxの部分にハンダ付け。(Tx:送信機、Rx:受信機の意味)
TxやRxのあるところからGNDをとってもいいのですが僕は電池のところからGNDをとりました。
電池の-のところにハンダ付け。
ケーブルを外に出すために耳の電極のケーブルが通る穴をヤスリで拡張。
necomimiの信号が出てる線をarduinoのTxに、necomimiのGNDの線をarduinoのGNDにつなぎます。
arduinoから脳波データを読むには
https://github.com/kitschpatrol/Brainこのライブラリをお借りしました。
インストールはINSTALLATIONに書いてある通りzipをダウンロードして、スケッチ --> ライブラリをインストール...をしたような気がします。
インストールしたら、ファイル-->スケッチブック-->libraries-->Brain-->BrainSerialTestを選びます。setup()の中に書いてあるSerial.begin(9600);をSerial.begin(57600);に書き換え実行し、ツールのシリアルモニタで57600に合わせて見てやればどんな値が出ているか見れると思います。
どんな値が出ていたかメモもスクショもしておらず覚えてないのですが、たしか信号の質を示すpoor signalが0になっていなかったと思います。
poor signalが0になっていないと集中と瞑想状態を示すAttentionとMeditationが出てきません。
原因はPCの電源のノイズにあるようです。
こちらの動画ではフォトカプラを用いてpoor signalを0にしているようです。
僕もいくつかフォトカプラを買って試してみたのですがイマイチうまくいかない・・・。
安いフォトカプラだとこのような57600bpsの信号には使えないっぽい。かといって高いフォトカプラの回路が単純なフォトカプラの回路と違ってどう繋いでやればいいかわからない。
~ここで数ヶ月積む。~のびっこさん(@nobikko)の登場によりnecomimi改造再開。
http://nobikko-nobinobi.hatenablog.com/entry/2014/06/18/044104http://nobikko-nobinobi.hatenablog.com/entry/2014/06/20/233438こちらのページを参考にしまくりました。
とりあえずフォトカプラを使う方法は諦め、Bluetooth化することにしました。
秋月でBluetoothモジュールを注文。
http://akizukidenshi.com/catalog/g/gK-07378/2400円。
のびっこさんのブログと秋月のデータシートを参考にBluetoothモジュールの設定をしました。
Bluetoothモジュールに3.3Vの電源を供給したいのでnecomimiのTxやRxがあるところのVのところにケーブルをはんだづけして引張り出しておきます。
Bluetoothモジュールと引っ張りだしたケーブルとを繋ぎます。
繋ぎ方はこんなかんじで。
この状態でnecomimiの電源を入れるとBluetoothモジュールのLEDも光ります。
この時に、necomimi本体の電源を入れてサーボがすこしだけ動いて電源が切れるといったことがありましたが電池を新しいものに変えたら直りました。
このあとPCにBluetoothドングルをさして、ペアリングして、シリアルポートのインストールをしました。(PCによって違う?)
arduinoとつないでいた時のライブラリはもう使えないので
http://d.hatena.ne.jp/nishiohirokazu/20130819/1376891440こちらを参考に色々と環境を揃えます。
Pythonはもう入っていたのでeasy_install、pip、pyserialをインストールしました。
上記のページのPythonのコードをそのままお借りしました。
ポートの表記をwindows用に変えなきゃいけないとのことだったので変えました(
PORT = '\\\\.\\COM5')どうやらシリアルポートの表記は\\\.\\COMxらしい(いい参考が見つからなかった
http://support.microsoft.com/kb/115831/ja)
とりあえずこれで実行してみると----------------------完--------------------------
とはならず。次は新品買いました。
もうケーブルを切るヘマはしないためにカバーを開けて基板のネジを外すことなくそのままハンダ付け。
http://www.kako.com/neta/2013-019/2013-019.htmlこちらの方がされているような感じでハンダ付け。
これでどや。(´;ω;`)
でも付けて位置を色々とずらしたりしてぼーっとしているとおっ?
最初は安定しなかったものの、途中からは安定するようになりました。
でも安定したり、しなかったりは結構バラバラ。
とりあえず0が連続して出るようになったのでこれで完成。
次にビジュアライザーのアプリを動かしました。
http://store.neurosky.com/products/visualizer-2-0%20からダウンロードしてインストール。
ThinkGear Connectorもたぶん一緒にインストールされる?ので、ThinkGear Connectorを立ち上げ設定からStarting portを自分の使ってるポートにしてビジュアライザーを起動してやるとこんな感じでできました。
*おまけ
猫耳部分のサーボを取り出します。
サーボの土台?部分はまた強力なシールでネジ穴が隠されているのでシールを剥がします。
ノリ部分が残るのでシール剥がしスプレーで除去。
ネジを外すとこんな感じ。
中央のネジを外すとサーボは外れます。
ケーブルは繋がったままです。豪快にちょん切ってもいいのですが、丁寧に外すことにしました。
まず基板からサーボのコネクタを外します。
ネジを外します。
こんな感じで外れます。ケーブルは細長い部分の溝を通ってるのでそのまま外してやればオッケーです。
取りだしたサーボ。
GWSのMIcroみたいなちっこいサーボでした。
おしまい。
参考:
http://junkroom2cyberrobotics.blogspot.jp/2013/06/necomimi.htmlhttp://ch.nicovideo.jp/wolf64m/blomaga/ar409633http://hizwarp.net/archives/386[3回]