作品概要
スマートフォンのゲームのようにスティックの代わりに画面を触ることでキャラクター制御を行うことを目的とした、タッチパッドを使用したゲームコントローラーをArduinoを使用して制作しました。既存のコントローラーと違う点として、キャラクター制御を行うための左スティックがタッチパッドとなっています。
制作経緯
スマートフォンのゲームで遊んでいた際、この操作を実際のゲームコントローラーでも利用できないかと考え製作に至りました。タッチパッドを用いたゲームコントローラーはDUALSHOCK4がありますが、キャラクター操作に用いるものではないので、タッチパッドがメインのコントローラーとして製作することにしました。
制作の工夫
既存のコントローラーとの比較を行いやすい様に、スティックなどはArduinoで使用できるジョイスティックのモジュールを使用するなどして、タッチパッド以外の部品はなるべく既存のコントローラーと同様のものを使用する様にしています。初めてタッチパッドを使用した制作を行なったため、ネットの記事などを参考にしながら制作を行うこととなり、最初はゲームコントローラーの制作記事をみながら製作を行なったのだが上手くいかなかったので、アプローチを変えて、ゲームコントローラーの記事ではなく、キーボード制作の記事を参考にしながら、タッチパッドのボタンをキーボードのボタンに対応させることで、WASD操作ができる様にしました。
操作に関して、タッチパッドの中心をX,Y軸の0として、Y軸から見て+5以上だとパソコンへWのキー入力が伝わり、-5以下だとSのキー入力が伝わるようにしました。また、X軸ではY軸と同じように+5以上ではAのキー入力、-5以下ではDのキー入力が反映され、パソコンでゲームを行う際のWASDキーによるキャラクター操作に対応させました。ボタンに関しては、Arduino内の機能を使い市販品のコントローラーと大差のない様にしました。
おわりに
Arduinoを使用してタッチパッドを使用したゲームコントローラーを制作しました。課題点としては、指でスティックの感触を確かめることができないため、操作感が薄くなってしまうという点が挙げられました。そのため、例えば、音が鳴るなどの触覚情報以外の部分で補う様にしてタッチパッドでの操作感の向上を目指すべきだと考えました。
使用ツール
ツール : Arduino IDE
Arduino ボード : KEYESTUDIO Plus Board for Arduino UNO R3 with Type-C USB Cable, 3.3V 5V 1.5A Output Current, More Powerful Controller Board
OS : Windows 10
タッチパッド : HiLetgo 2.4 “TFT LCDディスプレイシールドタッチパネルILI9341 240X320
コメント