汎用多目的超小型リモコンロボットコアユニット bCore をコントロールするiOSアプリケーションです。
iOS8.0以降のバージョンのiOSのインストールされている、BLE対応のiPhone, iPod touch、iPad※で利用可能です。
アプリのダウンロードは ⇒App Store : bDriver Android端末から bCore を使用したい場合は、@shohaga様が開発・提供している
bCore Driver for Android Windows10 PC及び端末からbCoreを使用したい場合は、@shohaga様が開発・提供している
bCore Driver for Windows 10/Windows 10 Mobile をご利用ください。(2016/11/30更新)
Version更新履歴
Version 1.12 (2017/01/23) リリース
└接続可能デバイス認証方式(名称→Service UUID)の変更Version 1.11 (2016/11/30) AppStoreでの公開開始
└接続可能デバイスチェックの強化、設定画面のレイアウト修正
Version 1.10 (2015/11/06) AppStoreでの公開開始
└サーボの同期機能、名前設定機能が追加されました。
Version 1.01 (2015/08/22) AppStoreでの公開開始
└各機能の番号割り付けをbCoreモジュールのシルク印刷に合せました。
Version 1.0 (2015/08/03) AppStoreでの公開開始
bDriverの使用方法
<起動画面>

<スキャン画面>

・画面下部のScanボタンを押すと、10秒間スキャンを行い周辺のBLEデバイスを発見し表示します。
・スキャン中でも、リストに表示されたデバイスを選択して接続することができます。
ただし、bCoreモジュール以外への接続はできません。(強制的にスキャン画面に戻ります。) →bDrive Ver.1.11から、アドバタイズパケットでデバイス名が"bCore"で無いデバイスをリストから外すようになりました。
・bDriver ver. 1.10から、リストに表示される名前は、
上段:設定された名前(初期値はbCore固有名称)
下段:bCore固有名称
となりました。
・bCoreモジュールは、個々にユニークな名前(固有名称:bCore_xxxxxxxxxxxx)を持っており、同時に複数のbCoreモジュールがあっても個々に識別されます。ただし、1つのbDriverから同時に複数のbCoreモジュールに接続することはできません。
<制御画面>

・bCoreモジュールは、最大で4つのPortOut,4つのラジコンサーボ、2つのモーター(疑似速度制御)を制御できます。
モジュールの種類ごとに制御可能な機能の数は異なりますが、自動的に通信設定を行い、制御可能な機能のみが制御画面に表示されます。
<設定画面>

1. bCoreモジュールへの名前設定
2. 各サーボ、モーター、ポート出力機能の表示オン/オフ(制御画面上の表示/非表示)、
3. 各サーボおよびモーターの回転方向反転オン/オフ、
4. 各サーボの同期機能オン/オフ、
5. 各サーボのトリム調整(原点位置の微調整)
を行います。
・この設定値は、各bCoreモジュールごとに独立して記録されるため、同じbCoreモジュールに次回接続された場合には自動的に反映されます。
1. 名前設定
各bCoreモジュールに名前を設定する機能です。
ここで入力された名前は、次回スキャン時にスキャンリスト上に表示されます。
これにより、複数のbCoreを運用する場合などの識別性が向上します。
名前未設定の場合は、bCore毎に設定されたユニークネームの bCore_XXXXXXXXXXXX が表示されています。
2. 表示オン/オフ
各機能を制御画面上に表示するかどうかの設定です。
操作の必要ない機能をオフすることで、制御画面をすっきりとさせることができ、
誤操作の防止にもなります。
3. 回転方向反転オン/オフ
スライダを動かした時に回転するサーボ及びモーターの向きを逆向きにすることができます。
4. 同期機能オン/オフ
同期機能をオン設定したサーボは、Srv1のスライダに連動して制御されます。
自身のスライダはグレイアウトして操作不能になります。
回転方向反転、トリム調整機能は同期中も独自に設定できます
5. トリム調整
各サーボのスライダ中央位置での静止位置を微調整することができます。
- 2016/11/30(水) 11:13:16|
- bDriverとは?
-
-
| コメント:5
> 180度くらいまで動くはずのサーボが90度くらいまでしか動いてくれないのですが?解決策はありますでしょうか?
ラジコンサーボのPWMの位置信号が1500us±500usで所定の角度を動くというのが基本的な仕様で、
(メーカーに寄って若干違いが有ります)
http://berry.sakura.ne.jp/technics/servo_control_p3.html
その幅を超えたパルスに対してどのように動くかは保証されていません。
アナログサーボによっては特に短いパルスで誤動作を起こしてモーターが焼けたりするため、
bCoreでは安全のためキッチリ1500us±500usの幅でしか信号を出さないようになっています。
そのためサーボによっては動作角度が狭くなる可能性があります。
- 2016/04/25(月) 03:21:28 |
- URL |
- Takashi Yamamoto #-
- [ 編集 ]
Typo修正しました。
bDriverの仕組みですが、
iOSアプリの場合、ここで公開してあるサンプルコード
http://vagabondworks.jp/blog-entry-152.html
を、xCodeで空のiOSアプリのプロジェクトを作って、2つのファイルを上書きするだけで
コンパイル実行できますので(xCodeのバージョンが上がったのでSwift1.0互換モードでないとダメだと思いますが)
これにUIをつけていくことで簡単に 自前のアプリを作ることができると思います。
BLEデバイスとの接続については、iOS×BLE Core Bluetoothプログラミング(
http://amzn.asia/bEVqeop )、
BLEデバイス接続のコードサンプルについては、
https://sites.google.com/a/gclue.jp/swift-docs/ni-yinki100-ios/11-corebluetooth このママですので、参考にして頂ければと思います。
接続さえできれば、あとはタイマイベントやUIイベントで、目的のCharacteristicにコマンドを投げるだけ です。
- 2017/05/23(火) 16:35:46 |
- URL |
- Takashi Yamamoto #-
- [ 編集 ]