javascriptでフィジカルコンピューティング、konashi/SBBLEでLチカばかりやっていてもつまらないので、
「うおーるぼっと」でも動かしてみるか...
ということで、「うおーるぼっと」で、流行りの「javascriptでコントロール」をやってみました。
流れはこんな感じ。(SBDBTは単純に”BLE-シリアル変換器”として使用)
iPad3(konashi.js) ―BLE―> SBDBT(SBBLE) ―シリアル-> うおーるぼっと
使用したもの
・iPad3 + konashi.js
・うおーるぼっと
・mbed NXP LPC1768
・SBDBT + SBBLE (konashiでも多分できるはず。konashiは持っていないので試してない。)
この記事では、konashi.js や うおーるぼっと、SBBLE の詳細や使い方は省略します。
それぞれの開発元のサイトを参照してください。
・konashiの詳細はこちら
・うおーるぼっとの詳細はこちら
http://jksoft.cocolog-nifty.com/blog/wllbot.html
・SBBLEの詳細はこちら
「うおーるぼっと」 と SBDBTの接続
SBDBTには事前にSBBLEのファームを書き込んでおきます。(詳細はSBBLEのサイトを参照ください。)
接続は簡単、線4本つなぐだけ。
SBDBT うおーるぼっとバンパー拡張ポート
pin2 3.3V ----- pin2 3.3V
pin3 GND ----- pin1 GND
pin7 TX ----- pin14 RX
pin8 RX ----- pin15 TX
うおーるぼっと(mbed)側のプログラム
ここに置いておきます。
SBDBTとの通信速度は115200bpsです。
konashiで使う場合は、シリアルの通信速度を9600bpsに変更してください。(ただしkonashiでの動作未確認。)
コンパイルするには、TB6612FNG用のモータコントロールライブラリ をインポートする必要があります。
【ここで使用している「うおーるぼっとを」制御するシリアル通信コマンドについて】
コマンドは3種類、M(move):前進/後進、T(turn):旋回、S(speed):左右のモータの速度を指定して走行。
・モータ指令値の範囲は、―100~100。
・動作タイマの範囲は、1~1000ms。0にするとタイマは無効。(止まらない)
・コマンドとパラメータはカンマ( , )で区切ります。
・コマンドの最後は、CR(0x0d)、またはLF(0x0a)です。
例1: 速度60、動作タイマ500msで前進
コマンドは、 M,60,500 になります。
例2: 速度-100、動作タイマ500msで反時計回りに旋回
コマンドは、 T,-100,500 になります。
例3: 左モータ速度50、右モータ速度―50で走行。(Sコマンドに動作タイマはありません。動き続けます。)
コマンドは、 S,50,-50 になります。
konashi.js 側のプログラム
事前にiPadにkonashi.jsをインストールしておきます。(詳細はkonashiのサイトを参照ください。)
うおーるぼっと操縦javascriptは、jsdo.itに公開してあります。
konashi.jsで以下のプログラムを開いて実行します。
・iPadの加速度センサで操縦
iPadを前後に傾けると、前進/後進、左右に傾けると旋回。
・ボタンバージョン(十字キーで操縦、”Cen”キーを押さないと止まらないので注意。)
残念ながら応答性がイマイチ。
―以上―
関連する記事
・『BASIC!』でAndroid端末と『うおーるぼっと』をBluetooth SPP接続して動かす実験