2012-02-19
netduino plus買ってみた
Vstone社のビュートローバーARMに付属していたVS-WRC103LVというボードを使ってロボットの製作をしてきた。小型のマブチモーター程度を動かすには十分なボードで、便利なCPUボードだとは思う。けど、乾電池2本で動かして、3.3V、5Vへ昇圧して使っているので、拡張していくと電源が不安定になりがち。なので、新しいボードが欲しいなー、といろいろと検討した結果、http://www.netduino.com/netduinoplus/specs.htm:netduino plus]を購入。netduino plusを選択した理由は次のような感じ。
最初、Arduinoかmbedで迷ったんだけど、Auduinoの方が出力ピンが多くてロボット向きかなと思いAuduino UNO辺りを攻めようかと思っていたところ、netduino plusを発見。イーサネットやMicorSDがあること、C#で開発できるのは使っていく上で面白そうというのが購入に至った理由。
パーツショップを見ていると、Auduinoはボード本体だけでなく、シールドとか結構周辺機器も充実しているようで、互換品であるnetduino/plusも使えるのが便利。実際、ロボット用の回路を載せるユニバーサル基板はAuduino UNOと同サイズの基板を使ってnetduinoに挿してる。しばらくはこれで遊べそう。
2012-01-16
カメラの仰角を変更できるようにしてみた
昨年作ったロボット、そのリモコンとなるAndroidアプリを改造して見ました。改造内容は以下の通り。
ウェブカメラの仰角はモーターに直結させただけなので、物理限界に達してもモーターは止まらないようになってるので、センサを付ける、あるいは、ラジコンサーボに変更するなどの改良は必要。
実際に操作している動画はこちら
2011-12-28
ロボットを作りました(2)
BluetoothでPCやAndroidと繋がるロボットのハードが手に入ったので、とりあえずは簡単に動かすということを目標に2〜3日かけてソフトを作って見ました。大体の仕様は次のような感じ。
- Androidをマスター、ロボットをスレーブとしてBluetoothでペアリングして、SPPを使って通信を行う。
- Androidアプリはボタンを押すと、対応する1バイトのコマンドをロボットに送信する。
- ロボットはメインループの先頭でシリアル受信バッファを確認して、受信内容に応じた処理を実行する。
- コマンド処理の実行後、現在の状態をシリアル送信バッファに書き込み、Bluetoothモジュールを通してAndroidに送信する。
- Androidはデータを受信すると内容を解析して操作ボタンの状態に反映する。
- コマンドは、前進、後退、右旋回、左旋回、停止、スピードアップ、スピードダウン。
- 動作方向は駆動輪の方向で設定。
- スピードは10段階でPWMの出力を変更することで実現。
- ロボットの状態は、「(方向1バイト),(スピード1バイト)」の3バイトで定義。
これを、AndroidのBluetoothChatサンプルアプリと、BeautoRoverのシリアル通信/モーター駆動サンプルアプリを元に改造して作ってみた。まーまー、簡単にできたほうかも。しれない。
2011-12-27
ロボットを作りました
なんかずーっとほったらかしにしていたはてなダイアリー。テーマなしに書いてる日記さえも滞り気味だけど、こっちには開発日記をきちんと書いていこう、といろいろと思うところができたので今年の成果を少しずつまとめてみる。
まず、ロボット、買いました。開発環境もフリーで提供されているCPUボード+メカのキットを。買ったものは、以下の通り。
CPUはARM Cortex-M3という小型マイコン。ROMサイズが32kBという小さいものだけど、簡単なブログラムなら十分なくらい。開発環境は、チップメーカーのNXPのLPCExpressoをダウンロードすればC言語で開発可能。マイコンへの転送はPCにUSBでマスストレージとして接続して、ビルドしたbinファイルをコピーすればOKというお手軽さ。
Bluetoothモジュールに関しては、PC/Androidと接続するために購入。マイコン側から見ると単なるシリアル通信。モジュールは中でSPPに従ってマスターと通信する仕様。これでPCやAndroidと接続が可能に。
とりあえず、ハードについてこんな感じでスタート。

