TinyJoypadを秋月の小型ジョイスティックとaitendo1.3インチOLEDで実装してみた
これまで、TinyJoypadを参考に、フリスクケースサイズの小型実装をしてみたり、カセット交換式のものを作ったりと、いくつか実装してきました。
今回、秋月でTinyJoypadにちょうど良さそうな小型ジョイスティックの取り扱いが始まったようなので、早速取り寄せて実装してみました。
あわせて、前回のカセット交換式のもので、ノイズが多くて採用を断念したaitendoの1.3インチOLEDを改めて使用しています。
結果、やはりジョイスティックで大画面だと操作しやすかったので、みなさんが作成される際に参考にしていただければと思います。
目次
こんなふうに動きます
実際の組み上がった結果の動作と、ジョイスティックのレバー加工の様子を動画にしていますので、参考にご確認ください。
TinyJoypadを秋月の小型ジョイスティックとaitendo1.3インチOLEDで実装してみた
秋月の小型ジョイスティック(SKRHAAE010)
これまで、TinyJoupadを実装するには、十字キーが必要な構成だと最低5つ、スイッチを実装する必要がありました。小型のゲーム機を作るには配線が多くなると実装に苦労するため、もう少し最適な部品が無いか探していました。2020年4月より秋月で取り扱いが始まった、小型ジョイスティック(SKRHAAE010)は4方向と中央のプッシュの5つのスイッチで構成されており、TinyJoypadにはちょうど良さそうです。
部品だけでも購入できますが、表面実装でこの特殊パターンを実装するにはちょっと厳しそうです。今回は、おとなしくDIP化キットを購入し、ユニバーサル基板にはコネクタで接続しました。
まずはジョイスティックの動作をテストします。
DIP化基板は、下記の写真の方向が上のようです。
この方向に実装すれば、上にスティックを倒せば上の「UP」端子のスイッチ入力、右に倒せば「RT」端子のスイッチに入力、となります。
あとは、TinyJoypadの回路図に従って、抵抗とCPUのIOピンに繋げば、通常のスイッチと同じく動作します。
これがブレッドボードでの実装例です。
ジョイスティック用レバーの製作
あと、このジョイスティックは、レバーの部品がついていません。
データシートを見ると、軸の直径は1.95mmの四角形。
これに適合するレバーが無いので、自分で作るしかなさそうです。
家で素材を探したところ、100均で売ってたプラスチック製の画鋲がちょうどよさそうなので、今回はこれを加工しました。
Youtubeの動画の後半に収めましたが、金属の針の部分を熱すると簡単に取れます。針を取り除いたあとの穴を加工すれば、そこそこ使えるレバーが簡単につくれました。
aitendoの1.3インチOLED
前回のカセット交換式で使おうと思ったのですが、ATTiny85のボードの近くに実装するとノイズで乱れてしまう傾向にあったため、今回はCPUとOLEDを離して実装することにしました。
これにより、ブレッドボードでの動作確認時と同じように動くようにはなったのですが、画面右端が乱れる問題は変わらず。(3つほど買いましたが、すべてこの現象が発生。)こちらの問題はまだ調べられておらず、ゲームする分には問題ないのでいまのところ放置しています。
1.3インチは、これまで使った0.96インチよりだいぶ大きくてゲームはやりやすいです。
ユニバーサル基板への実装
今回はジョイスティック検証用の位置付けが強いので、ケースは作らず、あえて基板むき出しで作りました。開発用にも便利そうです。
実装にあたっての準備、ATTiny85への書き込み手順などは、過去の記事を御覧ください。
回路図は、TinyJoypadプロジェクトを参考にしてください。
実装例はこちら。
やはりジョイスティックは自作の十字ボタンより使いやすく、ゲームには適しています。実装部品も一つになるので、構成もシンプルにすることができます。
まとめ
秋月で発売された小型ジョイスティックは、TinyJoypadプロジェクト用には非常に有用とわかりました。今後、小型ゲーム機を製作するさいには、活用していきたいと思います。M5StickのオリジナルHATなんかも作れそうなので、活用していきたいと思います。
部品リスト
最後に、今回のレポートで使った主要パーツをリストアップしておきます。
・小型ジョイスティック
・aitendoの1.3インチOLED
- ATTiny85マイコン
- USBasp(AVRライター)
- タクトスイッチ
- 圧電スピーカー
- ユニバーサル基板
- 抵抗
- ケース
- 電池ボックス
- シール基板