ロボットを作りました(2)
BluetoothでPCやAndroidと繋がるロボットのハードが手に入ったので、とりあえずは簡単に動かすということを目標に2〜3日かけてソフトを作って見ました。大体の仕様は次のような感じ。
- Androidをマスター、ロボットをスレーブとしてBluetoothでペアリングして、SPPを使って通信を行う。
- Androidアプリはボタンを押すと、対応する1バイトのコマンドをロボットに送信する。
- ロボットはメインループの先頭でシリアル受信バッファを確認して、受信内容に応じた処理を実行する。
- コマンド処理の実行後、現在の状態をシリアル送信バッファに書き込み、Bluetoothモジュールを通してAndroidに送信する。
- Androidはデータを受信すると内容を解析して操作ボタンの状態に反映する。
- コマンドは、前進、後退、右旋回、左旋回、停止、スピードアップ、スピードダウン。
- 動作方向は駆動輪の方向で設定。
- スピードは10段階でPWMの出力を変更することで実現。
- ロボットの状態は、「(方向1バイト),(スピード1バイト)」の3バイトで定義。
これを、AndroidのBluetoothChatサンプルアプリと、BeautoRoverのシリアル通信/モーター駆動サンプルアプリを元に改造して作ってみた。まーまー、簡単にできたほうかも。しれない。