ロボットを作りました(2)

BluetoothでPCやAndroidと繋がるロボットのハードが手に入ったので、とりあえずは簡単に動かすということを目標に2〜3日かけてソフトを作って見ました。大体の仕様は次のような感じ。

  • Androidをマスター、ロボットをスレーブとしてBluetoothでペアリングして、SPPを使って通信を行う。
  • Androidアプリはボタンを押すと、対応する1バイトのコマンドをロボットに送信する。
  • ロボットはメインループの先頭でシリアル受信バッファを確認して、受信内容に応じた処理を実行する。
  • コマンド処理の実行後、現在の状態をシリアル送信バッファに書き込み、Bluetoothモジュールを通してAndroidに送信する。
  • Androidはデータを受信すると内容を解析して操作ボタンの状態に反映する。
  • コマンドは、前進、後退、右旋回、左旋回、停止、スピードアップ、スピードダウン。
  • 動作方向は駆動輪の方向で設定。
  • スピードは10段階でPWMの出力を変更することで実現。
  • ロボットの状態は、「(方向1バイト),(スピード1バイト)」の3バイトで定義。

これを、AndroidのBluetoothChatサンプルアプリと、BeautoRoverのシリアル通信/モーター駆動サンプルアプリを元に改造して作ってみた。まーまー、簡単にできたほうかも。しれない。