LoginSignup
0
2

More than 3 years have passed since last update.

表面筋電をセンサーで取得する

Last updated at Posted at 2020-04-13

はじめに

研究室に転がってたMyoWareという筋電センサを用いて表面筋電を計測してみました.

全体像.jpg

これを利用することで,把持や物体の持ち上げなどを定量的に評価できるようになるかもしれません.
僕は研究で使えるかと思って動かしてみました.
筋電とは何ぞや?って人は以下の論文でも読んでみてください.

動作環境

本記事で実装した環境を記しておきます.

  • OS: Windows 10 Home
  • VSCode: version 1.44
  • PlatformIO: Core 4.3.2a1
  • マイコン: Mbed F303K8

やり方

大まかに2つの手順があるので,分けて書いていこうと思います.

プログラムを作ってマイコンに書き込む

まずはPlatformIOでProjectを作成します.
すると雛形ができるので,ここにプログラムを書いていきます.
今回使ったのはMbedというマイコンなので,cppで書きます.
ソースコードは以下のものを使いました.

MyoWareTest.cpp
#include "mbed.h"

// 浮動小数点型の標準入出力を行うための記述
asm(".global _printf_float");

// シリアル通信のための記述
Serial pc(SERIAL_TX, SERIAL_RX); // tx, rx

// MyoWareの値を受け取るピンの定義
AnalogIn sig(A1);

int main() {

    // 筋電センサの値を受け取る変数
    float sig_val;
    while(1) {

        // 筋電センサの値を更新する
        sig_val = sig;

        pc.printf("Sig Value: %f\n\r", sig_val);
        wait_ms(10);
    }

}

これをVSCode上でビルドし,マイコンに書き込みます.

配線して電極を張り付ける

マイコンなどに関しては以下の資料でも読んでみてください.

今回組んだ配線を以下に示します.

MyoWare_ブレッドボード.png

今回使ったマイコンはF303K8なので,AnalogInで得ることのできる値の幅は0V~3.3Vになります.
そのため,₊の配線は3.3Vに接続します.
更に,以下のようなケーブルを...

ケーブル.jpg

画像のように接続します.

iOS の画像 (24).jpg

電極はこのように貼り付けます.

iOS の画像 (20).jpg

貼る位置に関しては,以下のリンクに書いてあるので適当に決めてください.

以上で手順は終了になります.

結果

以下のリンクは,僕がツイッターに投稿した手の動きとコンソール出力の動画です.
画面に収まってませんが,手をニギニギしてます.

以下の画像は,実行した際のターミナル出力の結果です.
左の図はグッと把持動作を行った際の結果を表しており,右は弛緩した際の結果を表しています.

high (2).PNG low (2).PNG

左は0.92くらい,右は0.17くらいでセンシングできました.
電極を貼る位置によっては,出力される数値がおかしくなったりしやすいので,調整しながら貼りましょう.

これをなにかと組み合わせればいろいろ遊べそうですね.
何かあったらコメントをください.

詰まった時に書いた記事

どこかしらで詰まったら以下を参照してみてください.

参考にしたサイトと文献

以下を参考にして記事を書きました.

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2