ギタコンの自作 試作4

試作4の内容

ごちゃごちゃしてきた配線をすっきりさせます。 また、加速度センサーを追加して、wailing操作に対応します。

試作4で使うもの一覧

試作1,3で使ったものに加えて、以下を使います。

追加費用は、合計で 1300円+発送費用くらい。(別の方法で配線を整理するのであれば、線材の追加は不要)

名称値段(参考)秋月電子の通販コード
加速度センサーモジュール x1 accelerometer.jpg 1個850円程度3軸加速度センサモジュール KXR94-2050
各種長さが揃ったジャンパワイヤー IMG_3643.JPG 400円程度 P-05160

配線をすっきりさせる

新しく入手した「短いジャンパーワイヤー」を使って、GNDや5Vの配線を置き換えました。 ジョイスティックのところへの信号線は適当な長さのケーブルが無かったので、やむなく反対側(手前側)のL/R端子に接続を迂回しました。 これで、ケーブルを手前側でまとめれば、そこそこすっきりするかなと思います。

wailingに対応させる

まずは配線から。

ここを参考にして、加速度センサーモジュールの1,2番ピンに5Vを、3,5番ピンにGNDを接続。6番ピン(Out X)をArduino MicroのA1ピンに、7番ピン(Out Y)をA2に、8番ピン(Out Z)をA3に接続。OutのX,Y,Zの内、どれをどう使うかをまだ決めかねているので、とりあえず全部接続します(苦笑)。

スケッチ修正

難航しています。 とりあえず、この加速度センサーモジュールを上記のように取り付けた場合は、 Out Y (Y軸方向の加速度 / 角度) だけを見ればよさそうなことは分かりました。しかし、試してみると以下の問題が噴出。

  • 「勢いよくコントローラーを上げた時」を検出するのは簡単です。「Out Yが一定値以上に素早く上がる」ことを検出すればよいです(下図の(1)のところ)。
    しかし、注意してほしいのが、(1)でクワッと上がった(上方向の加速度が働いた)直後に、下方向にぐわっと加速度が働いていることです。これは、上方向に上げたコントローラーを、どこかの角度で止めようとするために、逆方向(=下方向)の

それだけだと、「勢いよくコントローラーを下げた時」にも反応してしまいます。(コントローラを下げて、止めた時に、止めようとする力=上方向への加速度が掛かるため。この時も「Out Yが一定値以上に素早く上がる」ように見えてしまう。下図の(2)'。)
従って、この下げ止まった時の反射には反応しないように工夫する必要があります。

  • ノイズが乗る。例えばピックを上に目一杯上げた時に、カツンとスティックが行き止まりますが、この「カツン」に加速度センサーが反応します(下図の(3)')。
    従って、一瞬だけの加速度入力は無視する必要があります。






・・・・・などと書いていましたが、どうやら「加速度センサー」ではなく「ジャイロセンサー」を使うのがよいらしい・・。

  • 加速度センサー: 加速度を取得できる。自身を故意に動かされるような場合は、ここまでに記載したような問題が出て使い物にならない。
  • ジャイロセンサー: 角速度を取得できる。自身を故意に動かされても、上記のような問題は出ない。しかし、代わりにドリフト(*)が発生する

(*) ドリフト: 誤差が蓄積して、プラマイゼロと見なす基準値がどんどんずれていく現象

ジャイロセンサーを入手の上、もう少し勉強・試行し直してみます。






更に困ったことに・・・ 秋月電子通商で入手できるジャイロセンサーは、以下の2つがあります。

しかし、これらのどちらも、ピンヘッダが接続された形では販売されていないため、 実際に使用する際には自分でピンヘッダをはんだ付けする必要があります。

しかし、このギタコン制作では、最初に「はんだ付けはしない」というコンセプトにしました。 従い、これらのモジュールを使うことはできず、wailingを実現できません。残念!!

# 別のモジュールもありましたが、どれも数千円のお値段だったので、購入して試してみる気にはなれませんでした・・・

仕方がないので、Wailingはボタンとして作っておいて、はんだ付けをしてもいいという人だけはジャイロセンサーを使った回路を追加できる・・・ という形の説明にします。

以下、お安い方のENC-03RCを使用したモジュールを使って、Wailing機能を実装する例を説明します。 (Wailingボタンを追加する方法は省略。ここまでちゃんと読んでいる人なら難しくない対応のはずなので。)

複数の入力をまとめて1回で出力する

その方が効率的、1ms感覚の出力もキープできる

まとめ