見出し画像

ゲームスタートボタンの製作

キーボードを隠蔽したい

パソコンで作るゲームはキーボード・マウスで操作するのが基本なのですが、操作性の点ではゲームパッドなど外付けの専用コントローラーの方が優れています。
自分で使う分にはコントローラーとキーボードが共存して問題ありませんが、イベントなどで他人にプレイしてもらうとき、キーボードが有効だと誤操作やいたずらを招くことがあり、できればキーボードは外したり隠したりしておきたいものです。
ゲームパッドのように複数のボタンが使えるものなら、そのうちの一つにスタート機能を割り当てられますが、特殊な自作のコントローラーの場合、スタートやリプレイの方法に工夫が必要になります。
私の「ネコリンピック」プロジェクトも、スペースキーをスタートボタンにしているためキーボードの隠蔽ができませんでした。

スペースキーがスタートボタンの状況。子どもはあちこち触るのでちょっと怖い。

アーケードボタンを使いたい

外付けのボタンをスペースキーなどとして認識させる方法はあるのですが、どうせならゲーム感があり、子どもにも分かりやすくしたいので、ゲームセンターのアーケードゲーム機などに使われているアーケードボタンを使うことにしました。
アーケードボタンは大型のプラスチックのカラフルなボタンで、内蔵のLEDが点灯するエフェクトも使えます。国内だと結構高いのですがAliexpressだと260円程度で入手できます。

ボタンをPCにスペースキーと認識させる方法

外付けのアーケードボタンを、パソコン上のソフトがキーボードのスペースキーと同じものと認識してくれないと、スタートボタンにはなりません。
キーボードの状態をシリアルに変換する専用のチップもありますが、一部のマイコンボードにその機能を持ったものがあります。

Arduino micro/Leonaldo

まずはArduino。
Arduinoのうち、Arduino microとArduino LeonaldoはプログラムでArduinoをキーボード・マウスに見せかけることができます。
これらはプロセッサ(SoC)にATmega32U4を使っていますが、このSoCはUSBのインターフェースを内蔵していて、USB接続のキーボード・マウスのエミュレートができるためです。
キーボードエミュレートのプログラムはArduino microの標準のライブラリに含まれているので簡単に利用できます。

スタートボタン用のプログラム

Arduino microの純正品は3500円程度しますが、pro microという名前で売られている互換品はAliexpressで500円程度で入手できます。

pro microのスイッチサイエンス版
pro microの中華互換機

Arduino pro micro互換機を使ってアーケードボタンを作った例です。ボタンを押すと、ボタンとUSBで接続したパソコンはスペースキーが押されたと認識します。

この作例ではDIPスイッチ(pro microの左にある白い小さなスイッチが並んだもの)の組み合わせで、ボタンを押したときのキーコードがスペースキー以外の任意のものに設定できるようにしています。

micro:bitのBLEHID拡張機能

micro:bitもこの目的で使えます。
micro:bitの拡張機能にあるBLEHIDは、これを入れたmicro:bitがパソコンからはBluetooth接続のキーボードとマウスのように見えるという機能です。
公式機能ではありませんが、micro:bit財団に承認されたものなので、特に問題なく使用できます。

拡張機能でBLEHIDで検索すると出てくる
Learn Moreで表示される説明

micro:bitに拡張機能を使ったプログラムを書きこんで、アーケードボタンを接続します。

P1に接続したボタンを押すと、スペースキーが押されたように振る舞うプログラム
ボタンに内蔵されたLEDはP2に接続され、ボタンを押すと点灯する
ボタンはP1,ボタンのLEDはP2に接続している

ケースの製作

ケースは適当な箱で良いのですが、ある程度数を用意する前提でMDFボードをレーザー加工機で切り出して、木工ボンドで組み立てました。
必要があれば何度でも同じ加工ができるのがデジタルファブリケーションの良いところです。

4色から選べる
アーケードボタンは小さな子でも機能が分かりやすい


以上

この記事が気に入ったらサポートをしてみませんか?