ロジクール ドライビングフォース シフター LPST-14900を独立USB化してPCで使う改造
の#3です。
必要な機材等を紹介した#1はこちら。
配線処理を行った#2はこちら。
今回の#3では実際にドライビングフォースシフターと#2で作った接続装置そしてPCを繋ぎ、独立USBシフターとして使うところまで進めます。
今回で完結編です。
改造に使うドライビングフォース シフターはこちらです。
Arduino LEONARDOにプログラムを書き込む
参考先の紹介、作業の流れ
#2で触れましたように、改造自体はこちらの動画を参考にして進めていきます。
ただ、今回#3で取り扱う範囲は動画内では割とあっさり終わっており、
Arduinoを全く知らない人にはちょっと厳しい内容になっています。
ここが一番重要なのですが…( -_-)
以下、管理人が調べまくった&試行錯誤して作業した内容をベースに説明していきます。
大まかな作業の流れは次のようになります。
- Arduinoの統合開発環境、Arduino IDEを導入
- ジョイスティックとして認識させるためのライブラリを導入
- ドライビングフォースシフター用のプログラムを書き込む
- 実際にPC上で信号入力をチェック
です。
では進めていきましょう( ‘ω’ )و
Arduino IDEの導入
Arduinoにプログラムを書き込むためには、統合開発環境であるArduino IDEが必要となります。
IDEは無料で手に入ります。
IDEはこちらの公式サイトのページで入手できます。
このような画像の箇所
がページ内の上の方にあると思います。
画像内の赤枠で囲ったインストーラーバージョンをダウンロードしてください。
Zipとかアプリ版もありますが、
そちらについて私は何も分からないので今回はパスします(・_・)
インストーラーをローカル環境にダウンロードしたら
そのファイルを実行してインストール作業を行っていきます。
ここで注意点が。
途中でIDEをPC内のどこにインストールするか尋ねられると思います。
その際デフォルトで示されるCドライブ下のパスにそのままインストールしてください。
色々ネットで調べた所、デフォルトのパス以外にインストールすると、なぜかうまく動かない事があるようです(´・_・`)
その理由は分かりません。
IDEのバージョンで挙動が違うのかもしれないし、実は都市伝説で本当はどこに入れても動くのかも。。。
けれども余計なトラブルを避けるためにも
デフォルトパスにそのままインストールしましょう。私もデフォルトパスにそのままインストールしました。
無事に作業が終わったらデスクトップにこのようなアイコンができていると思います。
さっそくIDEを起動してみましょう。
こんな感じで起動すればOKです。
※表示されている文字等は初回は異なると思います。
ここで一旦IDEは終了させてください。
USB変換機器を接続し詳細をチェックする
次に#2までで作成したドライビングフォースシフターUSB変換機器(以下USB変換機器とします)にUSBケーブルを繋ぎます。
まだドライビングフォースシフターは変換機器に接続しないでください。
シフターを繋いでいない状態の変換機器のみをUSBケーブルでPCに繋ぎます。
次にコントロールパネル→デバイスとプリンターの画面を開きます。
こちらに画像のようにArduino Leonardoという名前で機器が表示されていると思います(人によってアイコンは異なるかも)。
Arduino Leonardoのアイコンをダブルクリック、あるいは右クリックからプロパティを表示させます。
「ハードウェア」のタブを選んで情報を表示させてください。
画像で赤線を引いているように、接続したArduino LeonardoがCOMポートの何番を使っているかをチェックします。
画像ではCOM5となっていますが、ここは人によって異なると思います。
何番になっているか数字をメモしておきましょう(後で必要になります)。
番号を把握したら、OKを押してプロパティ画面を閉じ
デバイスとプリンターの画面も閉じて大丈夫です。
Arduino IDEにジョイスティック認識ライブラリを導入する
元動画のYoutubeページを見ると、
詳細説明欄にこのような箇所があります。
赤枠で囲った箇所にSketch(スケッチ)とLibrary(ライブラリ)というものがあります。
これらが今回のUSB変換器を機能させるため、Arduinoのボードに書き込むプログラムファイルになります。
それぞれの配布ページへのリンクはこちらです。
スケッチ
ライブラリ
大事なのは
- ライブラリのファイルをIDEに適用させ
- その上で、スケッチのコードをArduinoに書き込んであげる
という作業の流れです。
「ライブラリが持つ機能を活かした上でプログラムコード(スケッチ)を書き込む事によりArduinoがUSBシフターとしてドライビングフォースシフターを動かしてくれる」
という理解で良いかと思います。
※細かい事は私も分かりませんのでもっと知りたい方は専門書などでご確認を(・_・)
IDEにジョイスティックライブラリを反映させる
ということで、まずは最初にライブラリをIDEに適用させます。
ライブラリが置いてあるページ
へ行き、
画像赤枠のClone or downloadの箇所からファイルをダウンロードします。
ダウンロードしたファイルを解凍すると
ArduinoJoystickLibrary-master
というフォルダがあり、その中は次の様になっていると思います。
※README.mdファイルに書いてあるとおりに作業をすればいいだけなので、一度目を通しておくのをオススメします。
この中にJoystickフォルダがあります。
これをフォルダごとコピーし、PCのDocumentフォルダ下のArduinoフォルダへ行きlibrariesというフォルダの中に放り込みます。
パスは
ドライブ名:\Document\Arduino\libraries
です。
このような感じになります。
この状態にしたらIDEを立ち上げて、ライブラリが反映されているか確認します。
IDE起動後、スケッチ→ライブラリをインクルードの項目を開きます。
表示されるリストの中にJoystickがあればライブラリが反映されています。
表示されていればそれでOKなので、何もする必要はありません。
IDEはここで一旦閉じます。
ドライビングフォースシフター用のプログラムを書き込む
先程のライブラリをダウンロードしたページに、どういったスケッチ(プログラムコード)を書けばいいですよというサンプルが載っています。
Arduinoに詳しい方はそこの記述を参考にしてコードを書けばよいのですが、
よくわからない場合は元動画製作者様の作ったスケッチをそのまま使わせていただきましょう(-人-)
スケッチのダウンロードページへ行きます。
先程のライブラリの時と同様にダウンロードします。
解凍するとLOGITECH_USB_ADAPTER-masterというフォルダが出来ます。
中身はこんな感じ。
Logitech_Shifter_USBフォルダを開くと
Logitech_Shifter_USB.ino
というファイルがあります。
こちらをダブルクリックしてIDEを起動します。
IDEの白いタブの箇所にLogitech_Shifter_USBと表示されていることを確認してください。
次にツール→ボードを見て、Arduino Leonardoを選択。
同様にツール→シリアルポートを見て、COM5を選択。
※ここのCOM番号は人によって異なると思うので、先程接続チェックした際のポートを選んでください。
ボード、シリアルポート共に必ず正しいものを選んでいることを確認しましょう。
ここを間違えるとうまく動きません…( -_-)
次に念の為プログラムコードをコンパイルしてエラーが無いか確認します。
IDEの画面にあるチェックマークのアイコンをクリックします。
色が黄色に変わってコンパイルが行われます。
紹介したリンクからファイルをそのまま持ってきていればここで何もエラーは出ません。
万が一エラーが出た場合は何かがおかしいので、
IDEを一旦閉じ、ライブラリ、ボード、ポート等の確認を含めて再度作業を行ってみる、
あるいはそれでもダメならスケッチを再ダウンロードしてみるなど試してみましょう。
コンパイルが無事に終わればこのような表示になると思います。
次にいよいよ、コードを実際にArduino Leonardoに書き込みます。
先程コンパイルをしたチェックマークの横に矢印のアイコンがあります。
ここをクリックするとプログラムの書き込みが行われます。
処理には少し時間がかかりますので、しばらく待ちます。
書き込みが完了すればこれですべての作業は終了です。
おつかれさまでしたm(_ _)m
実動作のチェックに入る前に、IDEを閉じ、変換器をUSBポートから外してください。
実際にUSBシフターとして動くかチェックする
作業そのものは既に完了しました。
実際にドライビングフォースシフターが独立してUSBで動くかチェックしてみましょう。
変換器にシフターを接続した後、変換器をUSBでPCに繋ぎます。
こんな感じです( ‘ω’ )
PCのデバイスとプリンター画面を表示し、
Arduino Leonardoのアイコンを右クリック→ゲームコントローラーの設定を選択。
表示されたウインドウの中から、Arduino Leonardoを選択し「プロパティ」をクリックします。
表示されたプロパティ画面の「ボタン」の箇所を見ます。
シフターを1速→6速まで入れていくと速度に対応したボタンの1~6の数字の箇所が点灯します。シフトがニュートラル状態になれば消灯します。
シフターを押し込むと8が点灯します。
多くのゲームではリバース(R・バックギア)の機能に使います。
この8の点灯、押し込んだタイミングで入ってしまうのですが
元動画を見てもどうやらそういう仕様っぽいんですよね…。
実際には押し込み→6速の箇所に入れたタイミングで8が点灯してくれるのが望ましいのですが、提供されたスケッチのコードではそうはなってないようです。
コードをif文か何かで少し改造すればできそうな気もしますが、
それくらいは改造者様もきっと理解してるはずなので、
入力信号を取るのが難しいのかもしれません…。
ここは後で自分でコードをみて修正にチャレンジしてみたいと思います(´・_・`)
このプロパティ画面を見ながら何度かシフターを動かしてテストし、問題がなければ完了となります。
#3まとめ プログラム書き込み前の確認が大事
ということで、3回に渡ってお送りした
ロジクール ドライビングフォース シフター LPST-14900を独立USB化してPCで使う改造
でした。
作成後、実際にETS2で使ってますがバッチリ、シフトチェンジが機能します(・∀・)
他社製品のシフターに比べると比較的安価なドライビングフォース シフター LPST-14900を使い、更に改造にかかる費用も1,000円ほどなので
トータルでも手頃な価格で独立USBシフターが手に入るかと思います。
注意してほしいのは今回の改造で作ったシフターをハンコンと併用する場合は、
複数のコントローラーを使えるPCゲームでないと機能しない
点。
多くのPCレーシングゲームやシミュレーターが複数コントローラーに対応していると思いますが、
WRCシリーズの過去作では複数対応していないものがあるという噂を聞いたことがありますので、
もし今回紹介した改造をしてみようかなぁという時は事前に使いたいゲームの環境を調べた方がよろしいかと思います(・_・)
それでは長い間お付き合いいただきありがとうございました。
USBシフター入手の手助けになれば幸いです。
それでは( ゚д゚)ノ