はじめに
Xbox360コントローラーを使ってmindstorm-EV3のモーターをコントロールします。
EV3で動くLinux環境ev3devを使って開発します。この記事は、EV3にev3devをインストールし、SSH接続できている状態であることを前提にしています。
環境構築ができていない方はこちらの記事を参考にしてください。
mindstorm-EV3をLinuxで制御しよう! ev3dev OSのインストールととSSH接続
環境
- mindstorm-EV3
- PC : Ubuntu 15.04
- ev3dev (ev3dev-jessie-2016-10-17)
PCはJavascriptが動けばよいのでUbuntuである必要性はありません。
必要なもの
- Xbox360コントローラー
今回作るもの(動画)
前進、左右旋回、ボール発射の動きができるシンプルなロボットです。
右トリガーを押すと右旋回、左トリガーを押すと左旋回、Bボタンを押すとボール発射します。
(クリックで動画再生)
仕組み
ev3dev上にnodejsでWebサーバーを立てます。PC上で取得したXbox360コントローラーの入力をWebサーバーに送信することでラジコンを実現します。
機体の準備
駆動部
右前輪駆動LモーターをインテリジェントブロックのAポートに、左前輪駆動LモーターをBポートに接続します。
発射部
ボール発射機構に使うMモーターをCポートに接続します。
動かし方
1 nodejsのインストール
sudo apt-get update
sudo apt-get install nodejs
2 リポジトリからクローン
git clone https://github.com/muro-tani/xboxEv3Tank.git
cd xboxEv3Tank
sh motorSetup.sh //接続されているモーターのファイルパスを初期化
nodejs app.js //実行
3 Xbox360コントローラーをPCに接続
4 ブラウザを立ち上げてhttp://ev3dev.local:3000/にアクセス
5 操縦方法
右トリガーボタンを押している間、右旋回。左トリガーボタンを押している間、左旋回。
右トリガーボタンと左トリガーボタンを同時に押している間、前進。
Bボタンを押すとボール発射
というようにプログラムされています。