極ウォーリアオブライトで後半の鬼門となる「五連魔」というギミックがあります。
ボスが「五連魔」の詠唱を始めるとめっちゃ見づらい5種類のアイコンが、数秒毎に自分の頭上にランダムな順番で表示されます。
5種類のアイコンが表示された後、このアイコンに対応した技を、表示された順番にボスが繰り出します。
1個でも対処を間違えると自分は死亡、下手するとPTメンバーも巻き込んで死亡するので緊張感のあるギミックですが、対処法は「5種類のアイコンが表示された順番を覚える」しかありません。
脳死法とか言うのも出回ってはいますが、私が練習していた時は全く採用されてませんでしたし、イマイチ過ぎる対処法なので今でも普及してないっぽいです。
今回はArduino UnoというマイコンとTFTタッチスクリーンを使ってこの「五連魔」をメモするための装置を作ってみました。
五連魔メモ装置の概要
Arduino UnoにTFTタッチスクリーンを載せ、液晶画面上部に五連魔のアイコンを表示します。
アイコンをタッチするとその順番でアイコンが画面下部に移動します。
間違えた場合、画面下部に移動したアイコンを再度タッチすると画面上部に戻ります。
液晶の真ん中部分をタッチすると、画面がリセットされ初期状態に戻ります。
・・・とまあ、単純な装置です。
最初は「音声認識を使ってハンズフリーでできないか」と考えていたのですが、装置が複雑で作るのが面倒になりますし、Arduinoなんていうクソショボいマイコンではまともに動きそうになかったので止めました。
ざっくり手順
- Amazonでデバイスを購入する(Arduino UnoとTFTタッチスクリーンのみ)
- Arduino IDEをインストールする
- タッチスクリーンのキャリブレーションプログラムを転送して走らせる
- 五連魔メモ用プログラムを転送する
これだけです。
PCはArduinoにArduino IDEを経由してプログラムを転送するステップのみで必要です。
Arduino IDEさえ動けばmacでも可能なはず。
キャリブレーションを終え、五連魔のプログラムを転送した後はArduinoはUSB経由で5Vの電源を供給してやれば単体で動作するので、私はモバイルバッテリーを使っています。
詳細手順
Amazonでデバイスを購入する
Arduino UNO本体はこちら。
液晶シールドはこちら。
ArduinoとPCを接続するためのUSBケーブルは、Arduinoのパッケージに付属しています。
Arduinoを動かす際に5Vの電源を供給するには、PCにUSB接続しておけばいいのですが、このためだけにPCと接続するデバイスが増えるのは個人的にイヤなので、私はモバイルバッテリーを使っています。
Arduino IDEをインストールする
“Arduino IDE” “インストール” で検索すれば沢山分かりやすい記事がヒットします。
ドライバも含まれていますので、ArduinoとPCを接続する前にインストールしておきましょう。
一応2020/8現在でのインストール手順を説明しますと、まず以下のページにアクセスします。
トップページをスクロールすると、真ん中あたりに最新版のダウンロードリンクがありますので、お使いのPCに合わせたものをダウンロードします。
Windows版の場合、Windows appとかいうクソは後々面倒事の原因にしかならないので全力で避けましょう。
普通にInstaller版をダウンロードします。
インストーラーをダウンロードしたら、これを起動してPCにArduino IDEをインストールするだけです。
TFT液晶とArduino UNOを合体させる
Arduino IDEをインストールしたら、いよいよArduinoをUSBでPCに接続します。
その前に、液晶シールドとArduinoを接続しておきましょう。
手順はピンの向きに気を付けて液晶とArduino UNO本体を合体させるだけです。
合体させた後、Arduino付属のUSBケーブルでPCとArduino UNOを接続すると、液晶画面のバックライトが点灯し画面が真っ白になります。
画面が真っ白にならない場合は、接続が間違っているか、不良品でしょうね。
Arduino IDEの設定
PCとArduinoを接続したら、Arduino IDEの設定を行います。
使用ボード
ツール>ボードからArduino UNOを選択します。
シリアルポートの指定
次にArduino UNOとシリアル通信するポートを指定します。
Arduino IDEの設定は以上で終了です。
液晶シールド付属CDから描画ライブラリをコピー
液晶シールドに描画ライブラリが含まれており、これが必要になりますのでコピーします。
CD内の上記3フォルダを、C:\Program Files(x86)\Arduino\librariesにフォルダごとコピーして下さい。
キャリブレーション&五連魔用プログラムを展開
この.zipを適当なフォルダに展開して下さい。
以下のフォルダが作成されます。
\gorenma_arduino\calibration\calibration.ino
\gorenma_arduino\goren\goren.ino
それぞれ、タッチキャリブレーション用プログラム、五連魔記憶用プログラムとなっています。
タッチキャリブレーション用プログラムを転送し、キャリブレーション値をメモる
液晶のタッチ位置とプログラムが認識する座標が、たいていの場合ズレているため、補正値を取得する必要があります。
タッチ液晶のゲーム機とかで最初の起動時によくやるアレです。
Arduinoは趣味の電子工作用クソ雑魚マイコンだからなのか、キャリブレーション用のプログラムすら無かったので自作しました。
先ほど展開したフォルダにある\calibration\calibration.ino をダブルクリックすると、Arduino IDEが起動します。
これをArduino UNOに転送して下さい。
右向き矢印のボタンを押すと、最初にプログラムをビルドし、エラーが無ければ接続されているArduino UNOにプログラムが転送され、起動します。
起動すると液晶の四隅にドットが1個ずつ順番に表示されますので、液晶に付属していたスタイラスペン等でそのドットを正確にタッチして下さい。
ドットは4隅+画面の真ん中の計5回表示されます。
5回目のドットをタッチすると、液晶画面上に
このようにX,Yの補正値が表示されます。
キャリブレーションは5回で1セットを何回でも行えますが、大体同じような数値が表示されるはずです。
この値を紙にでもメモっておいて下さい。
そう、Arduinoには設定を保存するためのメモリなんてありませんので、この値をプログラムに渡してやらなければいけません。
五連魔メモ用プログラムに、キャリブレーション値を上書きする
\goren\goren.inoをダブルクリックしてください。
Arduino IDEのウィンドウが立ち上がりますが、今回は転送する前にエディタ上で先ほど取得したキャリブレーション値で書き換える必要があります。
初期状態ではCALIBRATION_Xに0が定義されていますが、上の画面の例だとここを126と書き換えます。
同様にCALIBRATION_Yに0が定義されていますが、上の画面の例だとここを79と書き換えます。
書き換えたらCtrl + Sを押してファイルを保存します。
その後、このプログラムをArduino UNOに転送して下さい。
プログラムの書き換えにミスってなければ特にエラーも無くプログラムが転送され、起動します。
使い方
プログラムの書き換えと転送に問題が無ければ、USBコネクタをArduinoの左側に見て画面上部にアイコンが5つ並びます。
問題なくプログラムが起動したら、以降はPCと接続しておく必要はありません。
但し、Arduino UNOと液晶シールドを駆動させるための電源が必要なので、モバイルバッテリーなど5Vの電源を接続して下さい。
写真映りが非常に悪いのですが、画面上部のアイコンは左から氷・炎・土・頭割り・視線を表しています。
各アイコンを指でタッチすると、タッチした順番で画面下部に移動します。
液晶上部のアイコン表示領域(縦64ドット)と下部のアイコン表示領域(縦64ドット)の間の領域をタッチすると、画面全体がリセットされます。
また、アイコンを4つタッチすると、残りの1つは自動的に画面下部へ移動します。
画面下部に移動したアイコンをタッチすると、そのアイコンを単体で上部へ戻します。
おわりに
Arduinoならこういうピンポイントな電子メモ的なものが簡単に作れるので試してみました。
以前Arduino UNOにACTのencDPS値を表示させるという事をやってみたのですが、そういやこの液晶、タッチ機能もあったよなあと思い立った次第です。
所詮クソ雑魚マイコンなのでタッチ精度や描画速度はお察しレベルなんですが、まぁこういう使い方もできるという事で、五連魔覚えるの苦手だなあと言う人は試してみてはいかがでしょうか?