SSブログ

DSAir2用に適当な電車でGo!のUSBスロットルを作る [DSAir]

 さて、前回に続いて、今度は、DSAir2用のUSBスロットルの中で、電車でGo用を作ります。
 電車でGo用のスロットルですが、おそらく、現状で、DSAir2に繋ごうとすると以下が考えられます。
1、S88のDSJOYプロトコルを使った方法(S88部分にS88_Masconとかをつなぐ)。未検証らしい。(私も未検証)
2、ESP32経由でDSAirに直接命令を送る方法。(あやのさん)
3、OneCoinController(あやのさんPS版)のマイコンをArudinoNanoからArudinoMicroに換装して、適当にスケッチも変えて、スマホに繋ぐ。(これでやってしまえれば、今回私がやっているのとまったく同じものができます)
辺りだとは思います。
 で、今回は、DSAir2のWebアプリのKeyboardに適当なテキストを送って、動かすという方法を試してみます。上記方法とのコンセプトの大きな違いは、スピードメーターを近くに置く。、電車でGo!コントローラを使うのに、タブレットのバッテリーを使うため、電源要らず。(何分持つのか知らないけど)ぐらいでしょうか?
 やらなければいけないことは、
1.PS2コネクタとArduinoProMicro(700円ぐらい)を買ってきてつなぐ。(ArduinoMicroは高価(2000円)なので却下)。ファンクションはタッチパネルから操作したいので、10インチぐらいのタブレットも買っておく。(PCでもOK)
2.適当なスケッチをつくる。
3.DSAir2のWebアプリを改造して、スピードを絶対値で入れられるようにする。
4.必死にデバッグする。
5.余力があったら、基板化する。

1、<材料をそろえて、組み立て。>
 まずは材料です。PS2コネクタは昔買ったS88_Mascon用があるので、それを使います。2.54mmピッチ変換基板もパネライズして注文したら、一生分あるので、何の問題もありません。気軽に調達したい人はあやのさんの頒布が良いかと思います。ArduinoProMicroは安いものがaitendoに売っています。高級なものが欲しい方はスイッチサイエンスでどうぞ。
 あとは、ブレッドボードとジャンパピンですが、秋月に行けば、沢山あると思います。
部品は勢ぞろいでこんな感じです。
re_DSC02883.jpg

 で、これをつなぎます。写真で言うとこんな感じです。
re_DSC02886.jpg

 図面ではこうです。(6本線をつなぐだけなのでスカスカです)
Mascon2kbd_K0.PNG

2.<スケッチを作る>
 今回、あまり考えずにArduinoスケッチ側で、加速や減速をしたときのスピードを計算して、その絶対値のスピードをDSAir2のWebアプリに送るようにしました。DSAir2用のウェブアプリにはスピードを絶対値で受け取る機能はないため、適当にプロトコルを決めました。

 PXXXX:XXXXは0~1023で文字です。値が変わったときは約0.2秒のインターバルで送られます。

 最初は、SHIFT,CTRL,ALTとの複数組み合わせ+キーコードを考えたのですが、どうも、PCでデバッグをすると、どの組み合わせでも不思議なポップアップや、Window消えなどが発生するため、やめました。今後どういうショートカットが登場するかもわかりませんし。次に、掲示板のほうでやすひろさんがおっしゃっていたマウスを使う方法については、私がWebアプリのJavaScriptのマウス部分の扱いがよくわかっていないので、今回は上記の複数文字による方法にしました。
 で、昔のS88_Masconや少し前のUSBスロットルを見ながら、スケッチを作りました。こちらです。
 なお、動作ですが、
・StartキーはFWD,REVの切り替え(”Z”キー)
・SelectキーはF0(”0”キー)
・AボタンはF1("1"キー)
・BボタンはF2("2"キー)
・CボタンはF3("3"キー)
スケッチを見れば簡単に変更できますので、気に入らない方は変えていただければと思います。

3.<Webアプリの改造部分はKeyboard.js>
 かなり汚い。ベタ書きですが、きっといつか誰かが美しくしてくれるでしょう・・・。変更はR2n TEST版から、keyboard.jsに少し追記しただけのこちらです。(Analogのほうは追記していないので動きません。改造はほぼ同じで行けると思いますが)

4.デバッグは結構大変でした。そして、毎度のことながら、電車でやらずにデコーダ開発ボードでやってしまいました。
re_DSC02887.jpg

 そして、Black Fridayで10インチぐらいのAndroid TabletがAmazonで10000円ちょっとで売っていたので衝動買いしてみました。1920*1200の解像度で液晶はとても見やすいです。なおYoutubeで1080pは処理落ちして、まともな動画は見られませんでした。720pでどうにかという感じですが、DSAir2のタッチパネルとしては申し分ありません。
re_DSC02884.jpg

 今回OTGケーブルは、少し前にRaspiZero用に買ったBuffaloのUSBHubを使用しました。問題なく使用できました。やっていませんが、このHubにFullキーボードを挿したら、ファンクションとかも使えるかしら?
 で、まあ、せっかくなので、動画です。デコーダはOpenSoundのMT54の近郊型です(操作方法が間違っているかもですが)。なお、スピードメーターがわりと滑らかに動いているあたりが見てほしい所です。(最初の1分ぐらいはスロットル動かしていません)
 こうなると、次は、スピードメーターのスキンをいじりたくなってくるんですよね。(昔作った奴を入れ込み直すだけだし。多分。


5.<基板化>
 基板のガーバーまで作りましたが、アクリルケースを作っているところで、力尽きたので、また今度考えようかと思います。部品は基板も入れて、驚異の3点です。
無題.png




コメント(1) 

コメント 1

Yaasan

改造ありがとうございます。DSair2の正式WebAppにも反映させていただきます。

だいぶパワーアップして嬉しい限りです。
速度以外もいろいろできそうですね!
by Yaasan (2019-11-24 19:34) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。