どんな内容か?
コロナ禍ということもあり、展示会(Maker Faire)で来場者の方に手で触れて遊んでもらうことが、難しくなってしまったので、手がダメなら足で遊んでもらおうとフットスイッチ(音楽用のフットスイッチ)を使ったコントローラを作りました。コロナ禍で他のシーンでも利用できるかと思いますので、作り方を含めて紹介します。下記が作成したコントローラです。
プロジェクトの概要
今回作成したコントローラに、市販のフットスイッチ(YAMAHA FC5)を接続することで、フットキーボードとして利用できるものです。マイコンには、SeeedStudioが最近販売した小型のマイコンXIAOを使っています。今回4つのフットスイッチが接続できる基板を作成しました。
コントローラは、PCに接続するとHIDキーボードとして認識されるので、特定のキーを割り当てておけば、スライドのスクロールとか、上下左右とかの操作を足で行うことができます。
作り方
回路図
スイッチをダイレクトにGPIOに取り付けています。スイッチは、内蔵のプルアップ抵抗を利用することにしました。スイッチ以外の端子は、Groveコネクタや、ピンヘッダから取り出せるようにしています。言ってしまえば、専用基板無しでXIAOに直接フットスイッチをはんだ付けするだけで作れます。
※見づらい場合は、GithubからPDFのダウンロードが可能です。
基板を入手する。
専用基板製造に必要なガーバーファイルを公開しますので、必要であればそのまま基板をオーダーいただくことで入手が可能です。(専用基板でなくてもユニバーサルでも作ることは可能だと思います。)Maker Faire Tokyo 2020 (2020/10/3,4)にてキットとして少量頒布予定です。
フットスイッチを入手する。
今回、YAMAHAのFC5を利用しています。選定のポイントは、値段がお安く作りもしっかりしている点です。当方購入時は、Amazonで1,100円程度でした。コネクタは6.3mmのオーディオプラグになります。他社製のフットスイッチも利用できると思いますが、スイッチの接点方向を確認してください。YAMAHAのFC5は、B接点のノーマリークローズ(NC)となります。底面のゴムなどがしっかりしており、簡単には壊れないので一生もので使えるはずです。(笑)
部品を入手する。
シルク番号 | 部品名 | 個数 | 購入先 | 備考 |
---|---|---|---|---|
U1 | XIAO | 1 | 秋月通商 | Seeeduino XIAO |
J1-J4 | MJ-462 | 4※1 | 秋月通商 | 6.3mmステレオジャック MJ-462 |
J5 | 1x6ピンヘッダ※2 | 1 | 秋月通商 | ピンヘッダ (L型) 1×6 (6P) |
C1,C2 | 1608 0.1uFコンデンサ※2 | 2 | 秋月通商 | チップ積層セラミックコンデンサー 0.1μF50V F 1608 |
R1,R2 | 1608 1kΩ抵抗※2 | 1 | 秋月通商 | 金属皮膜チップ抵抗器※3 1608 1/10W1kΩ±0.1% |
J6,J7 | L型Groveコネクタ※2 | 2 | 秋月通商 | Grove用-4Pコネクタ L型 オス (10個入) |
※1:利用するフットスイッチ数分で良い。 | ||||
※2:SPI,I2C,UARTを利用する必要がない場合は、これらの部品は必要ありません。最低限XIAOとMJ-462があれば良い。 | ||||
※3:1Kの抵抗であれば何でも良い。高精度の抵抗である必要はない。(秋月通商で部品をそろえるなら・・・) |
部品を実装する。
下記の写真を見て実装してください。J5のピンヘッダは実装されていません。
XIAOは、USBのコネクタが基板の外に出る方向にはんだ付けします。
MJ-462も、端子の挿入口が基板の外に出る方向ではんだ付けします。
開発環境を準備する。
書き込むためには、Arduino IDEが必要です。(環境の構築方法は、ここでは説明しませんが、検索するとみつかると思います。)
XIAOがArudino IDEで使えるように、ボードの情報を追加します。
下記の、サイトが非常に詳しく説明されていますので、手順に従ってボードを追加してください。
ArduinoIDEにXIAOボードを追加する方法
また、今回、Adafruit_TinyUSBをライブラリとして利用しています。ライブラリマネージャから、最新版のAdafruit TinyUSB Libraryをインストールしてください。
必要に応じてキーコードを変更する。
GitHubからコードをダウンロードして、xiao_footkey.inoのファイルを開きます。
デフォルトで、キーコードが、'1','2','3','4'に割り当てられていますので、お好みで他のキーコードに変更します。
定義は、この辺を参考にしてください。
XIAOに書き込む
Arduino IDEのツールメニューから、下記のように設定します。(シリアルポート番号は、各自の環境でことなります。)
ボード名:Seeeduino XIAO
USB Stack:TinyUSB
シリアルポート:COM XX (Seeeduino XIAO)
しばらく待つと書き込みが完了します。
動作確認
本体のステレオジャックに、FC5を差し込んだ状態で、USBコネクタをパソコンに接続します。
フットスイッチを踏むことで、対応するキーコードがパソコンに送られるはずです。踏みっぱなしにすると、キーリピートが発生します。
私は、多少乱暴に扱っても良いように、タカチのケース(YM-100)に入るように加工しました。
最後に
Maker Faire Tokyo 2020で本フットコントローラを使って、来場者にゲームを楽しんでいただきます。また、本当に少量なのですが、同じものが作れるDIYキットを頒布させていただく予定です。是非ご来場(2020/10/3, 4)いただければと思います。
以上です、