Translate

ページ

2015年3月17日火曜日

WallbotBLE (MPU6050 only) and "EEG Acceleration logger"

さて、EEG Acceleration loggerとnecomimiで遊んでみたわけですが、このアプリは”三軸加速度三軸ジャイロセンサモジュール”(MPU6050)のセンサー値を表示したり、グラフ化したりする機能もあります。

私は、まだこのセンサーモジュールを持っていないのですが、先日購入したばかりのWallbot BLEがMPU6050を搭載していることに気づいたので、これで試してみることにしました。

プログラムはケンタさんのBLE_MPU6050_Nanoを元に、次の変更を加えました。
変更前のmain.cpp 28行目~
//MPU6050 mpu(p4, p5);
MPU6050 mpu(I2C_SDA0, I2C_SCL0);

static const char DEVICENAME[] = "BLE-Nano";
変更後のmain.cpp 28行目~
//MPU6050 mpu(p4, p5);
MPU6050 mpu(I2C_SDA, I2C_SCL);

static const char DEVICENAME[] = "WallbotBLE";


あとは、プラットフォーム設定を"Wallbot BLE"に設定し、コンパイル後書き込んで完了です。
良い感じにセンサー値を拾えているようです。





WallbotBLEを出荷状態に戻すには....
JKSoft のBLE_WallbotBLE_Challengeを書き込みますが、
なぜか、前後が逆に動いてしまったので、main/cppの22行目の
#if 0

#if 1
に変更しました。
(Firmwareを戻しておかないと、息子に怒られるので...)

2015年3月16日月曜日

necomimi and "EEG Acceleration logger"

普通の人の3周遅れくらいでnecomimiを入手...


mbed HRM1017の勉強を始めた頃から、ケンタさんがこれで遊んでいるのを知ってまして、
私もいずれ遊んでみよう...と思っていたのでした。

最近、ケンタさんが、Apple Storeにログを取るアプリ”EEG Acceleration logger”を公開されました。そこで、これを機に入手して遊んでみることにしました。
  • necomimi改造
  • mbed HRM1017接続
  • BLE nano接続


まずはNecomimi単独で

まぁ、3周遅れでレポート書いても仕方ないですが...
  • ベルトがきつい....すいません。頭の後ろ回すんですね。ちゃんと取説(と、ついている紙)は読まなきゃですね。
  • ゾーンモード難しい...全然できません。
と思ったら、うちの息子、付けて数分でマインクラフトしながらゾーンモード出した...将来期待できるかしら?←親ばか


参考資料


 necomimi改造


  • 他の方同様に、メインボード側から、TAG1への信号を取り出す。
  • ピンの対応は次の通り
    TGAM1
    Main Board
    意味
    mbed
    GND
    TP1
    GND
    GND
    VCC (V)
    TP2
    VCC
    VDD or
    RX(R)
    TP3
    センサへの送信
    接続不要
    TX (T)
    TP4
    センサからの受信
    Serial Rx (UART入力)
    (任意ピンに再割当可能)
  • 最終的にmbed用のnecomimiから電源を取る計画なので、4本とも取り出しました。(AWG24)
  • ケースにカッターで穴を追加し、端にピンソケットを接続。電極部分は熱収縮チューブで保護。


 mbed HRM1017でのテスト

  • mbed HRM1017用のコードが提供されているので、まずはmbed HRM1017で接続
    ちなみに、赤:VDD、黒:GND,黄色:P0_11に接続されています。(mbed HRM1017をはじめよう参照)
    LED1,2もつないでいますが、このプログラムでは光らないので、不要です。
    プラットフォームがちゃんとmbed HRM1017であることを確認してからコンパイル&書き込み。
  • うまく動いているようです。


 BLEnano

  • 今度はBLEnanoでやってみます。
  • せっかくのコンパクトなデバイスですので半田付け無しでやってみました。
  • 用意したのは、サンハヤトのスルーホールテスト用テストワイヤTTW-200

    ピン先がこんな風になっていて、スルーホール、ピンソケット、ブレッドボード等に使うことが出来ます
  • 書き込みのためのUSB I/Fとの接続は、GND, VIN, SWCLK, SWDIOの4本だけ接続

  • プログラムは、次のように変更しました。
    変更前のmain.cpp 5行目~
    //#define BLE_Nano
    #define HRM1017

    #define DBG 1
    #define NEED_CONSOLE_OUTPUT 1 /* Set this if you need debug messages on the console;
                                   * it will have an impact on code-size and power consumption. */

    Serial  pc(USBTX, p11);       //for UART comms (TX, RX)
    変更後のmain.cpp 5行目~
    #define BLE_Nano
    //#define HRM1017

    #define DBG 1
    #define NEED_CONSOLE_OUTPUT 1 /* Set this if you need debug messages on the console;
                                   * it will have an impact on code-size and power consumption. */

    #ifdef HRM1017
    Serial  pc(USBTX, p11);       //for UART comms (TX, RX)
    #endif

    #ifdef BLE_Nano
    Serial  pc(USBTX, p5);       //for UART comms (TX, RX)
    #endif
  • プラットフォームがちゃんとBLEnanoであることを確認してからコンパイル&書き込み。
  • で、necomimi改との接続はこうなります。
  • 適当にプラスティックの箱に入れて、ケーブル束ねてnecomimi改の横に貼り付けると、こうなりました。

    これくらいコンパクトなら、付けたままでいろいろ出来ますね

で、脳波?測定の結果は?

  • 実際にこれを装着したまま、数時間生活してみた(昼寝含む)のですが、DELTA波のグラフがちょっと伸びるだけで、ほとんどそれっぽいデータが取れません。
  • 壊れているのかな?と思いましたが、necomimi自体はそれっぽく動いています。ボーっとしているとリラックスモード、集中するとゾーンモードなど。なので、壊れているわけではなさそう。
  • いろいろWebで調べてみると、necomimiではあくまで筋電測定が関の山で脳波が測定できるようなハードウェアでは無いとのこと。
  • まぁ、こめかみの筋電でも、ある程度の判定が可能ということのようです。
  • なので、本アプリはあくまで参考までと考えることにします。
  • 数値が取れること自体が面白いし。
  • あえて言うなら、測定されたモードもアプリで表示出来ると面白いかも。→日々ゾーンモードに入った時間や装着時間に占める割合など記録して、徐々に訓練して集中力を高める訓練に使うなど。
  • 万人受けする遊び方ではないですが、私はそれなりに楽しみました。自分でも何かアプリ作ってみたいですね。

    2015年3月1日日曜日

    uCXpresso LilyPad for nano51822 : 文鎮化

    uCXpresso LilyPad for nano51822 が、一つ文鎮化しましたorz

    • 説明通り、LPC expressoで作ったhexファイルを、Android経由でDFUアップデート→成功
    • SWDを配線後TSUBOLINK-2等で書込→失敗。
      • FAIL.TXTの内容は、”The interface firmware FAILED to initialize the target MCU”
      • 書き込み自体ができない様子で、リセットすると元のプログラムが再開する。
    • DFUでmbedオフラインコンパイラでコンパイルしたファイル(softdevice + application hexファイル)書き込み→予想通り失敗。文鎮化。
      • 二度とDFUモードにならず、mbed書き込み出来ない状態も継続

    現在、いろいろ調査中。
    SWD経由で復旧させないと、どうしようもないですね。