見出し画像

DAOコン用INFINITAS化基板をSDVXに流用することを考える

まえがき

DAOコンをINFINITASに対応させるために作成した基板を眺めてたときに「この基板、ボタンを11個繋げられるなら、Pop'n専コン(9ボタン+スタート/セレクト想定)を自作するのにも使えるな~」なんて思ってたけど、じゃあもう少し工夫すればボルテ専コンにも使えるのでは?とぼんやり思ったのでメモ。


自作したDAOコン(IIDX)用のINFINITAS化基板

この記事に書かれている内容

  • SDVX純正コンパネの仕様

  • 現状の基板の仕様と、修正が必要な箇所

SDVX純正コンパネの仕様について

下記の記事を参考にしています。

↑ボタンについてはこちらが詳しい

↑ツマミについてはこちらが詳しい

↑Arduinoでの実装についてはこちらが詳しい

①ボタンについて
ボタン本体はOBSA-LHS1F-LNを使用。コネクタはNHの4pinを使用。ピン配置は上からLED+, LED-, N.O., COMの順。NHコネクタはAliExpressでは(パチモノ含め)見当たらなかった。秋月電子、楽天、モノタロウあたりであれば、買えそう。ピンはSMコネクタと共通のようで、ピンだけであればAliExpressで購入可能。送料を考えつつ最適な選択を取りたいところ。
「ボタン本体」と書いたが、実際には「スイッチ一体型のランプホルダー」であり、従来のマイクロスイッチ (カチカチ鳴る金属接点)とLEDのソケットが合体した上で4pin接続が可能になった方式の模様。平型圧着端子が不要。かなりアドいな…。



②ツマミについて
センサー部分はELV-24X35B-Kを使用。コネクタはZHの3pinを使用。こっちはAliExpressで圧着済みハーネスが入手可能。磁気センサを用いた非接触式のポテンショメーター。非接触式ということは接点が無いため、接点不良が発生しない(小泉構文)。耐久性の面では断然有利。いわゆる「ガリノイズ」も発生しないと思われる。ただ、中に磁気を読み込む半導体が入っているので、その分お値段は高め。よくできてるなぁ。ソフトウェア処理上はX軸循環として扱うことになるため、IIDXのロータリーエンコーダーと同じように振る舞う。よくできてるなぁ(2回目)。


現状の基板の仕様と、修正が必要な箇所

①ボタンについて
回路変更は不要。ボタンの数もIIDXより少ないので問題なし。
自作基板のボタン部分は4pinで設計しているが、実際にはLED-端子とNO端子が共通になっていて、NO端子がCOM端子経由でGNDに落ちたときにLED+からの5V給電でLEDが点灯、Arduinoに0が入力されるようになっている。下図参照。

自作基板のボタン発光回路

おそらく、OBSA-LHS1F-LNについても同様の設計でいける。この回路のメリットは、マイコンのピン数が低減可能であること。デメリットは、マイクロスイッチにLED駆動用の電流を通すことになるため、マイクロスイッチの接点が不良の場合にLEDがチラつくこと。

②ツマミについて
ハード、ファームともに変更が必要。

スクラッチのセンサー(ロータリーエンコーダー)は4pinだったが、ツマミのセンサー(ポテンショメーター)は3pin✕2になる。SDVXとIIDXの両方に対応するためには、コネクタの追加が必要。

自作基板では、ロータリーエンコーダーの入力として、ピン割り込みが可能なPB4,5を使用していた。それらのピンは、AD変換の入力ピンとしても使用することができるため、ツマミ2ch分の入力端子として使用できる。マイコンのピン配置自体は変更不要。

スクラッチのセンサーはパルス(ゼロイチ)の入力だったが、ツマミのセンサーはアナログ電圧の入力に変わる。ロータリーエンコーダーの割り込み処理が不要な代わりに、2ch分のアナログ信号を読み込むAD変換が必要になる。(AVRマイコンのAD変換に掛かる遅延ってどんなもんなんだろ…。)

参考情報。
ツマミのセンサー部は供給電圧がDC5Vで、出力がフルスケールで+5Vまで出る設計となっているため、5Vのアナログ電圧が入力可能なArduinoを選択する必要がある。自作INFINITAS化基板の場合も、ロータリーエンコーダーを5Vで駆動し、5Vのパルスを受けるため、Arduinoは5V品を使用しなきゃいけない…が、今までコンバーター用に大量に購入していた3.3V品をそのまま流用していた(この記事を書いてる最中に気づいた)。Arduinoの入力電圧の定格をオーバーしていなければ多分大丈夫。

さいごに

SDVXのコンパネ入手して回路修正して発注してファーム実装したらこの記事を更新すると思います。それ以外にも何か気づいたら更新します。

いいなと思ったら応援しよう!