一昔前だと自分で回路組んであれやこれやとやっていたアケコンボタンのLEDカスタマイズ。光らせるだけならそんなに難しいこともないですが、ボタンと連動して「押したら色が変わる」ということも割と簡単にできるみたいなのでやってみました。自己責任。
1.用意するもの
1-1.アケコン一式
言わずもがなです。
1-2.Kaimana Mini LED Driver & PCB 8 Button Kit
今回の要となるパーツです。Paradise Arcade Shopで購入できます。リンク先はキットですが、それぞれ単品販売もされています。余談ですが、Paradise Arcade Shopの商品到着後、fedexから関税の支払請求書来ました。
なお、このLED用基板について、取り付けられるボタンの種類に制限があり*1昨今使われ始めてきたgamerfingerのボタン(銀軸とか呼ばれてるやつ)は取り付けることができません。
一応自作ですがgamerfingerでも取り付けられるLED用基板作ってみました。そのうちboothで取り扱うかも。
GamerFinger30mmハメ込みタイプ対応LED PCB「PM-GF30-LED」6個セット - ぽめらん - BOOTH(終売)
gamerfinger用のLEDのやつ、できたっぽいような気がする
— ぽめ (@pomegd) June 3, 2020
LEDの半田付けがちょっと不安 pic.twitter.com/fmxBSpVCOU
1-3.Arduino IDE
プログラムの編集や書き込みをするソフト。「Arduino - Software」からダウンロードしてインストール。
1-4.microUSBケーブル
Kaimana Mini LED DriverとPCを接続してプログラムを書き込む用に必要です。
1-5.Brook UFB/AFB/WFBいずれか
Amazonで売られているような“ピンが半田付けされていないタイプ”だと自分で別途取り付ける必要があるので、千石電商などで売られている“ピン付き”のものを用意した方が良いと思います。
光らせるだけならBrook~は必須ではないけれど、ボタンと連動して点灯させるのであれば必須と考えておいて良いと思います。
2.事前準備
Kaimana Mini LED Driver & PCB 8 Button Kitを組み立てます。組み立てるといっても難しいことはありません。キットに付属のケーブルを使ってLED用の基板を光らせたいボタンの数の分だけ数珠つなぎにしていきます。今回は8ボタン+START、SELECT、HOMEの計11個で設定していきます。
写真では8個ですが最終的に11個にしてます。
3.LEDの色設定
(追記:2020年10月ごろに以下のサイトがクローズしてしまい、簡単にジェネレートすることができなくなりました。別の方法模索中。)
Arduinoのプログラムをイチから自分で書く必要はありません。どのボタンをどの色にするかを選んでいくだけでArduino用のプログラムとして吐き出してくれるサイトを使用します。
Kaimana Web Setup
使用するアケコンがHITBOXタイプかジョイスティックタイプかを選択します。が、ジョイスティックタイプで設定をしたところ、一部上手くLEDが点灯されなかったため、HITBOXタイプを選択します。
3-1.ボタン押下時の色を選択
「Set LEDs when Buttons are activated (pressed).」で表示されている各ボタンの色を設定していきます。今回はスティック部分は点灯させないのでスルー。それ以外のボタンの色をお好みの色にしていきます。ちなみにこの項目だけに限らずボタン色で黒を選択するとLEDは点灯しません(OFFになる)。
3-2.ボタンを押していない時の色を選択
同様に「Set LEDs when Buttons are not activated (not pressed).」の色を選択していきます。
3-3.ランダムの色設定
「Set Random Colors」の項目は色設定でランダムを選択した場合には必要っぽいですが今回はすべて色指定しているのでそのままスルー。
3-4.無操作状態の設定
「Idle Animation Settings」はレバーやボタンの入力がない場合の設定。デフォルトの数値でも良いと思います。
3-5.設定を終えたらジェネレート
内容に問題がなければ「Generate Your Kaimana Khamleon Code」をクリック。カスタマイズされたプログラムがダウンロードできます。
4.Arduino IDEを使ってプログラムを書き込む
4-1.Arduinoの設定
Kaimana Mini LED DriverとパソコンをUSBケーブルで接続します。接続時にドライバのインストールなどがあるかも。
次にダウンロードしたzipファイルを解凍。「panzer2kaimana.ino」を開きます。
Arduino IDEが起動したら「ツール」→「ボード」→「Arduino Leonardo」を選択。続いて「ツール」→「シリアルポート」→「COMx (Arduino Leonardo)」を選択(COMxのxは数字)。
もしこれらの項目がない場合はドライバが正しくインストールされていなかったり、接続に問題があります。別のUSBケーブルにしたら正常に機能した、なんてこともありますが、適当にググって解決してください。
4-2.プログラムの修正、書き込み
設定を終えたら「スケッチ」→「検証・コンパイル」をクリック。最新版のArduinoを使用していると「kaimana.h」でエラーが出ると思います。
この「prog_unit8_t」という記述でエラーが出るので、この部分を「unit8_t」にします。合計2箇所修正したら改めて「スケッチ」→「検証・コンパイル」。
エラーが出ずにコンパイルが正常に終了したら「スケッチ」→「マイコンボードに書き込む」をクリックすると書き込みが開始されます。問題なければ10秒程度で書き込みが終了します。
書き込みが完了すると数珠つなぎにしたLEDが点灯されるはずです。書き込みが完了しているのにも関わらず点灯しない場合は各コネクタの接続を確認してみてください。なお、点灯したLEDを直接見ると明るすぎて目に悪影響ありそうなのでご注意を。
4-3.JOYSTICK用にプログラムを修正
先に書いたとおり、今進めているのはHITBOX用のプログラム。これをJOYSTICK用に設定してきます。数珠つなぎにしているLEDは最終的にK4,K3,K2,K1,P1,P2,P3,P4,SELECT,HOME,STARTという順番で取り付ける前提で進めます。
Arduino IDEの画面から「kaimana_custom.h」を選択。
「//LED INDEX」の以下の項目部分を確認。
//LED INDEX #define LED_UP 0 #define LED_UP_B 1 #define LED_K1 2 #define LED_K1_B 3 #define LED_K2 4 #define LED_K2_B 5 #define LED_K3 6 #define LED_K3_B 7 #define LED_K4 8 #define LED_K4_B 9 #define LED_P4 10 #define LED_P4_B 11 #define LED_P3 12 #define LED_P3_B 13 #define LED_P2 14 #define LED_P2_B 15 #define LED_P1 16 #define LED_P1_B 17 #define LED_RIGHT 18 #define LED_RIGHT_B 19 #define LED_DOWN 20 #define LED_DOWN_B 21 #define LED_LEFT 22 #define LED_LEFT_B 23 #define LED_SELECT 24 #define LED_SELECT_B 25 #define LED_HOME 26 #define LED_HOME_B 27 #define LED_START 28 #define LED_START_B 29 #define LED_COUNT 30
この部分の項目を以下のように書き換えます。
//LED INDEX #define LED_UP 0xFF #define LED_UP_B 0xFF #define LED_K1 6 #define LED_K1_B 7 #define LED_K2 4 #define LED_K2_B 5 #define LED_K3 2 #define LED_K3_B 3 #define LED_K4 0 #define LED_K4_B 1 #define LED_P4 14 #define LED_P4_B 15 #define LED_P3 12 #define LED_P3_B 13 #define LED_P2 10 #define LED_P2_B 11 #define LED_P1 8 #define LED_P1_B 9 #define LED_RIGHT 0xFF #define LED_RIGHT_B 0xFF #define LED_DOWN 0xFF #define LED_DOWN_B 0xFF #define LED_LEFT 0xFF #define LED_LEFT_B 0xFF #define LED_SELECT 16 #define LED_SELECT_B 17 #define LED_HOME 18 #define LED_HOME_B 19 #define LED_START 20 #define LED_START_B 21 #define LED_COUNT 22
ちなみにこのLED INDEXの項目は接続しているLEDの順番の指定です。0xFFはOFF(=使用しない)を意味します。
修正後改めて「スケッチ」→「マイコンボードに書き込む」でプログラムを書き込みます。これでLEDの設定は完了です。USBケーブルを取り外します。
各ボタンの色の指定は「kaimana_custom.h」にあるので適宜いじってみて色々と試して最適な色を見つけてください。
5.アケコンに取り付け
ここまでくればあとはもう難しいことはありません。先程書いた取り付け順(K4,K3,K2,K1,P1,P2,P3,P4,SELECT,HOME,START)に合わせてボタンの裏側にLED用の基板を取り付けホットボンドで固定(ホットボンドは諸々確認後の方が良いかも)。
Kaimana Mini LED DriverをUFBに取り付けたら動作確認。写真では外れていますが数珠つなぎのLED用基板ももちろん繋いだ状態にします。
UFBにUSBケーブルを接続し、PCなりゲーム機と接続します。
問題なければLEDが点灯。各ボタンを押して設定した色に変わることを確認。特に問題なさそうであればこれで完了です。文字で説明すると難しそうに感じてしまうかもしれませんが、やってみるとそれほどの難易度ではないと思います。
それでは良きアケコンライフを。