生物が体を動かすときに筋を用います。筋の収縮により力が発生し、その力によりからだを動かすことができます。筋の収縮は生体電気(筋電位)により起こります。筋が発生する生体電気を筋電位(Electromyogram;EAG)といいます。筋が収縮することで筋電位がおこるのではなく、筋電位により筋が収縮します。筋電位を腕などの体表面から計測することができますが、その電圧は非常に小さく抵抗も大きいことから、計測には信号を増幅する必要があります。その増幅をおこなうのがアンプ(増幅器)の役割です。
今回は、筋電位を計る筋電位計測装置を作製し、その信号を観察するとともに、その信号でLEDを点滅させたり、チョロQをコントロールするプログラムをスクラッチのようなブロックプログラミングをPictobloxをつかって行います。こんなに簡単に装置を作ることができ、こんなに簡単にプログラムできることに驚くことと思います!装置を作ってしまえば、あとはどのように応用するかは、みなさんでいろいろと考えることができると思いますよ。
配線図(パスワードが必要)配線図(pptx)(パスワードが必要)
テキスト(パスワードが必要)
Pictobloxコード
筋電位は筋電位計測装置を介して、PCのマイク端子を通して入力されます。SoundcardOscilloscopeで、筋電位を観察します。PCの画面のグラフは、横軸が時間軸(実際の時間です)、縦軸が電圧をあわらします。腕に力を入れるたびに筋電位が大きく変化しているのがわかります。

筋電位計測装置の本体部分に、電源(9V電池)と、信号の入力ピンと出力ピンをとりつけた全体の構成。出力信号をPCのマイク端子に接続すると、オシロスコープアプリ(SoundCard Oscilloscope)で筋電位の波形をみることができます。
また、この信号をつかって、チョロQ、ロボットカー、ドローン(TELLO)をコントロールすることができます。
ここでは、筋電位を増幅して計測するための筋電位計測装置を以下の手順に従って作製します。
1)1チャンネル筋電位アンプの製作
2)アンプが信号を増幅することの観察と実験
3)筋電位の観察(SoundcardOscilloscopeでおこないます)
4)スクラッチのプログラミング(筋電位でLEDを点滅させてみましょう)
1)1チャンネル筋電位アンプの製作
・使用するパーツなど
パーツなど | 品名・型番 | 価格(円) |
計装アンプ | LT1167 x 1 | 1,250 |
マイコン(ESP32) | ESP32-WROOMボード | 1,150 |
ブレッドボード | ブレッドボート(400穴以上)適宜 x 2 (例:サンハヤト SAD-101 ニューブレッドボード ) | 900 |
固定抵抗 | 1KΩ x 3 | 20 |
可変抵抗 | 10KΩ x1 | 50 |
コンデンサー | 10uF x 2 | 100 |
LED | 5mm x 1 | 10 |
接続ケーブル類 (デュポンワイヤー、オーディオケーブル、 ピンケーブル含む) | 300 | |
3.5mmステレオミニジャック | 2個 | 100 |
乾電池 | 9V x 1 | 150 |
9V電池スナップ | 1個 | 100 |
電極シート | 20枚 | 500 |
その他消耗品(ミニドライバー含む) | 370 | |
総額 | 5,000 |
(注意:最近はマイクとヘッドフォンが一体化したPCがほとんどで、マイクジャックが別になっていない場合は、UGREENの変換アダプタを使用します。)
・製作手順
製作は別紙の製作手順にしたがって行います。 配線図(パスワードが必要)配線図(pptx)(パスワードが必要)
2)アンプが信号を増幅することの観察と実験
増幅には、計装アンプ(ここではLT1167)を用います。計装アンプは、微弱な信号を増幅し、同時にノイズを低減することができる特殊な増幅回路を持っています。計装アンプでは 1つの抵抗によって信号の増幅(動作ゲイン)を設定することができます。
2つの入力端子の間の電圧の差を増幅することができます(作動増幅)。そのため両端に入った共通のノイズなどの信号を除去することができます(共通モードリジェクション;CMRRが高いのが特徴)。また、入力インピーダンスが高く、今回の筋電位や神経電位のような小さな信号でも、体表からノイズによる影響を抑え、高精度の測定することができるのです。
3)筋電位の観察(SoundcardOscilloscopeでおこないます)
・計測する腕の筋肉部の2か所に電極シートをはりつけます。3つ目の電極シートは、筋肉がすくない部分にはりつけます。
・電極ケーブルを電極シートにとりつけます。
・他方のピンジャック(オス)を増幅器の入力のピンジャック(メス)に挿入します。
・増幅器の出力ピンジャック(メス)にピンケーブル(オス)を挿入し、他方はPCのマイクジャックに挿入します。
(注意:最近はマイクとヘッドフォンが一体化したPCがほとんどで、マイクジャックが別になっていない場合は、UGREENの変換アダプタを使用します。)
・筋電位を観察するためのオシロスコープとして、Soundcard Oscilloscopeをダウンロードし、PCにインストールしてください。
・Soudncard Oscilloscopeを開始し、画面上の Settings を開く。右上のAudio Devicesで、Input の項目で マイク(USB-Audio Device)を選択する。Oscilloscoeを選択する。最後に、Trigger を Offに設定する。あとは、AmplitudeとTimeを適宜操作することで、適切な筋電位の波形が観察できるように調整します。今回のアンプを使用した場合、Amplitueは、1-100mのあいだ、Timeは1秒程度の設定でよいです。
4)スクラッチのプログラミング(筋電位でLEDを点滅させてみましょう)
スクラッチのプログラミングで、筋電位をマイコンに取り込んで、その信号でLEDを点滅させる実験を行います。
スクラッチ3.0は、筋電位などの外部の信号をパソコンなどに取り込むことはできないので、ここではスクラッチをベースに作成されたPictoBloxを使用します。
テキスト(パスワードが必要)
—– 以下は今回の教室では行いませんが、参考まで —–
オフセットの設定 (Advanced)
筋電位は、基準電位のベースにプラスとマイナスに触れる信号ですが、計測条件によっては、ベースが基準電位からプラスやマイナスにずれることがあります(オフセット)。ESP32のAD変換ピンは、原則0 vから3.3vまでのプラスの電位の入力にたいしてAD変換されます。したがって、EMGの信号がマイナス側にシフトしてしまうと信号として計測することができなくなってします。今回構築した筋電位アンプは比較的安定していて、基準電位から大きくずれることはありません。もしずれてしまった場合にも、EMGの信号を基準電位まで戻してあげれば、信号を計測することができます。これをオフセット調整を言います。左にその例を映像でご覧いただきます。基準電位(ベースライン)を徐々に上げている様子がわかると思います。

プリント基板
ブレッドボードに作成した回路は、プリント基板にして制作することもできます。ここでは、左右の腕から筋電位をとるため、2チャンネルの入力(IN1とIN2)を増幅できるようにしました。出力はOUTからとります。計装アンプ(LT1167)が2つと電源(9V電池)が確認できます。