{{outline}} !!!Android端末からロボットを操作しよう !!Bluetooth Beeとは Freaduino UNOをBluetooth通信でAndroid端末から操作するため、今回はBluetooth Beeを使用します。Bluetooth Beeは、XBee互換のSPP対応Bluetoothモジュールです。また、Bluetooth BeeをFreaduino UNOに接続するためのFreaduinoセンサーシールドV1.2 (XBeeインターフェース付)も併せて使用します。Android端末上で動作するコントローラーソフトとして無料のVS-C2 for Androidを使用します。VS-C2 for Androidをインストールしていない場合は、[Google Play|https://play.google.com/store/apps/details?id=vstone.app.Bluetooth_Pad&hl=ja]からダウンロードしてください。〇 [Bluetooth Bee v2|https://www.vstone.co.jp/robotshop/index.php?main_page=product_info&products_id=4550] {{ref_image bluetoothbee.jpg}} [FreaduinoセンサーシールドV1.2 (XBeeインターフェース付)|http://www.vstone.co.jp/robotshop/index.php?main_page=product_info&products_id=4366] {{ref_image sensorshield.jpg}} [VS-C2 for Android|https://play.google.com/store/apps/details?id=vstone.app.Bluetooth_Pad&hl=ja] {{ref_image vsc201ss.jpg}} !!デモ映像 以下は[Bluetooth Bee|https://www.vstone.co.jp/robotshop/index.php?main_page=product_info&products_id=4550]、[FreaduinoセンサーシールドV1.2 (XBeeインターフェース付)|http://www.vstone.co.jp/robotshop/index.php?main_page=product_info&products_id=4366]をロボットに搭載したデモ映像です(ビデオ前半が本ページの内容になります)。 {{include_html youtube01}} !!Bluetooth Bee V2をロボットに搭載しよう <<これ以降の組立、配線はFreaduino UNOに電源が入っていない状態で行ってください。>> 最初に、写真のようにBluetooth BeeをFreaduinoセンサーシールドに搭載します。 {{ref_image blueSields.jpg}} 次に、ジャンパーでD2-Dout,D3-Dinを接続します。また、スライトスイッチが'''Vb'''を選択していることを確認してください。 {{ref_image blueSields_conf.jpg}} ジャンパーとスライドスイッチを確認した後、Bluetooth Beeを搭載したセンサーシールドをFreaduino UNOに搭載して、センサーシールドの上からサーボモータの線を挿します。 {{ref_image bluetooth.jpg}} センサーシールドのピン配列は以下の通りです。 +腰サーボモータ:4番ピン +右足サーボモータ:5番ピン +左足サーボモータ:6番ピン +首サーボモータ:7番ピン {{ref_image blueSields_order.jpg}} !!Bluetooth Bee V2のデモプログラムをインストールしよう 配線が完了したら、デモプログラムをダウンロードして{{ref DemoBlueRobotV2a.ino,Android端末からロボットを操作しよう}}、ロボットにインストールしてください。<<トリムは再度調整しておいてください。>>72行目のtmp_trim[SERV_NUM]={0,0,0,0}; を修正します。 <<このデモプログラムを書き込むときは、サーボモータのケーブルを外しておいてください。プログラムを書き込む際に電圧降下を起こさないようにするためです。>> ''モーションを割り振っていないコマンドを受信した場合も、ロボットのサーボが小刻みに少し震えますが、これはSoftwareSerialとServoライブラリのタイマー処理が干渉しているためと考えられ、Arduinoの仕様に依存しているためです。ご了承下さい。'' Bluetooth Bee V1をお使いの方は{{ref DemoBlueRobot.ino,Android端末からロボットを操作しよう}}をご使用ください。 以下はデモプログラムの抜粋と大まかな処理の流れです。 +readCommand()関数でVS-C2 for Androidのコマンドを読み出して、VSC2配列に格納します。 +次にVSC2配列を参照して、コマンドを実行します。 +コマンドを実行した後に、VSC2配列とシリアルのバッファを初期化します。 {{include_html sc_vsc2}} !!Android端末とのペアリング方法 プログラムが正常にインストールされて、Freaduino UNOが再起動すると、Bluetooth Bee上で'''青色LEDが点滅します'''。この状態でAndroid端末からペアリングを行います。 Bluetooth Bee V1は'''赤と緑のLED'''が'''交互に光ります'''。 ペアリングを行ったらVS-C2 for Androidを起動してください。 {{ref_image vsc200s.png}} VS-C2 for Androidの画面が表示されたら、画面左下の赤枠の部分をタッチします。 {{ref_image vsc201s.jpg}} 写真のようなメニューが表示されるので、デバイスの接続をタッチします。 {{ref_image vsc202s.jpg}} 表示されたデバイス一覧からHMSoftを選択してください(写真はv1の際のものでDemo3と表示されていますが、v2を使えばHMSoftと表示されます)。ペアリングコードを要求する画面が出てくるので1111を入力してください。無事ペアリングされれば、画面上部に接続完了と表示され、Bluetooth Beeの'''青色LEDの点滅が終わり光ったまま'''になります。これはペアリングされている状態を示します。この状態で、ロボットを操作できるようになります。'''電源投入からペアリングができるようになるまで数十秒かかります。''' Bluetooth Bee V1の場合、表示されたデバイス一覧からDemo3を選択してください。ペアリングコードを要求する画面が出てくるので0000を入力してください。Bluetooth Beeの'''緑のLED'''がゆっくり'''1回ずつ点滅'''します。これはペアリングされている状態を示します。この状態で、ロボットを操作できるようになります。 {{ref_image vsc203s.jpg}} ペアリングを解除するには、再度、デバイスの接続で"HMSoft"を選択してください。 !!うまく動作しない場合の対処法 (1)いつまでもBluetooth Beeの'''緑のLED'''が'''2回の点滅'''を繰り返している場合(Bluetooth Bee v1のみ) 何らかの理由でBluetooth Beeがペアリング要求を待つモードに移行できていません。Freaduino UNOのリセットボタンを押して再起動してください。再起動後、Bluetooth Beeの赤と緑のLEDが交互に点滅すれば、無事ペアリング要求を待つモードに移行できています。 (2)Bluetooth BeeがAndroid端末と'''ペアリングされているのに、ロボットを操作できない'''(Bluetooth Bee v1のみ) Bluetooth BeeとAndroid端末のペアリングはできているが、Freaduino UNOとBluetooth Bee間でうまく通信できていない状態です。以下の手順で解決可能です。 +一旦ペアリングを解除してください。 +次に、Freaduino UNOを再起動します。 +Bluetooth Beeが、'''赤と緑のLED'''が'''交互に光り'''、ペアリング要求を待つモードに移行したことを確認します。 +再度、Android端末からペアリングを行ってください。 (3)Android端末からBluetooth Beeが見えない お使いのAndroid端末がBluetooth Beeに対応していない可能性があります。詳しくは[Bluetooth Bee V2の製品ページ|https://www.vstone.co.jp/robotshop/index.php?main_page=product_info&products_id=4550]、および、お使いのAndroid端末のメーカーページをご参照ください。 (4)その他(Bluetooth BeeのLEDが点灯しない、ペアリングが正常にできないなど) 手順は間違っていないのにBluetooth Beeが正常に動作しない場合、電圧降下が発生している場合があります。電池の容量が十分残っているか、また、サーボモータのトリムを調整しているかをご確認ください。サーボモータのトリムが調整されず、サーボモータに過分な負荷がかかっていると、電圧降下の原因になる可能性があります。 !!VS-C2 for Androidをさらに使いこなしたい方に 今回のデモプログラムでは、VS-C2 for Androidの入力の内、十字キーと○×ボタンのみを使用してあります。VS-C2 for Androidをより使いこなしたい、他のデバイスと連携してみたいという方のために、VS-C2 for Androidから送られてくるコマンドを表示するプログラム{{ref SeeedBluetoothV2Sample.ino,Android端末からロボットを操作しよう}}を用意しました。以下の手順で使用してください。 Bluetooth Bee v1用はこちらとなります。デバイス名(Demo3)、ペアリング(0000){{ref DemoBlueShowCommand.ino,Android端末からロボットを操作しよう}} +Freaduino UNOにセンサーシールドとBluetooth Beeを搭載します +USBケーブルでPCに接続します +Freaduino UNOを再起動して、シリアルモニタ(ボーレート115200)を立ち上げます +シリアルモニタに"start"と表示され、Bluetooth Bee v2のLEDが点滅することを確認します +Android端末側でデバイス名HMSoftにペアリング(1111)をして、VS-C2 for Androidで操作します +VS-C2 for Androidでいずれかのボタンを押してください +VS-C2 for Androidから送られてくるコマンドが直接シリアルモニタに表示されます(ボタンを同時押し等してどのように変化するか確認してください) VS-C2 for Androidから送られてくるコマンドはVSC2配列に格納されています。プログラム内でVS-C2 for Androidのコマンドを参照したい場合は、VSC2配列を参照してください。 [[<<前のページ|人感センサーを使おう]]  [[目次|ピッコロボ取扱説明書]]