OBONO’s Silly Notes

へっぽこプログラマの戯言

MachiKania type P

MachiKania type P を作ったので、とりあえず記事にまとめる。
どういう経緯で MachiKania type P の存在を知ったのか、もはや忘れかけているのだが、確かきっかけは Raspberry Pi Pico版 Xeviousもどき だったハズ。

ラズパイ Pico は無いけど、代わりに手元にある RP2040-Zero を使って作れないかなぁと思い、ダイソーの300円のゲーム機と液晶モジュールを確保した上で、RP2040-Zero の各種ピンを繋ぐ作業をしたのが去年の9月のこと。表面実装してある LED の制御に割り当てられている GPIO16 を利用するべく、LED を剥がして線を引き出したわけだが、こんなことするんだったら素直にラズパイ Pico を買えば良いのにと、我ながら思う。

購入した液晶モジュールが MachiKania type P では使えないことが判明し、一旦はやる気が萎んでしまったのだが、気を取り直して正しい液晶モジュールを確保し、ダイソーのゲーム機の改造に着手。
まずは画面の部分を糸のこぎりを使って大きくカットし、液晶モジュールが収まるようにする。次に、左側の十字ボタンはもともと2×2ピンの組み合わせで判定していたのをいろいろ弄って、4方向それぞれ独立して GND かどうか判定するようにする。右側の4ボタンに見せて実は1ボタンになっている部分については、内部でつながっているパーツを2つに切り分けた上で、何かのおもちゃを分解して確保したパーツを流用して FIRE ボタンと START ボタンの押し分けができるようにする。
そして、RP2040-Zero と各種部品を繋ぐための基板を作成し、液晶モジュールやボタン、スピーカーとのコネクタを配線。ようやく MachiKania type P が動作するのを確認することができた。それが今年1月のこと。

ただ、このままではどうにも筐体内に収まりそうにない。SD カードを挿しこむために、筐体上部にちょっとだけ穴を開けるだけのつもりだったが、もともと乾電池を収めるための部分をカットしてスペースを確保。加えて、USB ケーブルで給電できるようにするため RP2040-Zero の USB 端子周辺もカットする。
本当は、余っている Li-Po バッテリーで単独動作させたかったんだけどなぁ。まぁ、仕方ない。どうせ、外に持ち歩くこともないだろうし。

逆に、液晶モジュールを収める窓がちょっと大きすぎたので、外部接続端子も使えるようにして隙間を埋めることにした。このあたりになってくると、もはや故障時のメンテナンスとかどうでも良くなってきて、基板や線材をグルーガンでとにかく固定していく。

ということで、最後はかなりやっつけ仕事になってしまったが、一応ハードウェアとしてはこれにてようやく完成。長かった…

ハードウェアができたのだから、今度はソフトウェアを作らないとね。さて、何を作ろうかな。