エルボー・バットに合いの手

Created Date: 2020-01-16/ updated date: 2020-01-21
    Owner & Collaborators
    License
    Summary
    エルボーをすると合いの手(歓声)があがるエルボープロテクションを作ろう!

    Materials

      Tools

        Blueprints

          Making

          • 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点の計測になるのでもう少し幅をもたせたいが、ずっと取得するとどの動作がどの数値かが分からないので、そこの工夫が必要。
          Add Card Order

          References

            Usages

              Project comments