迷路用に改変した、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 installserialPortのみの変更で動くはず。
  serialPort: "COM4",Spheroのシリアルポートにしておく。 シリアルポートの取得はこちらを参照。