エルボー・バットに合いの手
Owner & Collaborators
License
Summary
エルボーをすると合いの手(歓声)があがるエルボープロテクションを作ろう!
Materials
Tools
Blueprints
Making
- マイクロSDカード内に二桁の数字のフォルダを作成その中にmp3のファイル名を三桁の数字に変更して保存する
- MakeCodeの『拡張機能』から『DFPlayer』で検索すると上記の画面になるので、選択して拡張ブロックをインストールする
- DFPlayerの接続している端子を設定してボリュームを初期化。起動がわかるようにLEDを点灯。ボタンAでフォルダから001.mp3のファイルを再生ボタンBで次の曲を再生ボタンABでポーズ
- プログラムを書き込むやスピーカーから「ドドドドドドド」小刻みなノイズが。。PCとUSB接続していたので外して、外部給電に変更。単4電池2本だと再生されず、単4電池3本にするとノイズも止まってきれいに再生された。
- エルボーに合わせて合いの手が出るということは、エルボーが放たれたということを検知しなければならない。エルボー・バットとは:自身の片腕を曲げて片肘を突き出し、振り上げたり振り下ろしたりして相手に叩きつける。キックボクシングの経験から考えるに、肘の動きとしては、以下のような流れになる。①肘(実際には腰)を後ろに引く②肘を上部に引き上げながら③前方へ振り下ろし④手首を胸に引き寄せることで肘を最大可動域まで伸ばす
- しかしよく考えるとこれは昔通っていたジムで教わった「相手の眉を切らせて不戦勝」のための裏技エルボーだ、これではない。正統派なかち上げ式エルボーに変更したい。①肘(実際には腰)を後ろに引く②肘を脇に引きつけながら③前方上部へ突き出し④手首を胸に引き寄せることで肘を最大可動域まで伸ばす
- 加速度計は加速度をX、Y、Zの三つの値で表す。これらの値は、大きさ(量)と方向の両方を表している。
micro:bitが地面と平行に保たれ、LEDディスプレイが上を向き、エッジコネクタが手前を向いている状態で、X値は左右の加速度を測定する。Yは自分から離れた方向または自分に戻る方向の加速度を測定し、Zは上下の加速度を測定する。つまり、XとYは2つの水平面の加速度を表し、Zは垂直面の加速度を表す。- micro:bitを平らにすると、XとYの加速度が0に近く、Zの加速度が-1024に近くになるようだ。
これは重力がmicro:bitに対して下向きに作用していることを示すとのこと。ボードを裏返し、LEDが床に最も近くなるようにすると、仕様ではZ値は+1024とプラスの値になる。またmicro:bitを勢いよく振ると、加速度が±2048まで上がるのが分かる。これは、この加速度計が最大値±2048ミリグラムを測定するように設定されているためで、実際の数値はそれよりも高い可能性があるとのこと。 - micro:bitは以下のジェスチャーを認識することができる上、下、左、右、フェイスアップ、フェイスダウン、自由落下、3g、6g、8g、シェイク
→3g、6g、8gのジェスチャは、デバイスがこれらのレベルのGが加わったときに適用される。 - ではエルボーをする際の加速度はどうなるだろうか?①肘(実際には腰)を後ろに引く →Y軸がマイナス方向②肘を脇に引きつけながら →X軸がゼロに近い③前方上部へ突き出し →Y軸がプラス方向&X軸もプラス方向④手首を胸に引き寄せることで肘を最大可動域まで伸ばす →X軸が急速にゼロへ&Y軸はプラス方向
- エルボーした際の肘の動きの加速度センサーの値をとってみる。micro:bitを2つ使って1つは肘に装着してその加速度センサーの値をもう1つのmicro:bitへ渡してPC上で表示させる。
何度かエルボーした値は以下のようになった。①肘を引く②肘を横に回す③肘を突き出すの動作時の値を取得した。■1回目のデータ①X:648,Y:620,Z:64②X:940,Y:-4,Z:940③X:1016,Y:568,Z:416■2回目のデータ①620,216,396②720,604,629③1132,172,-17■3回目のデータ①940,56,144②1052,288,508③152,-688,320 - 結局10回以上テストしてみたが数値がバラバラ。。。テストの条件がよくないのかも。。ちゃんとサポーターとかで固定して同じ条件を出さないとだめか。あと今のテストプログラムだとAボタンを押したあとに計測しているが、それだと動きの1点の計測になるのでもう少し幅をもたせたいが、ずっと取得するとどの動作がどの数値かが分からないので、そこの工夫が必要。
Comments