無線(BlueSMiRF)

手持ちのBTモジュールでロボゼロを動かしてみた(6):回路編2

前回、書きかけの感じで公開した「回路編」の続きですhappy01

(関連)

●信号の反転
これで良いのか悪いのかよく判りませんが、試して大丈夫そうなもの

DIP

SMD

●5V-3.3Vの電圧変換
これで良いのか悪いのかよく判りませんが、試して大丈夫そうなもの

DIP

  • TA48M033(セット)
    • 電解コンデンサ(33μF~47μF)
    • 積層セラミックコンデンサ(0.1μF)

SMD

  • TAR5SB33
  • 0.01μF、1μF、10μF チップコンデンサー

●作ったモジュール

※実際の配線は「回路編」に書いた通りです。

汎用:SOT23を2つ用いて作成
図 左(途中経過)、右(完成!)

 

AbcPhoto_2

FB155BC用:SOT23を2つ用いて作成。右の図は合体!

Fb155bctorcb Fb155bctorcb_2

BlueSMiRF用:電圧の変換は必要ないため、信号反転の為の回路をSOT23に付けて作りました。右の図は合体!

Bluesmirf Bluesmirf2rcb

SBDBT用:プログラムで信号は既に反転してあるため、電圧変換の為の回路のみでいいから、凄く簡単になった。ということもあってDIPのパーツで作成。右の図は合体!

Sbdbtvold Sbdbt

さて、今回はこれくらいということで、何個かfusion PCBに出そうかと思ってEagle作ってます。それに関しても、いつか出来上がったら報告しますhappy01paper

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

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

手持ちのBTモジュールでロボゼロを動かしてみた(5):BlueSMiRF編

ちょっとダラダラと同じ様なことを書いてますが、今回は、BlueSMiRFというBluetoothモジュールを使ってロボゼロと接続する場合に関して書きたいと思いますcoldsweats01

(関連)

●BlueSMiRFについて

「BlueSMiRF」は、SparkfunのBTモジュールで、日本ではストロベリーリナックスさんで購入できます。

これまで紹介した「RBT-001」や「FB155BC」のように技適を受けたモジュールではありません。電波暗室で実験することになるので、実際、実用的なものではありませんので、ご注意下さい。

そんなモジュールなんですが、

  1. 5Vで使えること
  2. コマンドが扱い易い

といったことがあって、自分的には凄く使い易くて、気に入ってます。

性能に関しての詳細は、Sparkfunさん、または、ストロベリーリナックスさんのページで見て下さい。

●BlueSMiRFの設定をロボゼロ用にする

●配線
コマンドモードで、BT側から変更できるので、BlueSMiRFに電源が投入されてればOK

●接続
FireFly-xxx つまりBlueSMiRFにBT側から接続
Rz1terminalscreensnapz002

●設定変更

  1. BlueSMiRF用コマンド入力ウインドウを表示
    Rz1terminalscreensnapz003
  2. コマンドモードにする
    Rz1terminalscreensnapz004
  3. 2400bpsにする
    ※UARTの速度を変更するのは以下のボタンなんですが、v0.1.4で修正したハズでしたつもりでしたが、直ってないため
    Rz1terminalscreensnapz005
    「SU,2400」と手入力してしてリターンで変更して下さい
    Rz1terminalscreensnapz007
  4. コマンドモード終了
    Rz1terminalscreensnapz008
  5. 切断
    Rz1terminalscreensnapz006

●VS-C2 for Android または KRC for Android で接続してBlueSMiRFが正しく設定されているか確認してみる

  1. RZ1Terminalを2400bpsに設定して接続します。
    Rz1terminalscreensnapz003
  2. Hex表示に設定する
    Rz1terminalscreensnapz004
  3. VS-C2 for Androidを起動
  4. 設定のJO-ZERO,ROBO-ZERO用コマンドにチェックを入れるUnnamed2
  5. BlueSMiRFと接続
  6. VS-C2 for Androidの何らかのボタンを1〜2秒押して離す
  7. RZ1Terminalに「80000140404001...」というような数値が表示される。この数値に関しては、こちらを参考にして下さい。
    Rz1terminalscreensnapz005

どうでしたか?正しくデータは送受信できたでしょうか?

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

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

BlueSMiRF関連(オーディオプラグに繋ぐには6)

今日はなんだか沢山ブログを書いてますねぇsweat01けど、カレンダー通りのお仕事なので、ゴールデンウィークでお休みで、沢山な訳ではないのですよ。。。

さて、前回、完成したBlueSMiRFモジュールを使って、以下のソフトで無線通信でできることとできないことを試してみましたので、まとめておきますpaper早速、SimROBOTでも試しましたよscissors


roboBASIC

  • コントローラー情報...
  • プレイ/ストップ/リセット... 
  • Catch & Play(ヒューマノイド)...
  • オブジェクトコード転送...不可
  • 削除...不可 
  • ゼロ点設定...不可
  • モーターコントロールパネル...不可

roboRemocon

  • PCコントロール...
  • Download(オブジェクトコード転送)...不可

SimROBOT

  • PCコントロール...
  • Catch & Play(ヒューマノイド)...
  • Download(オブジェクトコード転送)...不可

RZ1Action

  • Catch & Play(ヒューマノイド)...

RZ1Basic

  • コントローラー情報...
  • プレイ/ストップ/リセット...
  • オブジェクトコード転送...
  • 削除...
  • Catch & Play(ヒューマノイド)...
  • PCコントロール...
  • ETX/ERXのPCコントロール...
  • AD値、変数値などの値の取得...
  • ターミナル...
  • ゼロ点設定...不可

ゼロ点設定が、私のロボットでは、roboBASICも、RZ1Basicも、途中で止まってしまいます。RZ1Basicでデバグしたところ、4番目のモーターのデータを取得の際です。原因究明中です。

モーターコントロールパネル(roboBASIC)は、途中で変なことが起こって回線が途切れて、roboBASICがハングアップします。

オブジェクトコードの転送は、途中Baudrateの変更に対応したRZ1Basicのみ可能で、その他、roboBASIC, roboRemocon, SimROBOTは当然、不可です。削除も結局、空のオブジェクトコードを転送しているので、Baudrate変更に対応していなければ不可


ついでに、RZ1Basicで、ポート設定する時に、BlueSMiRFにチェックを入れるんですが、これがv0.3.3では保存できていませんでした。従って、v0.3.3では、毎回、起動した際、最初に、ポート設定を開いて、BlueSMiRFにチェックを入れる必要があります(オブジェクトコードの転送をしないのであれば、このチェックは必要ありません)。直しましたので、次のバージョンからは平気です。

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

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

BlueSMiRF関連(オーディオプラグに繋ぐには5)

これまでの1〜4と関連項目のリンクです。

  1. BlueSMiRF関連(オーディオプラグに繋ぐには1)
  2. BlueSMiRF関連(オーディオプラグに繋ぐには2)
  3. BlueSMiRF関連(オーディオプラグに繋ぐには3)
  4. BlueSMiRF関連(オーディオプラグに繋ぐには4)

今日は、カバーを装着して、起動してみました

oneフロントカバーの胸部正中にピンバイスで直径3ミリの穴を2つあけました。
Dsc10097
two直径3ミリのアクリル棒をブッ刺しましたsign01
Dsc10102
three状況に応じて、ここが光ります
Dsc20095_2

fourフロントカーバーとバックカバーを装着sign01
バックカバーは、この前、穴を開けたので、新品に交換sign01
Dsc10103
five起動sign01
緑とか赤で光りま〜すshine
Dsc10101

six簡単に、ETX/ERX接続と、オーディオプラグ接続と、それぞれ起動チェックしました
いちおう動きました。とりあえず、ひと安心happy01

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

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

BlueSMiRF関連(オーディオプラグに繋ぐには4)

前回(BlueSMiRF関連(オーディオプラグに繋ぐには3))の上手くロボザックに収納できない失敗から、先週は、あれこれ考えて必要なものを揃えて、土曜、日曜で、組み上げてみました。

one配線
私の場合、ETX/ERXとアーディオジャックと両方を切り替えて使いたいので、RS232Cレベル変換モジュールが必要であることと、切り替えのためのスイッチが必要になります。

  • モジュールは胸腔中央の空間に入れる。
  • スイッチはモジュールから切り離して、どこかに付ける。
  • BlueSMiRFは、胸の前に横向きに置く。
  • オーディオプラグを抜いて、パソコンと有線で綱いた時にETX/ERXは無線で使えるようにする。
  • プログラミングの為に用意しているMR-C3024にもBlueSMiRFを付けたいので、取り外して使える様にする。

というようなことを考慮して、以下の配線にしました。
Rs232c_audio22

  • スイッチを別にすることで、モジュールの基板は細くできるので、胸腔中央の空間に入れられる様になった。でも頸の回転の為にここにサーボを入れている場合は、ここに入れられないですよね。。。
  • オーディオプラグ抜いた時にも動く様に、プラグのグランドをMR-C3024に入れ、MR-C3024からグランドをとる形にした。

で、スイッチをどこに置くかを悩みました。最初は頭部の中に入れたいと思っていたのですが、線が6本出るので、IRリモコンの3本、ダイオードの2本で、計11本になってしまうので、止めておき、スイッチもフロントのカバーの中に入れることにしました。

two材料と道具

  • RS232C変換モジュールに必要なものは、以前組み立てて時に書いたのを参考にして下さい。ここ
  • スイッチ:2回路2接点、ON-ON のもの
  • 1x2列、1x1列コネクタ(ツクモ・ロボット王国)
  • ヘッダーピン 1列x40入り(ツクモ・ロボット王国)
  • カードケース:サイズB7、硬質塩化ビニル、(100均)
  • アクリル棒:矩形2mm x 2mm x 1000 mm(約100円、ハンズ)
  • アクリル棒:丸 直径3mm x 1000 mm(約100円、ハンズ)
  • アクリルサンデー接着剤(約600円、ハンズ)

three組み立てと完成写真

  1. カードケースにフロントカーバーをなぞって、切り抜く。フロントカバーに入る様にする。
    Dsc10086
  2. 2mm角矩形のアクリル棒で、骨組みを作る


で、いきなり、完成写真

正面
Dsc10095

BlurSMiRFを挟んでるアクリル棒は、2mm角矩形を2段重ねて、上の段をほんの少しずらして、引っかかる様にしてはめてます。色を塗ろうかと思ってたけど、基板とか、スイッチとか取り付けちゃったから、そのまま。。マジックで書いた部分が残ってたり、アクリルサンデーの接着剤で溶け出したりしてて、汚いですねsweat01

側面
基板もくっついています。

Dsc10093

スイッチは
カバーの脇からでるように付けてます。スイッチにピントがあってないsweat01

Dsc10089

後からみると

Dsc10096

MR-C3024と繋げると

Dsc10090

ロボザックにはめると

Dsc10087


てな感じですsign01

SO905iCS買ってよかった。
うちのデジカメより簡単に奇麗な写真が撮れるわhappy01

今回は、ここまで、またつづきは、後日〜

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

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

BlueSMiRF関連(オーディオプラグに繋ぐには3)

BlueSMiRF関連(オーディオプラグに繋ぐには2) で、BlueSMiRFのbaudrateを変更がうまくいかないというところで終わっていましたが、RZ1Basic v0.3.3 公開 でお分かりの通り、baudrateを変更がうまくいかない原因がわかりまして、BlueSMiRFを使ったオーディオプラグ接続に対応しました。

oneなぜうまくbaudrateが変更できなかったのか
マニュアル等には、例えば、

SU,115K<cr>
---<cr>

のように書いてあったので、キャリッジリターン(&h0D)を送信するようにプログラミングしたのですが、うまくいかないので、ラインモニターで確認した所、キャリッジリターンラインフィード(&h0D+&h0A)が送信されてましたので、ここを変えたらうまく動く様になりました。ってなことですので、直接このことが必要になる方はいらっしゃるか解りませんが、いちおうメモ書きしておきました。

twoオーディオプラグとETX/ERXに繋ぐモジュールの配線
BlueSMiRF関連(オーディオプラグに繋ぐには2) で書いた配線で、パワーとグランドをMR-c3024から、それぞれに取っていたんですが、パワーをMR-C3024のポートから1本だけにして、グランドを、オーディオプラグのグランドを使うことにして、bread boardで試したら動くようでしたので、以下のように配線しました。結構すっきりした。
Omnigraffle_proscreensnapz001

で、組み立てたのが、これ
Dsc00084

threeロボザックに取り付けるsweat01
なんとかなるだろうと思っていたのが、アホでした。

胸側ボディーカバーを外し、バッテリーの上。胸部正中の腔所
Finderscreensnapz007
斜めにしても、この中には入らなかったsweat01

ぎりぎりまで基板を削ってみたが、下図の向きにもはまらなかったsweat01
Dsc00085
じゃあ、背側のカバーにはどうかといろいろやってみた。
穴もあけてみた。
Dsc00083

こうすればなんとかはまった。ピントとコントラストが悪いのでわかりにくいけど、実際に装着してみるとこんな感じsweat01

Dsc00080

でも、気に食わないdown

やっぱこの胸部正中の腔所に入れられるとよさそうなので、縦長になるように回路図から作り直す予定です。。

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

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

BlueSMiRF関連(オーディオプラグに繋ぐには2)

お騒がせしましたsign01
うまくいかなかったのは、接触不良があったせいのようでした。
昨日書いた図の「?」のところも解決sign01
回路図は以下のようになりますsign01
Rs232c_audio
って、「?」をはずしただけの図ですけど。。。

いちおう、「コントローラーの情報」など、baudrateが途中で変更されないものに関しては、うまく動いていますscissors

で、プログラム転送のところ、baudrateが変更する所で、BlueSMiRFのbaudrateを変更させる機能を簡易的に書き加えて、プログラムの転送をしてみました。

baudrateを変更させないまま転送した場合よりは何ステップかは先に進みましたが、途中で止まって、うまくいきませんでしたdown

BlueSMiRFのbaudrateを変更の部分、もう少しちゃんとプログラミングしないとダメみたいだsweat01

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

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

BlueSMiRF関連(オーディオプラグに繋ぐには1)

BlueSMiRFをオーディオプラグに繋ぐことをやってみてます。
けど、うまくいかないから、ブログが書けないsweat01

ETX, ERX, LCDポートと繋げよう!」で使ったADM3202ANを使った方法を使ってやってみました。

oneBread Boardを使ってADM3202ANを配線
Dsc00071s

two2.5φのオーディオプラグは使っていないのをがらくた箱から探してきてちょん切って配線
three回路図は以下のようです(スイッチ部分は現時点では使ってません)。

Rs232c_audio

four「?」のところを繋ぎ変えてみたけど、うまくいきません。。。

そもそもやっていることが間違っているのでしょうか?

mobilephoneロボットとは関係ないけど、携帯が調子悪くて、騙し騙し使ってたけど、もう〜我慢しきれなくて、新しいのを買いました。SO905iCSです。最高5Mなんですが、上のBread Boardの写真は2M/マクロで撮ってみました。けど写真大きすぎたので、Photoshopで半分にしたものです。

いちおうCyberShotなんで、宣伝でやってる、「はい、ソ・ニ・イ」の笑顔happy01を認識してシャッターは落ちるんですが、携帯のは反応が遅すぎて、シャッタが落ちた時は、もう笑顔じゃねーじゃん!って時があります。マクロ/スーパーマクロがあって、接写が奇麗に撮れるのでグッドです。でもカメラ使ってるとやっぱ電池はすぐなくなります。しかも残量1つになると電池が足りないと表示が出てカメラが使えなくなります。カメラ機能優先ということで、905シリーズなのにSO905iCSは地デジが使えません。Bluetoothも付いてません、ってDocomoはPしかBluetooth付いてないかな。

追記:私のWindows用に買ったBluetooth USBは「Bluetooth USB アダプター PTM-UBT4」です。

似た様なものはいろいろ出ています。Verとか、EDR対応とか、Classとか注意が必要かもしれません。

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

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

Bluetooth SMiRF関連(コマンドモードについて)

Bluetooth SMiRFに関して、ブログにまとめておくことにします。

昨日、Bluetooth SMiRFを繋げてみたとき、うまいことコマンドモードにならなくて困ってましたが、ユーザーガイドを読んで、なぜ、うまくいかない原因がわかりましたので、ちょろっと書いておきますpaper

Bluetooth SMiRFには、CONFIGURATION TIMEというのがありまして、デフォルトでは60秒になっています。これがうまくいかない原因で、電源を入れてから60秒以内に、コマンドモードにしないとダメだったのですsign01

Bluetooth SMiRFは、ローカルでも、リモートでもコマンドモードに入れます。ローカル(PCと繋ぐ)では試していませんが、リモート(無線で)でコマンドモードに入れることを確認できました。

Parallels_desktopscreensnapz005_2
$$$を入力し、Dコマンドで設定を表示させた時のスクリーンショット(※LynxTermを使っていますが、ハイパーターミナルでも当然できます)

《コマンドモードに入る》

  1. Bluetooth SMiRFの電源を入れる。つまり、MR-C3024の電源を入れる
  2. ターミナルでBluetooth SMiRFと接続
  3. 電源を入れてから60秒以内に
    $$$
    と入力するとすぐ
    CMD
    と返事が返ってきてコマンドモードになります。

※リモートの場合は、$$$だけで、コマンドモードになれます。

《CONFIGURATION TIMEを変更する》

CONFIGURATION TIMEは、コマンドモードに入って

ST,<num>
という書式のコマンドで変更できます。

<num>
0           CONFIGURATIONできなくする
1-252    この数値の秒数以内ならCONFIGURATION可
253        ローカルのみCONFIGURATION可、時間制限なし
254        リモートのみCONFIGURATION可、時間制限なし
255        ローカル、リモート両方CONFIGURATION可、時間制限なし

私は、いつでも変更できるようにST,255に設定しました。

《プログラム転送時に役立ちそうなコマンド》

U,<rate>,<E,O,N>
というプログラム転送時に役立ちそうなコマンドがありました(まだ試していません)。baudrateとparityを変更し、コマンドモードを抜けるというコマンドです。
例えば、
U,115K,N
とすると、baudrate=115200bps, parity=noneに変更されます。

プログラムの転送時、途中で9600bpsから115200bpsに変更されるため、Bluetooth SMiRFでプログラムの転送に対応できる可能性があります。

《その他》
もしプログラムの転送もBluetooth SMiRFでうまくいくならば、ETX/ERXでBluetooth SMiRFを使うのではなく、オーディオプラグの方で使った方がいいかもしれません。ETX/ERXでは、プログラムの転送ができないので、基本的にはロボットのコントロールしかできませんが、オーディオプラグならロボットのコントロールだってできるからです。

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

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

買ったBluetoothを繋げてみました

以前、avalonさん3軸加速度センサ+2軸ジャイロのモジュールを紹介されていました会社(ストロベリー・リナックス)で、Bluetoothモデムを買いましたので、繋げてみました。

買ったのは、BlueSMiRFです。7980円です。

他に似た物に、BlueDongle USBとか、Bluetooth DIP Moduleとかがあります。
Bluetooth DIP Moduleの方が小さくて、安いのですが、3.3Vだったので変換するのが面倒ですし、品切れ状態だったので、BlueSMiRFを買いました。

いずれもRoHS非適合なので、競技に使うのはよくないのかなぁ??なのでご注意下さい。

ページの方を見えもらえるとわかると思いますが、大きさは、約5cm X 1.5cmくらいです。6本のピンを含めて5cmくらいです。
Safariscreensnapz005
裏にピンの意味が書いてありますし、
Photoshopscreensnapz001
BlueSMiRF and SSC-32 Configuration Tutorial.を参考にMR-C3024に繋げてみました。

  1. 茶色:BlueSMiRFの両端のピン同士を繋げる
  2. 赤色:MR-C3024の空いてる真ん中のピンに挿す
  3. 灰色:MR-C3024の空いてる外側のピンに挿す
  4. 黄色:MR-C3024のRXポートに挿す
  5. 緑色:MR-C3024のTXポートに挿す

こんな感じです!というかこんだけ〜!ちょ〜簡単

Photoshopscreensnapz002

いちおう、RZ1Basic v0.3.3(未公開)を使って、ETX/ERXの通信をBluetoothでMR-C3024のコントロールできています。

けど。。

  • Mac版/Windows版の両方とも動くんですが、Mac版の方は、まったく問題がないのですが、Windows版のPCの為に、PrinstonのBluetooth(PTM-UBT4)を買ったのですが、このドライバを起動させると、RZ1Basicでのシリアルポートの取得に非常に時間がかかって困ってます。ひとつボタンを押すごとに5分くらい待たされてしまいます。原因究明中です。
  • BlueSMiRFの諸設定の方法がよくわかりませんsweat01ので、いまんところデフォルトの115200bpsでやってます。Template Program for GameConで試しているのですが、ETX, ERXの速度を115200に書き換えてやってます。いちおうこの速度でも動いているので反応は速くていいんですけど。。。スーパーターミナルとか、LynxTermとかで、コマンド打ってみたのですが、思ったレスポンスが返ってこないんですよね〜sweat01マックのいいターミナルソフトはないかなぁ??

追記:Windows用に私の買ったClass1 Bluetooth USBアダプタは「Bluetooth USB アダプター PTM-UBT4」です。

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

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