Project DIVA Arcade FTの本物アケコンをPS4に繋いだときのメモです。
※画像はクリックでだいたい拡大します
■作成物概要
・DualShock4を1台生け贄にします。以下DS4。
・コンパネの△□×○はそのままPS4の△□×○として繋ぎます。
・タッチスライダーはDS4のタッチパッドとして認識させます。
・PS4のその他ボタンはコイン投入口付近に設置します。
・DS4はCUH-ZCT1J(JDM-001基板とJDM-030基板)で確認しています。その他形式は不明です。タッチセンサーがMXT112Sならおそらく同様です。
・DS4引き出し部(写真白箱)と、コンパネIF部(写真黒箱)に別けて作りました。
■作成詳細(ハーネス部)
コンパネとIF部を接続するためのハーネス。
アケコンは純正ハーネス(BRK-60301)付き前提。
■部品
JST YLR-16V | 1 | ボタン系コネクタ |
JST YLR-08V | 1 | LED制御系コネクタ |
JST BYM-01T-P0.5A | 14 | YLコネクタ用コンタクト |
JST SMP-05V-BC | 1 | スライダー制御系コネクタ |
JST SMP-03V-BC | 1 | ヘッドホン端子用コネクタ |
JST BHF-001T-0.8BS | 6 | SMコネクタ用コンタクト |
2x8qiコネクタオス | 一式 | PS4ボタン部コンパネ側 |
2x8qiコネクタメス | 一式 | PS4ボタン部IF側 |
2x2qiコネクタメス | 一式 | SM05の反対側 |
2x4qiコネクタメス | 一式 | YL16の反対側 |
2x3qiコネクタメス | 一式 | YL08の反対側 |
D-Sub15オス | 一式 | ここでコンパネ部→IF部の結線変更。 |
D-Sub15メス | 一式 |
3.5mmステレオミニプラグ | 1 | 完成品の延長コード切って作る方が楽 |
■結線
・ボタン系ハーネス
YLR-16V | qi 2x8 | 備考 |
2 | 1 | +5V |
3 | 2 | START(未使用) |
8 | 6 | △ |
9 | 5 | □ |
10 | 4 | × |
11 | 3 | ○ |
15 | 7 | GND |
16 | 8 | GND |
・LED制御系ハーネス
YLR-08V | qi 2x3 | 備考 |
1 | 1 | +12V |
2 | 2 | +12V |
5 | 6 | LED△ |
6 | 5 | LED□ |
7 | 4 | LED× |
8 | 3 | LED○ |
・スライダー制御系ハーネス
SMP-05V | qi 2x2 | 備考 |
2 | 3 | RXD(IF側基準) |
3 | 1 | TXD(IF側基準) |
5 | 2 | GND |
・PS4ボタン用ハーネス(コンパネ側)
qi 2x8 | D-sub 15 | 備考 |
1赤 | 8 | R3 |
2茶 | 7 | R2 |
3黄 | 14 | PS |
4橙 | 15 | Touch |
5青 | 3 | down |
6緑 | 11 | L3 |
7灰 | 5 | right |
8紫 | 1 | GND |
9黒 | 4 | left |
10白 | 1 | GND |
11赤 | 10 | L2 |
12茶 | 2 | up |
13黄 | 12 | Share |
14橙 | 9 | L1 |
15青 | 6 | R1 |
16緑 | 13 | Option |
※PS4ボタン部のメスコネクタと中継する都合、表裏が逆になるので注意。
同じ色同士を繋ぐように作ると誤接続が減るかもしれない。
・PS4ボタン用ハーネス(IF側)
D-sub 15 | qi 2x8 | 備考 |
1 | 1 | GND |
1 | 2 | GND |
2 | 3 | up |
3 | 4 | down |
4 | 5 | left |
5 | 6 | right |
6 | 7 | R1 |
7 | 8 | R2 |
8 | 9 | R3 |
9 | 10 | L1 |
10 | 11 | L2 |
11 | 12 | L3 |
12 | 13 | Share |
13 | 14 | Option |
14 | 15 | PS |
15 | 16 | Touch |
・ヘッドホン端子用ハーネス
SMP-03V | ステレオミニ | 備考 |
1 | 1(先端) | L |
2 | 2 | R |
3 | 3(根元) | GND |
■作成詳細(PS4ボタン部)
コンパネの料金表示パネルとコイン投入口パーツを外して、PS4ボタン一式を取り付ける。
コンパネのコイン投入口は2列qiコネクタがぎりぎり通るサイズなので、
先に作ってからコンパネに取り付け可能。
印刷したラベルはダイソーの手張りラミネートフィルムを貼っておくとちょっとだけかっこいい。
■部品
タクトスイッチ12mm x 12mm | 14 |
2x4qiコネクタメス | 2 |
cadデータ
ラベル
■回路図
この通り配線を引き回すと綺麗に収まります。
■mcs
・お試し版(連続使用時間30分限定)。
evalution.zip
・フル版
有償です。希望者はご相談下さい。
ソースコード提供は(糞ソースすぎるので)無し。
■おまけ
・動作確認用ds4のタッチスライダー状況を表示するツール
usbhidtest.zip
VID_54c&PID_5c4(CUH-ZCT1J?)
VID_54c&PID_9cc(CUH-ZCT2J?)
で動くはず。
・MXT112Sのプロトコル
MXT112S.zip
・タッチスライダーのプロトコル
概要
[FF] [コマンドコード(1byte)] [実データレングス(1byte)] [実データ(可変長)] [sum(1byte)]
※sumは全バイト足すと下位8bitは00。FDの時だけその後にFCも送信
※(tx)ff1000→(rx)ff1000→(tx)fff000→(rx)fff012....fdfc→(tx)ff0300→(rx)ff0120....→(tx)ff09020000→(rx)ff0900→(tx)ff0a0100→(rx)ff0a00→(tx)ff02613f....の順
詳細
別ページ
■保守関連情報
・スライダーフィルム
液晶保護フィルム(反射防止) エレコム EF-M23W https://www2.elecom.co.jp/products/EF-MF23W.html
494mm×38mmにカットして、角を落とす(φ3mm?)。7枚作れるはず
本物より滑りがいい気がする。
綺麗に作るなら、
かどまる http://www.sun-star-st.jp/private_brand/kadomaru.html
とか良さそう(未確認)。
■その他
・あえて引き出し部とI/F部を分けて作ったのは、ツインスティックとかアーケードスティックとか、
なんかそのほかのコントローラーでも似たような物作るときに便利かなーとか思ったりなんかして。
一体で作るときは、外付け3.5インチHDDのケースとかに組み込むと、
USB端子とか電源端子とか最初から付いてて、しかも12Vと5Vの電源も内蔵されてるし、
大きさ的にもちょうどよさそうかななんて思ってたり。
・12Vの電源が安定しないと、タッチスライダーの誤認識が発生する模様。
HDD-USB変換アダプタとかに付いてくる安物のACアダプタだと、ちょっと負荷かけただけで電圧ドロップしたりして、
上手くいかない奴とかありました。
・5Vからダイオードで電圧降下させてDS4のバッテリー代わりに電源供給してるので、ダイオード1個で0.7Vくらいドロップしたりすると、
それだけで5-0.7x2=3.6VとなってDS4のバッテリー残量無し切断ぎりぎり。
3.4Vくらいで切断されるようだ。
なので安物のACアダプターだと(略)。
本当はきちんと定電圧回路で3.7V作ってDS4のバッテリー代わりに供給した方がいいかもね。
DS4のD+/D-をリレーなどで切断して、ACアダプタ側からUSBに5V供給と同時にD+/D-を接続する方法もあるかもしれない。
それだとFPGAのコンフィグと同時になるので、間に合わないかもしれない。
・というわけで電源は12V単一入力にして、ダイソーとかで売ってる車載用USB充電器とかばらして12V→5VのDD乗せた方がいいかも。安定性謎だけど。
・デバッグシリアルはタイムコード付きでボタン操作のログ送信と、外部からのボタン操作ができるようになっている。PNP Tr使えばFPGA経由しなくてもLED制御できるんだけどFPGA経由してるのはこういう理由。
・SPDIFの入出力を付けて、スタートボタン押しながらスライダー操作とかでボリューム調整できるようにしたいなとか。遅延1サンプル以内でいけるはず。
・ぶっちゃけ、スライダー→I2Cの変換はFPGAなんて使わなくても、Arduinoとかで十分速度足りると思う。
・I/F部は34pinのL型コネクタ付ければわざわざ延長しなくてもいいんじゃないかという気がしてきた。
・ホリの専コンのスライダーの専用モードのお話。
質問はtwitter:@r_y_u_nへどうぞ。