迷路用に改変した、Sphero-Auto-Pilot。
本家はこちら。
シンプルバージョンはこちら。
※○○
関数はmain.js内の関数とします。
- ひたすら前進します。(
roll
関数にて) - ぶつかったときの2回に1回(コースの都合上)、
changeDegree
関数を呼び出し、時計回りに270°回転します。そして1に戻ります。(collision
関数にて) - ただし、5秒間ぶつからなければ(2回に1回でなくても)、
changeDegree
関数を呼び出し、180°270°回転します。(refresh
関数にて)
ゴールしたなどの判定は人力です。Spheroで計測する方法はないので・・
gキーを押すとゴールしたということにし、接続されてからの経過時間をconsole.log
します。(keyPress
関数にて)
わかりやすいように、ぶつかったときにSpheroの色を0.25秒かえたり、
console.log
出力したりしています。
- Spheroの設定やスピードなど: config.jsで設定
- バッテリー情報を取得する(バッテリーの容量が少ないからこまめにチェック): powerState.js
- 接続されてからの時間を取得する: timer.js
Keypress
の初期化など: keypressManager.js- それらをまとめる: main.js
npm install
serialPort
のみの変更で動くはず。
serialPort: "COM4",
Spheroのシリアルポートにしておく。 シリアルポートの取得はこちらを参照。