10
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

フットスイッチコントローラの作り方

Last updated at Posted at 2020-09-25

どんな内容か?

コロナ禍ということもあり、展示会(Maker Faire)で来場者の方に手で触れて遊んでもらうことが、難しくなってしまったので、手がダメなら足で遊んでもらおうとフットスイッチ(音楽用のフットスイッチ)を使ったコントローラを作りました。コロナ禍で他のシーンでも利用できるかと思いますので、作り方を含めて紹介します。下記が作成したコントローラです。
image.png

プロジェクトの概要

今回作成したコントローラに、市販のフットスイッチ(YAMAHA FC5)を接続することで、フットキーボードとして利用できるものです。マイコンには、SeeedStudioが最近販売した小型のマイコンXIAOを使っています。今回4つのフットスイッチが接続できる基板を作成しました。
コントローラは、PCに接続するとHIDキーボードとして認識されるので、特定のキーを割り当てておけば、スライドのスクロールとか、上下左右とかの操作を足で行うことができます。
image.png

作り方

回路図

スイッチをダイレクトにGPIOに取り付けています。スイッチは、内蔵のプルアップ抵抗を利用することにしました。スイッチ以外の端子は、Groveコネクタや、ピンヘッダから取り出せるようにしています。言ってしまえば、専用基板無しでXIAOに直接フットスイッチをはんだ付けするだけで作れます。
image.png
※見づらい場合は、GithubからPDFのダウンロードが可能です。

基板を入手する。

専用基板製造に必要なガーバーファイルを公開しますので、必要であればそのまま基板をオーダーいただくことで入手が可能です。(専用基板でなくてもユニバーサルでも作ることは可能だと思います。)Maker Faire Tokyo 2020 (2020/10/3,4)にてキットとして少量頒布予定です。
image.png

フットスイッチを入手する。

今回、YAMAHAのFC5を利用しています。選定のポイントは、値段がお安く作りもしっかりしている点です。当方購入時は、Amazonで1,100円程度でした。コネクタは6.3mmのオーディオプラグになります。他社製のフットスイッチも利用できると思いますが、スイッチの接点方向を確認してください。YAMAHAのFC5は、B接点のノーマリークローズ(NC)となります。底面のゴムなどがしっかりしており、簡単には壊れないので一生もので使えるはずです。(笑)
image.png

部品を入手する。

シルク番号 部品名 個数 購入先 備考
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も、端子の挿入口が基板の外に出る方向ではんだ付けします。
image.png

開発環境を準備する。

書き込むためには、Arduino IDEが必要です。(環境の構築方法は、ここでは説明しませんが、検索するとみつかると思います。)
XIAOがArudino IDEで使えるように、ボードの情報を追加します。
下記の、サイトが非常に詳しく説明されていますので、手順に従ってボードを追加してください。
ArduinoIDEにXIAOボードを追加する方法

また、今回、Adafruit_TinyUSBをライブラリとして利用しています。ライブラリマネージャから、最新版のAdafruit TinyUSB Libraryをインストールしてください。
image.png

必要に応じてキーコードを変更する。

GitHubからコードをダウンロードして、xiao_footkey.inoのファイルを開きます。
デフォルトで、キーコードが、'1','2','3','4'に割り当てられていますので、お好みで他のキーコードに変更します。
定義は、この辺を参考にしてください。
image.png

XIAOに書き込む

Arduino IDEのツールメニューから、下記のように設定します。(シリアルポート番号は、各自の環境でことなります。)
ボード名:Seeeduino XIAO
USB Stack:TinyUSB
シリアルポート:COM XX (Seeeduino XIAO)
image.png
しばらく待つと書き込みが完了します。

動作確認

本体のステレオジャックに、FC5を差し込んだ状態で、USBコネクタをパソコンに接続します。
フットスイッチを踏むことで、対応するキーコードがパソコンに送られるはずです。踏みっぱなしにすると、キーリピートが発生します。
image.png

私は、多少乱暴に扱っても良いように、タカチのケース(YM-100)に入るように加工しました。

最後に

Maker Faire Tokyo 2020で本フットコントローラを使って、来場者にゲームを楽しんでいただきます。また、本当に少量なのですが、同じものが作れるDIYキットを頒布させていただく予定です。是非ご来場(2020/10/3, 4)いただければと思います。
image.png

以上です、

10
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?