Raspberry Pi Pico(GP2040)でアケコンを作る(4) アケコン内の配線見直しとOLEDディスプレイ追加
前回はMadCatZ ファイトスティックの中身をRaspberry Pi Pico(GP2040)に交換して動作確認しました。
しかしブレッドボードに挿したRaspberry Pi Picoをジョイステック・レバーやボタンに接続してケース内に放り込んだだけでした。またケース左上にあっいたPSボタンとTurboボタンを取り外したので、こちらが空洞になってしまいました。この二点を改善したいと思います。
◇ 改善点
1. Raspberry Pi Picoの内蔵
ブレッドボードから端子台に置き換えるか、Raspberry Pi PicoのGPIOに直接配線をはんだ付けをするかで迷いました。
前者のメリットはピンがブレッドボード以上に固定されながら、ドライバー1本で配線も変えられる点です。デメリットはブレッドボード以上に場所をとることです。後者のメリットは小さく収まること、ブレイクアウトボードの追加購入がいらないことです。デメリットは配線変更が手間であることです。今回はいろいろ試しながら作りたかったのでブレイクアウトボードを使うことにしました。
端子台の四隅にはナイロン製のM2*6mmスペーサーを入れて持ち上げました。この時点で相当大きくなってしまったことで少し斜めに収納せざるを得ませんでした。
2. アケコン左上の空洞を埋める
このように左上が空いてしまい収納しているUSBケーブルが見えてしまっていますので目張りしたいと思います。
目張りにはスモークのPET樹脂板をカットして使います。空洞は27x89mmでしたのでカッターで切り目を半分程度いれ、あとは手で折ります。角は平やすりで現物に合わせながら落としていきます。また目張りだけですと見栄えがしないのでGP2040が対応しているOLED画面を入れ、操作キーを表示できるようにします。
OLEDに関してはGP2040の仕様書に以下のように書いてあります。そこで以下の条件を満たしたパーツを購入しました。Raspberry Pi Picoとは電源、GND、I2C通信(SCL、SDA)の4本で接続します。
◇ 機器の仮置き
方針が決まりましたので、アケコン内にRaspberry Pi PicoとOLEDを仮置きして必要な配線をしました。すべて配線してみましたところ、ジャンプワイヤーのコネクターがボタンのファストン端子と干渉し、その状態で天板を閉めるとボタンが押せなくなりました。
またOLEDからRaspberry Pi Picoまでの線はジョイステックレバーとボタンの間を配線するためジョイステックレバーと干渉して無理な力が一部にかかる可能性がありそうでしたので、網組チューブでまとめることにしました。
OLEDとRaspberry Piの接続は以下の4点を接続します。後の説明にありますがI2C通信のSDA、SCLのチャンネルは初期設定の内容で接続しています。
電源(VCC)を3V3(OUT)
GNDをGND
SDAをGP0
SCLをGP1
最終的な配置は以下のようにRaspberry Pi Picoを斜めにしてジャンパーワイヤーのコネクターとUSBコネクターがボタンのファストン端子に干渉しないようにしました。
◇ OLEDの設定
GP2040でOLEDの設定を行うときにはStart(S2)ボタンを押しながらGP2040をパソコンのUSBポートに挿します。その後にブラウザーで192.168.7.1をアクセスします。画面上のメニュー画面からConfiguration -> Display Configurationを選択します。Flip DisplayはOLEDの設置した向きによって変わると思いますが、残りの項目はこちらの内容で動作すると思います。SDA Pinが0、SCL Pinが1となっているのはI2C通信をGP0、GP1で行っていることを示しています。すべての設定を変更しましたら画面左下の「Save」を押して内容を保存します。再度USBケーブルを抜き差しすれば画面が表示されると思います。
1. もし途中で画面が表示されなくなったら
表示されていた画面が消えてしまい、また配線も問題がなければGP2040の再インストールを行います。このときGP2040を上書きして書き込むのではなく、flash_nuke.uf2をダウンロードしてこちらを書き込みます。書き込んでしばらく待ちますと再度Raspberry Pi Picoのエクスプローラー画面が表示されますのでそれまで必ず待ってください。再び開いたエクスプローラーにGP2040をコピーし、エクスプローラーが消えれば完了です。
2. 完成写真
スモークの板越しに現在操作しているボタンやレバーを表示することができました。
◇ 費用まとめ
最後にアケコンの中身をGP2040に交換した工具抜きの費用をまとめたところ木工で作成するのと大差がありませんでした。レイアウトに制約はありますが、やはり既製品を使っているので満足度は高いと思います。
1. アケコン
MadCatZ ファイトスティックを中古で購入(4600円)
2. Raspberry Pi Pico
GP2040を導入するハードウエアです。アケコンの中心となる部品です。(640円)
3. Raspberry Pi Pico用ブレークアウトボード
Raspberry Pi PicoのGPIOをすべて端子台に接続します。端子台はジャンパーピンを差し込むことができます。今回使用したTreedix ブレークアウトボードは、ご自身ではんだ付けをして組み立てる必要があります(1180円)
4. OLEDディスプレイ
GP2040に画面表示機能を追加します。3個セットです(1680円)
5. 1×40ピンヘッダ(2.54 mmピッチ)
Raspberry Pi PicoとPico Audio Packを接続するとき、Raspberry Pi Picoにピンヘッダーをはんだ付けをする必要があります。20ピンずつに割って使えるこちらのパーツがおすすめです。(35円)
6. USBケーブル(TypeA/MicroB)
Raspberry Pi Picoとパソコンを接続するUSBケーブルです。アケコンとパソコンの位置に合わせて長さを選びます。(110円)
7. 耐熱電子ワイヤー(AWG28) 1.2m
ボタンのGNDケーブルを数珠つなぎ配線するときにこちらの細いワイヤーを使います。(300円)
8. 耐熱電子ワイヤー(AWG24) 3.0m
レバー信号、ボタンの信号側に使います。ジョイステック・レバー専用コネクターハーネスも三和で取り扱っています(5PINコネクター付ハーネス(JLF-H)が、今回は使いません。(330円)
9. QIコネクタ(オス、メス)、ハウジング
ジョイスティック・レバーやボタンをブレッドボードに接続する端子です。これらはオス端子(16個)で、ジョイステック・レバー側はメス端子です(5個) (400円)
10. ファストン端子(#110メス)、絶縁スリーブ
ボタンとの接続に使用する端子です。ボタン1個につき2個必要になります。今回は10ボタンで作るため20個必要です。(520円)
11. ナイロン製スペーサー、ナット、ネジ
Raspberry Pi PicoおよびOLEDボードのねじ穴はM2ですので、一式で買ってしまいます。
12. PET樹脂板
アケコン天板の目張り用です。アクリサンデーの「サンデーPET PG-4 SS 200×300×2mm スモーク」を使いました(700円)
13. 網組チューブ、結束バンド
OLEDケーブルの配線をまとめます。両端は結束バンドで止めました(380円)