前回、ヴイストン株式会社のロボット専用コントローラー(VS-C1)を買ったので、VS-C1の受信機をUSB変換器でパソコンに繋いでみましたが、

今回は、VS-C1の受信機をArduinoに繋いでみました
Arduinoは検索すれば対外のものは誰かがやってるので、PS2コントローラのライブラリーも自分で作らなくてもあります。
今回は、Eric Wetzelさんの作られたPS2 controller Arduino LibraryのPS2X_libを使って、そのサンプルスケッチがVS-C1で動かせるかを試してみました

PS2X_libのダウンロードとインストール
- ここのページ からPS2X_libをダウンロード、解凍して、
- Arduinoの環境設定のSketchbook locationに指定してるフォルダにlibrariesというフォルダを作って、そこにPS2X_libフォルダを入れる
VS-C1とArduinoの配線
ここのページ では、どう配線するのかいまいち分かりにくいですが、サンプルのスケッチで、
error = ps2x.config_gamepad(13,11,10,12, true, true);
//setup pins and settings: GamePad(clock, command, attention, data, Pressures?, Rumble?) check for error
となっていましたので、これに合わせて以下の図のように配線しました。
動かしてみた
- サンプルスケッチをArduinoへ転送し、
- シリアルモニターで、ボーレートを57600baudに設定し(※スケッチのSerial.begin(57600);の数値と合わせる)
- 上手く接続できていれば、「Found Controller...」と表示されます

- 実際にボタンなどを押してみると、値が表示されます

※アナログスティックの辺りが仕様が異なっているかもしれません。S1ボタンを押したままアナログスティックを動かすと値が取得できます。とりあえず値は取得できるのでプログラミングでなんとかなるように思います。【追記】ソースを見たら、そういうプログラミングになってました
今日はここまで
兎に角、VS-C1+Arduinoで簡単に無線制御できることはわかったので、一安心です
ロボゼロに簡単に載っけられるといいんですけどねぇ〜
----------------

にほんブログ村
最近のコメント