無線化(RBT-001)

RBT-001を繋げてみる(20):bt_sample_XeroZak 0.1.0 公開

Icn_bt_sample_xerozak_128bt_sample_XeroZak というアプリケーションを公開しましたhappy01paper

カスタマイズもできないのであまり役に立たないかもしれませんが、ニーズとか様子をみて改良していければと思っています。

最新版はこちらからダウンロードできます

ヴィストンという会社がBluetoothシリアル通信モジュールの「RBT-001」をロボットに搭載しやすいよなセット「VS-BT001」というのを販売しています。

RBT-001単体は

などから購入可能です。

oneROBONOVA-I/JO-ZERO用 操縦デモプログラム
ヴィストンさんの「VS-BT001」のダウンロードのページに「ROBONOVA-I/JO-ZERO用 操縦デモプログラム」というアプリケーションがあります。実際にダウンロードするとアプリケーションの名前は「bt_sample_nobajo.exe」という名前です。nobajoってなってますが、「b」じゃなくて「v」の間違いですよねrockちょっとツッコミhappy01
Parallels_desktopscreensnapz001    

これはタイトルのまんまですが、VS-BT001を使ってパソコンからROBONOVA-IまたはJO-ZEROの操作のデモを行う為のアプリケーションのようです。

two二足歩行ロボット用サンプルソース
同じく、ヴィストンさんの「VS-BT001」のダウンロードのページ

  • JO-ZERO/ROBO-XEROとシリアル通信を行うサンプルソース
  • ROBONOVA-Iとシリアル通信を行うサンプルソース

があります。

bt_sample_nobajo.exeを使ってロボットをコントロールする場合のJO-ZERO/ROBO-XERO、ROBONOVA-I/ROBOZAK-Iの為のサンプルソースになります。

C言語のサンプルでダウンロードできて確認できますが、RZ1Terminal 0.1.3で、bt_sample_nobajo.exeがどんな値を送信しているか確認してみました。
Rz1terminaldebugscreensnapz001

JO-ZERO

  • △:0x80001040404040108000004040404000
  • ×:0x80002040404040208000004040404000
  • ◯:0x80004040404040408000004040404000
  • □:0x80010040404040018000004040404000
  • ↑:0x80000140404040018000004040404000
  • ↓:0x80000240404040028000004040404000
  • ←:0x80000440404040048000004040404000
  • →:0x80000840404040088000004040404000
  • R2:0x80020040404040028000004040404000
  • L1:0x80040040404040048000004040404000
  • R1:0x80080040404040088000004040404000
  • L2:0x80100040404040108000004040404000
  • N:0x80000040404040008000004040404000

ROBONOVA-I

  • △:0x05050000
  • ◯:0x06060000
  • ×:0x07070000
  • □:0x08080000
  • ↑:0x0B0B0000
  • ↓:0x0C0C0000
  • ←:0x0E0E0000
  • →:0x0D0D0000
  • R1:0x09090000
  • R2:0x01010000
  • L1:0x0A0A0000
  • L2:0x03030000
  • N:0x00000000

どちらも、ボタンデータの後にニュートラルデータも送っているようです。例えばROBONOVAの△は5を2回とニュートラルは0を2回で0x05050000といった感じです。JO-ZERO用のデータは説明を書くと長くなるので、コードの方を観て下さい。

threebt_sample_XeroZak
「bt_sample_nobajo.exe」はWindows版しかないのでマック版(Windows版もありますが)を似せて作ってみたテストアプリで、こんなインターフェースですhappy01
Bt_sample_xerozakscreensnapz001

RZ1Terminal 0.1.3を使って、RBT-001がbt_sample_nobajo.exeで送ったデータと同じデータを受信していることは確かめていますが

  • VS-BT001は持っていませんので、VS-BT001で試していません。
  • ROBOZAKは持っていますが、まだマイコンには繋げて試していません。
  • JO-ZERO/ROBOXEROは持っていませんのでマイコンがまだないので、繋げて試していません。
  • アナログコントローラは対応させてませんが気が向いたら対応させます。

使い方

  • ロボットを選択します
    Bt_sample_xerozakscreensnapz002
  • RBT-001/VS-BT001などBT機器を選択します
    Bt_sample_xerozakscreensnapz003
  • 通信速度などを設定します。
    Bt_sample_xerozakscreensnapz004
  • 「Connect」ボタンをクリック
    Bt_sample_xerozakscreensnapz005
  • コントーロル画像上の目的のボタンの所にマウスを持って行くとポインターが指に変わるのでクリックする
    Bt_sample_xerozakscreensnapz006

さて、如何でしょうかね?
リクエスト、ご意見等ありましたら教えて下さいhappy01

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

| | コメント (4) | トラックバック (0)

RBT-001を繋げてみる(19):通信設定の読み書き

Icon01

今回はRZ1Terminal 0.1.2を使って、RBT-001の通信速度の変更をしてみたいと思います。

なおRBT-001はとても壊れやすいモジュールです。以下の操作に関して、保証された事柄ではありませんので、もし同様のことを行う場合は個人の責任において、十分注意して行って下さい。またRZ1Terminalは、最新版が、ここからダウンロードできますので、最新版をご利用下さい。

one配線


two接続

three現在の通信設定を取得してみる

  • 「RBT-001」ボタンをクリック
    Rz1terminalscreensnapz005_2
  • Opcodeのポップアップで「SPP_GET_PORT_CONFIG」を選択。Packet Dataのフィールドは01と入力して下さい。
    Rz1terminalscreensnapz003
  • 「リクエスト」ボタンをクリック
    Rz1terminalscreensnapz017_2
  • 右のリストにリクエストに対する「CFM」が表示されれば、クリックして内容を確認して見ましょうsign01
    Rz1terminalscreensnapz004

four通信速度(Baudrate)を変えてみる

  • 「SPP_SET_PORT_CONFIG」というコードもありますが、これはパケットの作成が難しいので、通信速度の場合「CHANGE_NVS_UART_SPEED」を使うことにします。例えば38400bpsにする場合は、0x05なのでPacket Dataのところに05と入力します。
    Rz1terminalscreensnapz007
  • 「リクエスト」ボタンをクリックして下さい。
    Rz1terminalscreensnapz017_2
  • まだリクエストしただけでは通信速度に変化はありません。Opecodeで「RESET」を選択して「リクエスト」ボタンをクリックして下さい。
    Rz1terminalscreensnapz009
  • 一旦、通信を「切断」します。
    Rz1terminalscreensnapz010
  • 通信速度を変更してから、「接続」しなおして下さい。
    Rz1terminalscreensnapz011

さて、うまく動かせたでしょうか?
----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

| | コメント (0) | トラックバック (0)

RBT-001を繋げてみる(18):RBT-001の名前の読み書き

今回はRZ1Terminal 0.1.2を使って、RBT-001の名前を変更してみたいと思います。なおRBT-001はとても壊れやすいモジュールです。以下の操作に関して、保証された事柄ではありませんので、もし同様のことを行う場合は個人の責任において、十分注意して行って下さい。またRZ1Terminalは、最新版が、ここからダウンロードできますので、最新版をご利用下さい。

one配線
RBT-001は、SparkfunのFT232RL搭載小型USB-シリアルアダプタ 3.3Vを使ってコンピュータと繋げました(※USBシリアルアダプタはこれと同じ物である必要はありません)。RBT-001の最適電圧は3.0Vではないので、この変換アダプタはあまりお勧めではないのかもしれませんsweat01なお間違って5Vの変換アダプタを繋げたりするとRBT-001が即座に壊れますのでご注意下さい。
20110823012631

Rbt001ft232rl

two接続

  • RZ1Terminalを起動、ポップアップメニューから目的の変換アダプタを選択します
    Rz1terminalscreensnapz003_2
  • もし目的の変換アダプタがどれか分からない場合は
    • 変換アダプタを外して「スキャン」ボタンをクリック
      Rz1terminalscreensnapz002_2
    • ポップアップメニューを調べる。この時なくなっているものが目的のモジュールになります。
      Rz1terminalscreensnapz001_2
    • 再び繋いで「スキャン」ボタンをクリックしてポップアップメニューから目的のモジュールを選択して下さい。
  • ボーレートなどを合わせて、「接続」ボタンをクリック。ボタンの名称が「切断」に変われば接続状態です。
    Rz1terminalscreensnapz004_2

threeRBT-001の現在の名称を取得してみる

  • 「RBT-001」ボタンをクリック
    Rz1terminalscreensnapz005_2
  • Opcodeのポップアップで「GAP_READ_LOCAL_NAME」を選択。Packet Dataのフィールドは空欄にして下さい。
    Rz1terminalscreensnapz006_2
  • 「リクエスト」ボタンをクリック
    Rz1terminalscreensnapz017_2
  • 右のリストにリクエストに対する「CFM」が表示されれば、それが名前の情報です。クリックして見ましょうsign01PacketDataでNameが「RBT-001」であることが確認できます。
    Rz1terminalscreensnapz012_2

fourRBT-001の名前を変えてみる

  • ターミナルウインドウにある「2/10/16」というボタンをクリックします。
    Rz1terminalscreensnapz009
  • 例えば「MiconoRBT01」という名称にする場合、ASCIIの所に「MiconoRBT01」と入力し「ASCII」のボタンをクリックします。Hexのところに、その文字列が16進数で表示されますのでこれをコピーします。
    Rz1terminalscreensnapz021
  • Opecodeのポップアップメニューを「GAP_WRITE_LOCAL_NAME」を選択し、Packet Dataのところにコピーした文字をペースとします。
    Rz1terminalscreensnapz022
  • さらに文字列の終わりを示すゼロ(00)を書き加えます。
    Rz1terminalscreensnapz023
  • 「GAP_WRITE_LOCAL_NAME」のパケットデータは「NameLength/DaviceName」という具合に入力する必要があります。ここでData lengthの所を見ると0x000Cとなってますので、今入力した文字のバイト数はC=12バイト(11文字+0)。つまりNameLengthとして0Cを先頭に書込んで下さい。
    Rz1terminalscreensnapz024
  • さて、これで送るデータは完成です。「リクエスト」ボタンをクリックして下さい。
    Rz1terminalscreensnapz017_2
  • うまく「CFM」が返ってきて、NO_ERRORならばOKsign01
  • 再び「GAP_READ_LOCAL_NAME」で名前が変わっているか確かめてみて下さい。
    Rz1terminalscreensnapz025

さて、うまく動かせたでしょうか?
----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

| | コメント (0) | トラックバック (0)

RBT-001を繋げてみる(17)「ちょっと復習」

ロボゼロで使えるようにしたいので(※今回はまだロボゼロのマイコンと繋げたわけではありません)、また少しRBT-001をいじってみようかと思っています。

3年くらい前に

  • 週刊『My Robot』のBluetoothを繋げてみる計画(1)〜(16

といった内容でロボザックとRBT-001を繋げて遊んでましたが、

これの続きという感じで、当時のタイトルの「週刊『My Robot』のBluetooth」の部分を「RBT-001」と変更し、回数を第17回目からとして、ロボゼロで使えるようにすることを目標に再スタートすることにしましたhappy01paper

今回は、RBT-001が生きているかどうかと、すっかり忘れちゃっているので、リハビリも兼ねて、BT接続、および、データの受送信の復習を行ってみました。

20110703013212

oneEasyBT
とりあえず今回は、RBT-001は拡張ボードの付いたEasyBTを用いました。RBT-001の電源用の拡張ボードを付けると、3.3Vでも5Vでも使えるようになるので便利です。
Dsc00267

昨日も少し書きましたが、今、RBT-001を手に入れるなら上記からでしょうか?

で、拡張ボードの取り扱いは

  • マイクロテクニカさん:RBT-001用拡張アダプタ基板
  • アマゾン:取り扱い無し?
  • スイッチサイエンスさん:取り扱い無し
  • VStoneさん:単体での扱いは無し

という感じです。VStoneさんがバラ売りしてくれるといいんですけど、どれをどう買うか迷いますねhappy01

two電源
電源は最近はSparkFunのブレッドボード用電源ボード(キット)を便利に使ってますhappy01スイッチで3.3Vまたは5Vが簡単に切り替えられますhappy01

threeマイコンとコンバーター
今回のテストは、これまでやってきたのと同じように、ロボザックをBluetoothの無線を介して制御する為に、ロボザックのマイコンMRC-3024を繋げることにしました。

EasyBTを使ったので2回変換することになってしまって不都合が起きるかもしれませんが、MRC-3024はRS232レベルなのでMFT232-BASEを使って変換しました。

で、ここまで書いて、ちと自分のブログを検索したら、そのものやってましたhappy01sweat01

ロボゼロのマイコンのHSWB-4Fも、確かRS232レベルですよね??MFT232-BASEのようなのを用意しておくと、もしかすると、いいのかもしれませんね。

four無線で動かしてみる

Rz1bicon04

今回はRZ1Basicで、MRC-3024の情報の取得をしてみました。

通信の設定をEasyBTにして

Rz1basicscreensnapz001

情報取得sign01成功sign03

Rz1basicscreensnapz002

今日は、とりあえず、ここまで。本当に単なる復習に終わってしまいましたが、RBT-001でトランスペアレントモードで通信することは、そんなに難しいことではないんですよねbearingそれよりコマンドモードで通信がややこしい。以前ソフトも作りましたが、もっと簡単にコマンドモードで通信できるように改良したいと思ってますhappy01

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村 

| | コメント (0) | トラックバック (0)

マイクロテクニカさんのRBT-001も値下げ

(多分日本で最初にRBT-001を扱うようになった)マイクロテクニカさんも、スイッチサイエンスさんと同じくらいの価格に値下げしてますね。発売当初は7500円でした

Safariscreensnapz007

2011/7/3時点

しかし、拡張アダプタ基板発売当時は1300円と書いてますが、今は2600円のようですねsweat01

RBT-001は、5V流してしまうと、死にますし、3.3Vでも動きはしますが最適な状態ではなく、3.0Vである必要があるようです。アダプタを自作しないのであれば、こういった拡張アダプターがあるといいと思います。

あと、スイッチサイエンスさんとか、VStoneさんは、RBT-001のマニュアルは英語のマニュアルを読めとリンクを張っているだけですが、マイクロテクニカさんのサイトからは丁寧な日本語訳のマニュアルがダウンロードできるようになっています。

ロボゼロのこともありますので、また少しRBT-001をいじくりまわそうかと英語のマニュアルを読んでいたんですけど、そのものではないにしろ日本語で読めるのは助かりますねhappy01

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

| | コメント (0) | トラックバック (0)

スイッチサイエンスさんでもBluetoothモジュールRBT-001が取り扱い開始

先日BluetoothモジュールRBT-001を使ったVS-BT001というロボットの無線でコントロールする為のシステムを紹介しましたが、

そのBluetoothモジュールRBT-001なんですが、スイッチサイエンスさんでも取り扱いが開始されてますねhappy01paper

VS-BT001では単品扱いされなくなってるみたいだし、こちらより安いかも
Safariscreensnapz003_2

| | コメント (0) | トラックバック (0)

ロボゼロでも使えるBluetoothモジュール「VS-BT001」が発売

twitterで知ったんですが、ヴイストン株式会社から、Bluetooth シリアル通信モジュール「VS-BT001」が販売開始されたようです。

oneロボゼロが無線で操作可能になるsign03

このモジュールを使うことで、ヴイストン製のロボットだけでなく、

  • Robonova/RobozakやJO-ZERO/ROBOXERO用の接続アダプター(VS-BT002)や操縦デモプログラムダウンロードでる為、パソコンから無線(Bluetooth)でロボゼロがコントロールできるようになります。
  • また、さらに、Android版の操縦ソフト「VS-C2 for Android」も無料でダウンロードでき、Android端末をコントローラとして使えるのはいいですねhappy01good
    Dsc_6702as VS-C2 for Android

VS-BT-001本体とオプション

  • VS-BT001:本体:Bluetoothシリアル通信モジュール(価格:9,975円)
    Dsc_6458as
  • VS-BTプログラマ:ボーレート・識別名・pinコード等の変更に必要なモジュール(価格:4,410円)
    Dsc_6698as
  • VS-BT002:JO-ZERO,ROBO XERO,MANOI用VS-BT 接続アダプタ(価格:2,940円)
    Dsc_6709a

two「VS-BT001」は「RBT-001」sign03

で、ですね。この「VS-BT001」の実態は、ロボザックの時にさんざん使い倒した「RBT-001 と、その接続基盤からなるもので、いわゆるEasyBTってことですねrock

VS-BT001
Dsc_6707a

20110410010247 EasyBT

RBT-001は、デアゴスティーニの「週刊 マイロボット(毎号1390円)」の時に使われたBluetoothモジュールで、第42号で付いてきました。つまり1390円で購入できたので、何個も買った方もいらっしゃるのではないでしょうか?私は42号を3冊買ました。あと、RBT-001の開発元であるRoboTechさんのお手伝いをした時にEasyBT2つ貰いましたscissors(1つ壊れて、1つ上げたので、現在3つ所有)。今は7000円くらい出さないと買えないので、なかなか手がでませんね(ヴィストンマイクロテクニカ)。

週刊マイロボット42号(左)とRBT-001(右)
20110410010200
20110410010309

詳細設定ソフトウェアとして、「Simply Blue Commander」と「RBT-001英語マニュアル」がダウンロードのページに紹介されてますが、以前作った「RZ1Terminal」とうアプリで、「Simply Blue Commander」と同じことができます、というか、それよりかなり便利かもしれませんsign03が、マニュアルを作ってませんので、使い方がわからないかと思いますsweat01いちおう「週刊『My Robot』のBluetoothを繋げてみる計画(9)」の「threeRBT-001用コマンドユーティリティの使い方」で簡単に書いてます。

RZ1TerminalのRBT-001コマンド作成機能
Rz1terminalscreensnapz004

ゆくゆくは、VS-BT001でロボゼロをコントロールしてみようと思う方もいらっしゃるかと思いますが、

ROBOMICのブログでは、カテゴリの「無線(RBT-001)」で、あれこれ書いてますので、そこに書いてあることを見て頂ければ、もしかすると、VS-BTプログラマやVS-BT接続アダプタといったオプション買わずに済むかもしれませんよhappy01scissors

というか、できるだけオプション類は手作りでできるかやってみてブログ書くと思いますhappy01note

three操作プログラムを解析してみるsign02

まだデータを取得してみただけで解析まではしてないですけど、早速、ダウンロードのページから「ROBONOVA-I/JO-ZERO用 操縦デモプログラム」をダウンロードして、USBシリアルコンバーターを繋げて、操作プログラムを起動させてみましたhappy01

Parallels_desktopscreensnapz001

ダミーで接続して、ラインモニターで送信されてるデータ見てみましたrock

Parallels_desktopscreensnapz002

今度、このデータを使ってマック版の操作プログラムを作ってみますかねhappy01scissors

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

 

| | コメント (0) | トラックバック (0)

RBT-001が国内で販売に

yonekenさんのブログでちょろっと紹介されてるのを発見したんですが、無線化(RBT-001)、名前は「BT-MOD100R」となっていますが、たぶん全く同じものが、国内の代理店から入手できるようになりましたねhappy01ここ)。

Safariscreensnapz007

で、このBluetoothモジュールの価格ですが、7,500円 (税込み、送料別)(2010/1/15現在)と、デアゴスティーニの週刊マイロボットで1280円で手に入ったことを思うと、かなりお高いですねbearing

で、このBluetoothモジュールなんですが、5Vを流すと一瞬で死にます。そんなことがないように5V系の回路で使用するためのアダプタ(型式:80FG970)があるんですが、これまで、このアダプターは、たとえ輸入したとしても、単体でも売ってなかったんじゃないかな?それが結構お安く手に入るようですよhappy01

BT-MOD100R用 拡張アダプタ基板:1300円(2010/1/15現在)

試してないんで、このアダプターがRBT-001で正常に機能するかわからないんですけどね。。。とりあえずメールで問い合わせてみました。(お返事待ち)

追記:問い合わせの返事を頂けました。

「RBT-001は開発元イタリアVeear社の製品で当方は同社の国内販売店としてOEMでボードの供給を受け、国内でRB-MOD100Rとして販売しております。よって、RBT-001に本アダプタボード(80FG970)はそのままご使用になれます。」

とのことです。1300円なら買いだと思いますhappy01

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

| | コメント (0) | トラックバック (0)

パソコンでラジコン操作(2)

前回分解したロボザック第84号(1,990円)に付いてくるプロポを、パソコンからArduinoを介して、データを送信することができましたhappy01paper
Arduino_pwmscreensnapz001x 図1

まず、プロポのスティックを動かすことによってシグナル(図2黄)がどう変化するか調べました。結果、電圧の変化は、ニュートラル状態で、約1.65v(3.3vの半分)で、スティックを動かすと約±0.4v変化しました。
Omnigraffle_professionalscreensnapz 図2

今回は、まだ右スティックしか作っていませんが、Processingで上下左右計8個の丸いボタンがあり、そのボタンをクリックすると、対応する電圧をArduinoに送信するようなプログラムを作りました(図1a,b)。

Arduinoとプロポの配線は、アナログ出力できるArduinoの5、6番ポートとプロポのVR1、VR3の黄色をそれぞれ配線しました(図3:今回は、右スティックだけの配線)。
Omnigraffle_professionalscreensna_3 図3

電圧のコントロールは、ProcessingのArduinoライブラリを使って送信できるようにプログラミングしました(図1a)。

  • arduino.analogWrite(mLeftRightPortNum, mLeftRightVolt);
  • arduino.analogWrite(mUpDownPortNum, mUpDownVolt);

って感じ。簡単happy01

あと、受信機側は、以前書いたのと同じ繋ぎ方で(図4)、受信したデータをEasyBTでパソコンに送って、ターミナルでデータを表示させて確認しました(図1c)。
Omnigraffle_professionalscreensna_2 図4

バッチリgood

左スティックのぶんも作って、もう少し見栄えを良くしてから、また、続きを書きますpaper

----------------------------------

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

| | コメント (0) | トラックバック (0)

ロボザックのラジコン(13)

以前、ロボザックのラジコン(9)で、ロボザックのラジコンの受信機がどんな信号を出しているかを調べる為に、図の様に、ADM3024ANのモジュールを使って、プラグからのRS232Cの信号をUARTに変換して調べたんですが、

Omnigraffle_proscreensnapz012

ハイテックからダウンロードできる「ZEBRA4FM+HFS-RU01 対応テンプレートプログラム」の中にある説明書で、UARTの方に繋げている(プラグを使う場合は電源ケーブルとして使っている)

Kb

をRXポートに繋げて動かす方法と、そのテンプレートが付いていまして、UARTと書いてあるのに、電源としてしか使ってなくて、以前から気になっていたんですが、やっぱりUARTの信号もでているんですねpaperなかなか試す時間がなかったんですが、久々に、やってみましたhappy01

つなげ方は、上の図のBのケーブルの方をEasyBTにつなげて、ハ〜イsign01線(配線)はこれだけ〜heart04 EasyBT楽チンnote便利〜heart02
Omnigraffle_professionalscreensna_2

RZ1Terminalで、受信データを確認してみましたpaper
Rz1terminalscreensnapz001

バッチリgood


-----------------------------------------------------

いちおう、以前書いた記事の一覧です

  1. ロボザックのラジコン
  2. ロボザックのラジコン(2)
  3. ロボザックのラジコン(3)
  4. ロボザックのラジコン(4)
  5. ロボザックのラジコン(5)
  6. ロボザックのラジコン(6)
  7. ロボザックのラジコン(7)
  8. ロボザックのラジコン(8)
  9. ロボザックのラジコン(9)
  10. ロボザックのラジコン(10)
  11. ロボザックのラジコン(11)
  12. ロボザックのラジコン(12)
  13. ロボザックのラジコン(13)

----------------
にほんブログ村 科学ブログ ロボットへ
にほんブログ村

| | コメント (0) | トラックバック (0)

より以前の記事一覧