見出し画像

micro:bitで肩関節水平外転角度を測定する

こんにちはロック204チャンネルです。
今回はマイクロビット応用講座 「micro:bitで肩関節水平外転角度を測定する」と題しお送りします。

方角を取得するブロックは入力カテゴリーの中にあります。
このブロックはmicro:bitに内蔵された地磁気センサーよりのデータを使用しています。


この方角ブロックで取得された値は、真北を0度、東を90度、 南を180度、西を270度として値を取得できます。

マイクロビットの向きと方角の関係をこちらに示しています。
マイクロビット のマークを真北に向けたとき、0度とうして時計回りに角度が増えていきます。
シュミレーターにおいては、方角ブロックを使用すると 真ん中の図のように 矢印が付いたマークが表示されますので
これを回転させることにより方角の取得をシュミレーションすることができます。

https://youtu.be/avB-Q7lYI1k

データの取得状況をモニターする


それでは方角を取得できるブロックを使用して水平外転を測定する方法について見ていきましょう。
水平外転内転は 手を水平にあげて内側に移動したときを水平内転、外側に移動したときを水平外転といいます。
今回は手首にマイクロビットを装着して、肩関節を水平外転したときの角度を方位より推定します。

方位と水平外転角度の関係について見て行きます。
左の図が方角を示す図で、北を0度時計回りに45度90度と角度が変化してきますが
肩関節の水平外転においては、開始位置を0度とすると時計まわりに45度、90度、135度となりますが
0度から内側に、軸が移動した場合には-45度、-90度、-135度と変化して行きます。
この方角の変化を角度に変換する必要があります。

こちらは プログラムの初期設定と監視ブロックになります。
最初だけブロックに 方角を変数stに取得します。
またbutton Aが押されたときも同様に その時の方角を変数stにします。
変数stは初期位置を示しています。
「ずっと」ブロックは 方角を常に監視するブロックとなります。
まず方角を 変数bfに取得し、関数henkanで 変数bfに取得した方角を角度に変換します。
次に変換された値を マイクロビットのディスプレイに表示します。

こちらの プログラムは 関数henkanの内容になります。
スタート位置が0から180度の範囲では 上の赤枠で示す部分のプログラムが実行されます。
このブロックの中では 取得した方角をスタート位置の角度を差引、それを新たな変数bfとします。
また bfが180度以上の場合には bfより360度を引いて新たな bfとします。


こちらはスタート位置が 180度を超えて360度までの間の 計算式となります。
取得した方角に360度を足してスタート位置の角度を引きます。それを新たなbfとします。
もし、この時bfが180度以上であれば、変数bfから360度を引いて新たな bfとします。
これでプログラムが完成しました。

シュミレーターで確認する

今回は方角を測定するブロックを使用して、 肩関節の水平外転角度を測定するプログラムを作成しました。
このプログラムを応用すると手関節の内外転角度も測定することが可能となります。
また「傾き」ブロックを使用すると肩関節の屈曲・外転角度も測ることができます ので、これらのプログラムについても挑戦してみてください。

ご視聴ありがとうございました。


この記事が気に入ったらサポートをしてみませんか?