ルンバ(Roomba)をPCにUSB接続する方法



お掃除ロボット、ルンバをPCにUSB接続して、制御する方法。

用意するもの

FT232RLモジュール
USBケーブル
ブレッドボード
ブレッドボード用の接続配線ケーブル(ジャンパーワイヤー)

FT232RLモジュールはシリアルをUSBへ変換してくれるモジュールです。
秋月電子などの電子部品屋で取り扱っています。
FT232RLモジュールにUSBケーブルは付属していないので、USB miniB端子のケーブルも別途購入しましょう。

カバーをはずす

ルンバのコネクタは、ルンバのカバーをはずす必要があります。
ツメで固定されているだけなので、ゆっくりと力を入れてはずしていけば、良いです。

持ち手の部分が手が入れやすくなっています。

ルンバのカバーのツメの位置

ルンバのカバーのツメの位置

コネクタとFT232RLの接続

ルンバ側のRXDとTXDをそれぞれ、FT232RLのRXDとTXDに接続します。
GND同士も接続します。

roomba_ft232rl

roomba_ft232rl

ルンバのコネクタはMini DIN 7pinコネクタです。
日本ではケーブルが入手困難なので、ジャンパーワイヤーを使って、ブレッドボードと直接接続してしまいます。

FT232RLと接続

FT232RLと接続

PCからルンバを動かしてみる

実際にルンバを動かしてみます。

Linux(Ubuntsu9) だとデフォルトでドライバが入っているようで、繋いだだけで認識されました。
/dev/ttyUSB0が割り当てられています。

$ dmesg
usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0

あらかじめ決められた命令コードを送信することでルンバを制御することができます。命令コードについては、Roomba OI(Roomba Open Interface) のドキュメントに記載されています。

試しに、ビープ音を鳴らしてみます。

# start roomba
$ printf ”\x80″ > /dev/ttyUSB0

# 演奏する曲を登録
$ printf “\x8c\x0\x1\x43\x20” > /dev/ttyUSB0

# 曲を演奏する
$ printf “\x8d\x0” > /dev/ttyUSB0

参考文献

図解でわかるはじめての電気回路 CPUの創りかた

参考URL

Comments are closed.