はじまりはビープ音

ドリームキャストのことを中心にゲーム関係の気になったことを書いていくつもりです。

ボタン連動でアケコンのLEDを光らせる「Kaimana Mini LED Driver」

f:id:pomegd:20200519210504j:plain

一昔前だと自分で回路組んであれやこれやとやっていたアケコンボタンのLEDカスタマイズ。光らせるだけならそんなに難しいこともないですが、ボタンと連動して「押したら色が変わる」ということも割と簡単にできるみたいなのでやってみました。自己責任。

1.用意するもの 

1-1.アケコン一式

言わずもがなです。

1-2.Kaimana Mini LED Driver & PCB 8 Button Kit

f:id:pomegd:20200605172008j:plain

今回の要となるパーツです。Paradise Arcade Shopで購入できます。リンク先はキットですが、それぞれ単品販売もされています。余談ですが、Paradise Arcade Shopの商品到着後、fedexから関税の支払請求書来ました。
なお、このLED用基板について、取り付けられるボタンの種類に制限があり*1昨今使われ始めてきたgamerfingerのボタン(銀軸とか呼ばれてるやつ)は取り付けることができません。

一応自作ですがgamerfingerでも取り付けられるLED用基板作ってみました。そのうちboothで取り扱うかも。

GamerFinger30mmハメ込みタイプ対応LED PCB「PM-GF30-LED」6個セット - ぽめらん - BOOTH(終売)

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個で設定していきます。

f:id:pomegd:20200519201601j:plain

写真では8個ですが最終的に11個にしてます。

3.LEDの色設定

(追記:2020年10月ごろに以下のサイトがクローズしてしまい、簡単にジェネレートすることができなくなりました。別の方法模索中。)

Arduinoのプログラムをイチから自分で書く必要はありません。どのボタンをどの色にするかを選んでいくだけでArduino用のプログラムとして吐き出してくれるサイトを使用します。

f:id:pomegd:20200519161741j:plain

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」を開きます。

f:id:pomegd:20200519170324p:plain

Arduino IDEが起動したら「ツール」→「ボード」→「Arduino Leonardo」を選択。続いて「ツール」→「シリアルポート」→「COMx (Arduino Leonardo)」を選択(COMxのxは数字)。

f:id:pomegd:20200519170519p:plain
f:id:pomegd:20200519170528p:plain

もしこれらの項目がない場合はドライバが正しくインストールされていなかったり、接続に問題があります。別のUSBケーブルにしたら正常に機能した、なんてこともありますが、適当にググって解決してください。

4-2.プログラムの修正、書き込み

設定を終えたら「スケッチ」→「検証・コンパイル」をクリック。最新版のArduinoを使用していると「kaimana.h」でエラーが出ると思います。

f:id:pomegd:20200519170731p:plain
f:id:pomegd:20200519170740p:plain

この「prog_unit8_t」という記述でエラーが出るので、この部分を「unit8_t」にします。合計2箇所修正したら改めて「スケッチ」→「検証・コンパイル」。

エラーが出ずにコンパイルが正常に終了したら「スケッチ」→「マイコンボードに書き込む」をクリックすると書き込みが開始されます。問題なければ10秒程度で書き込みが終了します。

f:id:pomegd:20200519170904p:plain

書き込みが完了すると数珠つなぎにしたLEDが点灯されるはずです。書き込みが完了しているのにも関わらず点灯しない場合は各コネクタの接続を確認してみてください。なお、点灯したLEDを直接見ると明るすぎて目に悪影響ありそうなのでご注意を。

f:id:pomegd:20200519201912j:plain

4-3.JOYSTICK用にプログラムを修正

先に書いたとおり、今進めているのはHITBOX用のプログラム。これをJOYSTICK用に設定してきます。数珠つなぎにしているLEDは最終的にK4,K3,K2,K1,P1,P2,P3,P4,SELECT,HOME,STARTという順番で取り付ける前提で進めます。

Arduino IDEの画面から「kaimana_custom.h」を選択。

f:id:pomegd:20200519172018p:plain

「//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用の基板を取り付けホットボンドで固定(ホットボンドは諸々確認後の方が良いかも)。

f:id:pomegd:20200519202111j:plain

Kaimana Mini LED DriverをUFBに取り付けたら動作確認。写真では外れていますが数珠つなぎのLED用基板ももちろん繋いだ状態にします。

f:id:pomegd:20200519202228j:plain

UFBにUSBケーブルを接続し、PCなりゲーム機と接続します。

 
 
 
この投稿をInstagramで見る

ぽめ(@pomegd)がシェアした投稿 -

問題なければLEDが点灯。各ボタンを押して設定した色に変わることを確認。特に問題なさそうであればこれで完了です。文字で説明すると難しそうに感じてしまうかもしれませんが、やってみるとそれほどの難易度ではないと思います。

それでは良きアケコンライフを。