この春辺りから考えていたことがあります。
「理想のゲームコントローラーを作成してみたい…」

まあ実際はこの春先から突然思い始めたと言うことではなく、その昔TeraやB&SをWASDでプレイしていたころから思っていたことではありますが。
で、この春に購入したゲームパッド、Azeronとマウサーパッドの両方が3Dプリンターで作成された製品で、これを見た自分は「もしや自作できるんじゃね?」…と考えるようになったのです。
そこでこの2台のゲームパッドを分解してみて感じたとことは、「やっぱ相当無理をすればいけなくもない!」と確信したわけです(汗)。

とは言っても、自作するにしえもいくつかクリアしていかなければいけない課題がありました。

それは…

■課題1:コントロール用のメインボード(マイコン?)をどうするか
正直これをどうするかが決まらないとスタートラインにすら立つことができません。
とりあえず自作のゲームコントローラーを作成している人の動画がYoutubeに無いかと検索してみたところ、コントロールのボードに「arduino pro Micro(Arduino Leonardo)」を使ってキーボードのWASDをアナログコントローラーにマッピングしたと言う動画が見つけました。
早速アマゾンで「arduino pro Micro」を購入してみたのですが、そもそも半田付け自体したことがなかったので、これもYoutube見て数枚のarduinoで猛特訓しました(汗)。

で、肝心の「arduino pro Micro」ですが、USBのキーボードとしてPCに認識させて使う…らしいのですが、何故かアナログスティックの上下左右に特定のキー(WASD)を割り当てるコードを「arduino pro Micro」に書き込むと、同じキーが押された状態のままとなり(半田付けミスはなく、複数のarduino pro Microで全く同じ現象を確認)、それが原因で「arduino pro Micro」のリセット自体が困難になりました。 実はこのリセット方法についての内容が5月30日にアップしたブログの内容だったりします。 その後も藁をもつかむ思いで海外のarduinoフォーラムとか色々調べまくったのですが、どこかの国の大学生が似たような質問をしていて解決に至っていなかったので、「arduino pro Micro」を諦めて「REVIVE USB ADVANCE」を購入して使うことになりました… 

■課題2:ボタン(タクトスイッチ)をどうするか
ボタンですが、正直な話一般的によく使われている幅と奥行きが6㎜くらいのタクトスイッチを使用すればいいかな?と思っていました。

202108a003



















しかし、「マウサーパッド」で使用されていたタクトスイッチは、ちょっとめずらしいラバータイプのタクトスイッチでした。
202108a002



















これは恐らく暴発を防げぐためにわざと遊びが大きい物が使われていたのだと思われます。(安いラバータイプのキーボードと同じような仕様)
20210830a006








また、このタクトスイッチは幅と奥行きが約8㎜と少し大きく、足(ピン)の幅が6mmの2足のスイッチ(4ピンタイプもある)でした。
尚、この製品はaitendoで「TS8855SG-P2」と言う型番で販売されていて、AllExpresでタクトスイッチを検索して購入(こちらは正式な型番が見つからない)することも可能です。



■課題3:アナログスティックをどうするか
アナログスティックですが、こちらは「マウサーパッド」でも使用されていた「HW-504」(現在はアルプス製?)をアマゾンやAllExpresで購入することで解決します。また、arduinoのスターターキットを所有している場合はその中に「HW-504」又は互換品が入っています。正直PS4対応版とか携帯ゲーム機のアナログスティックは基板が付いてこないのと規格等が異なるため除外となります。




■課題4:その他基板をどうするか
さて、ここからちょっとハードルが高くなります。
「マウサーパッド」ではコントロールボード以外に、コントローラー前面部と上部にタクトスイッチを乗せるための基板が使われています。
そのため、それらの基板を自作する必要があります…
そもそも「基板を自作?」と、正直電子工作などしたことがない超ど素人に基板の作成ができるのか?
googleで「基板 自作」などで検索をしてみたところ、基板の設計をフリーソフトの「KICAD」を使い、出来上がった設計ファイルを中国の企業に依託すれば激安で作成してもらえると。
とりあえず、その「KICAD」とはどのようなものなのかYoutubeで検索してみたところ、「超Lチカ団」さんがアップロードしていた「KICAD」の動画を27本くらいあったのでそれを見てみました。

簡易的な手順としては、

①新規プロジェクトで詳細情報を登録
②回路図レイアウトエディターで実際に回路図を作成
③回路図のシンボル作成(ライブラリに無い場合に)
④回路図シンボルのアノテーション(同じ回路図がある場合のリナンバ)
⑤回路図ルールチェック(正常に動作できる図面かを確認)
⑥回路図シンボルとフットプリントとの関連付け
⑦フットプリントの作成(フットプリントのライブラリに無いものがあれば)
⑧ネットリスト作成
⑨PCBレイアウトエディターで基板イメージの作成(電子機器の配置と配線接続)
⑩ガーバーデーターの出力(これで完了)

と、こんな感じ(汗)。


ちなみに、タクトスイッチのシンボル選びですが、足が2本のタイプであろうと4本のタイプであろうと基本「SW_Puse」を選択します。
20210818d001
ただし!
上のシンボル「SW_Puse」を使う上で、ピンが1番と2番しか存在していないので、4本足のタクトスイッチのフットプリントをそのまま使う場合はピン番号に注意が必要。
例えば、4本足のタクトスイッチは、公開されている仕様書と同じように設定してしまうと、1番と2番のピンが内部的に繋がっている関係上(即ち3番と4番のピンが繋がっている)常にボタンが押された状態になってしまいます。

20210818d002

なので、フットプリント側のスルーホールを1番と3番をセットに、そして2番と4番をセットにする変更を行うか、下の画像のように「SW_Push」をベースとした専用のシンボルを作成してください。(もしかしたら何処かにあるのかも…)
20210818d003

私のような無知な人間はここで失敗しそう(汗)。

さて、次はライブラリに無い機器のフットプリント作成なのですが、基板上に設けるネジ穴(スルーホール)をどのようにして配置するのかで迷いました…
とりあえず、フットプリントライブラリの中にある「MountingHole」を選んでおけばいいようです(不安)。
ちなみに、フットプリントライブラリに無いタクトスイッチ登録手順はこちら。

動画ではTS8855SG-P4で説明していますが、TS8855SG-P2も同じ手順で登録できます。


まあとにかく、電子機器の知識がゼロである自分でも「超Lチカ団」さんの動画を繰り返し見ることで、なんとか形だけは基板設計が出来たような感じです。(下の図では、ネジ穴をオリジナルの物で作成しています)
20210830a003





















202108a004

202108a000











202108a001









































■課題5:基板の発注をどうするか
「KICAD」で作成したプリント基板の設計ファイル「ガーバーデータ」は、国内の業者に発注すると高くなるので基本中国の業者に依託します。
今回は中国の業者「seeed Fusion(日本法人あり)」さんに発注してみました。
ここでHPから注文をする際に、選択する項目は基本デフォで問題ありません。(特殊なことをしていない限り…)
ちなみに 100mm x 100mm の物であれば540円(10枚入り)と別途送料が1400円くらいかかり、発注から到着までの日数が約10日くらいでした。
20210830a002













202108















今回は、基板上に穴を開けてそこに材料を半田付けするTHM(スルーホール実装)で設計しましたが、基板表面にペースト状のはんだを塗って材料を半田付けするSMD(表面実装)と言うタイプの基板設計もしてみたいです。

■課題6:本体をどうするか
ここまでくれば、後はゲームパッド本体をどうするかですが、適当な3D作成ソフト(私はblenderを使用)で設計して3DプリンターでPLAかPETG辺りで印刷することになります。
20210830a005











尚、いままでBlenderで実寸大の物を作成することがなかったので意識していませんでしたが、今回寸法の単位を設定してモデリングしています。
20210920c001
ちなみに、本来あるモデリングの概念にある三角と四角のポリゴンで作成する…という考えを捨てて、多角形を使用すること自体OKです。
3Dプリントを行うモデルの作成で大事なことは、どんな作成方法であれオブジェクトの形状さえ保っていれば、3Dプリンターのスライスソフト側では全く問題がないと言うことです。
あくまでも3Dプリント用のモデルを作成する際の話ですが。

さて、私が使用していた3Dプリンターは、5年前に購入した製品(今はもう会社自体ありません)なので、今回このために新しい3Dプリンター「Prusa MINI」をチェコの公式HPから購入してみました(8月3日のブログで紹介)。
まあ、課題1~5までの課題が全てクリアできそうな見通しになったので、「Prusa MINI」を購入したわけなのですが、もし課題がクリアできないと判断していたら「Prusa MINI」の購入を見送ってこのプロジェクト自体を凍結することになっていたのです。

と言ったところで、現在は「マウサーパッド」を模倣(勉強の為)しながら各パーツの印刷からネジ止めによる組み立てシミュレーションを行っている状況です。
20210830a001















ちなみに、ラピンクさんが販売する「マウサーパッド」ですが、本体を金属製造(放出成型)に変更するみたいです。
やっぱ積層が無い綺麗な見た目に変わるのはいいことですね。


最後に、自力で「偽マウサーパッド(仮)」を作成する際の費用ですが…
20210830a004






基板の調達などが影響して結構高くつきました(汗)。
また、その他材料の収集には「aitendo」さんを利用するのがいいかもしれません。意外と掘り出し物の基板なんかも見かけますし。また、時間に余裕があるのであれば「aliexpress」を利用するのも一つの手かと…。 届くまでに時間がかかる代わりに材料の単価が結構節約できます。
ちなみに、この材料リストに入っていませんが、「グロメット」や「デュポンコネクタケーブル」などはありあわせの物を使用します。

とりあえず、マウサーパッドを真似て作成できるだけのスキルが身に付けば、オリジナルの片手ゲームパッドを作成することも可能になるかと思います。
やる気がでてくる~!