roomba-hack-02 はんだ付け&動作テスト編
↓ MacBookとBluetoothで接続したRoomba
MacbookPro上でRubyからbluetooth経由でRoombaにコマンドを送って、掃除を開始させるところまでできました。
手順とかちょっとハマったところとかを書いていきます。
パーツに関しては前回の記事をご参照下さい
BlueSMiRFにコネクタを取り付ける
BlueSMiRFは1つ7000円ぐらいするので、取り外ししやすいようにコネクタをつけておきます。
今回はXHコネクタというものを使ってみました。手元に圧着ペンチがなかったので、ラジオペンチで無理やり圧着させましたが、専用の工具を買ったほうが良さそうです。
3端子レギュレータにコンデンサを付ける
Roombaから取れる電源は16Vなので、そのままではBlueSMiRF(5V)につなげません。
間に3端子レギュレータを接続します。
(回路図は秋月のパーツセットに入っています。)
コネクタに3端子レギュレータを(無理やり)付ける
写真だとちょっとわかりにくいのですが、コネクタのVCCの配線を切って3端子レギュレータのin
とout
をつないでいます。
GNDの接続も忘れずに。
Roombaに接続
XHコネクタと単線をつないで、単線の反対側をroombaにつないでみます。
ちなみに1番目のピンと6番目のピンは白い線でつないであります。
どこに何をつなぐかは、公式のリファレンスを参照しましょう。
とりあえずVCCとGNDが合っていればLEDが赤く点滅します。
それから、RxとTxのつなぎ方に注意です。
BlueSMiRFのRx ---> RoombaのTx BlueSMiRFのTx ---> RoombaのRx
という感じにつなぎます。じゃないと僕みたいに小一時間なんで動かないんだろうと悩むことになりかねません。
MacとBlueSMiRFのペアリング
これはBluetoothマウスとかと同じような流れで行います。
確かパスコードは無しに設定した気がします。
シリアルポートの設定
ペアリングに成功したら、シリアルポートの設定をします。
Bluetooth設定の画面で、デバイス(FireFly-...)を選択して歯車ボタンからEdit serial ports...
を選ぶと↑この画像のような画面になります。
この時のPath: /dev/tty.FireFly...
は次で使うのでメモっておきましょう。
RubyからRoombaを操作するテスト
まずターミナルを開いて、必要なgemをinstallしておきます。
$ gem install serialport
次にirb(もしくはpry)から対話環境でシリアル通信してみます。
※Roombaの電源は入れておきましょう
$ irb irb(main):001:0> require 'serialport' irb(main):002:0> sp = SerialPort.new('/dev/tty.FireFly-86A2-SPP', 115200, 8, 1, 0) # '/dev/tty.FireFly-86A2-SPP'はさっきメモしたもの # この時点でBlueSMiRFのLEDが緑に点灯するはず irb(main):003:0> sp.write 128.chr irb(main):004:0> sp.write 130.chr irb(main):005:0> sp.write 135.chr # roombaが掃除を始めるはず
128とか130とかが気になる人は公式のリファレンスを読みましょう。
つづく
次はいよいよTwitter連携とかをしていきたいと思います。