AndroidのBLEラジコンプロポアプリ「BLEPropo」と接続し、RCサーボとDCモータを制御するプログラムです。 mbed HRM1017で動作を確認しています。 BLEPropo → https://github.com/lipoyang/BLEPropo
Fork of BLE_RCBController2 by
BLEを使ったAndroid用ラジコンプロポアプリ「BLEPropo」に対応するmbed HRM1017用ファームウェアです。
BLEPropoは、GitHubにて公開中。
https://github.com/lipoyang/BLEPropo
ラジコンは、mbed HRM1017とRCサーボやDCモータを組み合わせて作ります。
Revision 7:505a9a98b776, committed 2015-03-14
- Comitter:
- lipoyang
- Date:
- Sat Mar 14 11:51:38 2015 +0000
- Parent:
- 6:63787b19ec1e
- Commit message:
- - adjust servo center position
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
diff -r 63787b19ec1e -r 505a9a98b776 main.cpp --- a/main.cpp Mon Feb 09 12:42:56 2015 +0000 +++ b/main.cpp Sat Mar 14 11:51:38 2015 +0000 @@ -19,16 +19,6 @@ * limitations under the License. */ -/* - * Library Dependencies: - * - BLE_API (revision 111) - * - HRM1017 - * - HRM1017/projectconfig.h - * connection interval constants are modified. (No need?) - * CFG_GAP_CONNECTION_MIN_INTERVAL_MS 30 - * CFG_GAP_CONNECTION_MAX_INTERVAL_MS 50 - */ - #include "mbed.h" #include "BLEDevice.h" @@ -103,17 +93,27 @@ tb6612_pwma = 1; tb6612_ain1 = 0; tb6612_ain2 = 0; -// // break -// tb6612_pwma = 1; -// tb6612_ain1 = 1; -// tb6612_ain2 = 1; } } +void motor_break() +{ + // break + tb6612_pwma = 1; + tb6612_ain1 = 1; + tb6612_ain2 = 1; +} + +// you must adjust center position +#define RL_ADJ (0) +#define RL_CENTER (1500) +#define RL_RANGE (500.0) + // RC servo -void servo (float deg) +// rl : -1.0 ? 1.0 +void servo (float rl) { - servo_pwm.pulsewidth_us(1500 + (int)(500.0 * deg)); + servo_pwm.pulsewidth_us(RL_CENTER + RL_ADJ + (int)(RL_RANGE * rl)); } // BLE onConnection handler @@ -159,7 +159,7 @@ #endif // initialize servo & motor servo_pwm.period_ms(20); - servo(0.5); + servo(0); motor(0); // initialize BLE