GPduino (BLEタイプ)

GPduinoとは

gpduino_r3.png    gpduino_r3_overview.png

GPduinoは、Arduino互換のBLEラジコン制御ボードです。
プリセットファーム書き込み済みで、スマホから簡単にラジコンカーやラジコン戦車のコントロールができます。
Arduino互換なのでArduino IDE を使用して独自のファームを開発することができます。
またKonashi互換のBLEモジュール Koshian を搭載しており、スマホアプリの開発にはKonashiのSDKを利用することができます。

現在、最新版のボードは GPduino Rev3 (2016年3月以降の頒布)です。
・GPduino Rev2 (2015年12月頒布) のサポートはこちら

仕様

・電源 3.6V~6V 推奨 ※1
・RCサーボ×3ch ※2
・DCモータ×2ch (最大連続1.2A / 最大瞬間3.0A) ※3
・Arduino Pro Mini 3.3V互換 (AVR ATmega328P-AU 8MHz)
・Konashi v2 互換 BLEモジュール Koshian 搭載
・プリセットファームウェア書込済み
・Android / iOS / Windows(WUP)に対応
・外形寸法 50mm x 45mm
回路図はこちら

※1 LiPo×1セル、NiMH×3~5セル、乾電池×3~4セル など
  LiPoを使用する場合、衝撃や過電流による発火・爆発にご注意ください。
※2 電源電圧に適合するものをご使用ください。
  コネクタは2.54ピッチピンヘッダまたは1.25mmピッチPicoBladeコネクタのものが利用できます。
※3 電源電圧および最大電流に適合するものをご使用ください。
  マブチ FA-130 モータは使用実績がありますが、過負荷時には定格を超える恐れがあります。
  またミニ四駆用のチューンモータは定格を超える電流が流れますので使用しないでください。

コネクタとピン配置

gpduino_r3_pins.png

CN1 DCモータ1 ①モータ- ②モータ+ ※1 
CN2 DCモータ2 ①モータ- ②モータ+ ※1
CN3 アナログ入力 ①GND ②A3 ③A2 ④A1 ⑤A0 ⑥+3.3V ※1,2
CN4 電源 ①電源+ (3.6~6V) ②電源- (GND) ※3
CN5 I2Cバス ①GND ②SDA ③SCL ④+3.3V ※2
CN6,CN9 RCサーボ0 ①電源- (GND) ②電源+ (3.6~6V) ③制御パルス ※4
CN7,CN10 RCサーボ1 ①電源- (GND) ②電源+ (3.6~6V) ③制御パルス ※5
CN8,CN11 RCサーボ2 ①電源- (GND) ②電源+ (3.6~6V) ③制御パルス ※5
CN12 ISP ①MISO ②+3.3V ③SCK ④MOSI ⑤RESET ⑥GND ※6
CN13 USBシリアル ①DTR ②RXI ③TXO ④VCC ⑤CTS ⑥GND ※7
SW1 電源スイッチ ※8
J3 通信切り替え ※9

※1 コネクタは未実装です。2.54mm or 2.5mmピッチでお好みのものを使用してください。
  日圧のEHシリーズを推奨します。
※2 プリセットファームでは使用しません。
※3 日圧のPHコネクタを実装済み。コネクタつきケーブルが付属します。
※4 お使いのサーボに合わせて、2.54mmピッチピンヘッダか1.25mmピッチPicoBladeコネクタの
  どちらかを実装してください。部品は付属します。
※5 お使いのサーボに合わせて、2.54mmピッチピンヘッダか1.25mmピッチPicoBladeコネクタの
  どちらかを実装してください。
※6 コネクタは未実装です。ISPでファームウェアを書き込みたいときに使用します。
※7 コネクタは未実装です。お好みのものを使用してください。ピンヘッダが付属します。
※8 スイッチは付属しますが、未実装です。
  裏表どちらかに実装するか、コネクタ等で引き出すなどご自由にしてください。
※9 スイッチは付属しますが、未実装です。お好みに応じてジャンパ等をお使いいただいても結構です。

プリセットファームで使用する

GPduinoには予めプリセットファームが書き込まれており、
専用プロポアプリによって、自動車型ラジコンまたは戦車型ラジコンの
コントロールができます。

propo.png

Android版プロポアプリは GP Propo という名前で Google Playで配布しています。
アプリの使い方とソースコードは下記を参照してください。

GP Propo (Android版) - GitHub

iOS版プロポアプリは、GP Propo という名前で App Store で配布しています。
アプリの使い方とソースコードは下記を参照してください。

GP Propo (iOS版) - GitHub

(1) 自動車モード(デフォルト)

自動車モードでは1個のDCモータと1個のRCサーボをコントロールできます。
DCモータで駆動輪を駆動し、RCサーボで操舵輪をステアリングすることを想定しています。
レーシングカーのようなタイプのラジコンのコントロールができます。

基板裏面のジャンパを下図のように設定します。(出荷時にはこのモードになっています。)

自動車モード J1をショートにします
 J2をオープンにします
 DCモータを[DCモータ1]に接続します。
 RCサーボを[RCサーボ0]に接続します。

4WS(四輪操舵)をおこなう場合は、RCサーボを2個使います。
前輪操舵のRCサーボを[RCサーボ1]に接続し、後輪操舵のRCサーボを[RCサーボ2]に接続します。

(2) 戦車モード

戦車モードでは2個のDCモータをコントロールできます。
片方のDCモータで左側駆動輪を駆動し、もう一方のDCモータで右側駆動輪を駆動することを想定しています。
戦車のようなタイプのラジコンのコントロールができます。

基板裏面のジャンパを下図のように設定します。

戦車モード J1をオープンにします
 J2をショートにします
 左駆動輪のDCモータを[DCモータ1]に接続します。
 右駆動輪のDCモータを[DCモータ2]に接続します。

RCサーボの調整

GPduinoのプリセットファームには、RCサーボの回転の向き、センター位置、振幅を調整する機能があります。
プロポアプリの設定画面で調整することができます。詳細はこちらを参照してください。

また、Windows用サーボ調整ソフトもあります。
後述のUSBシリアル変換基板を介してUSB仮想COMポートでGPduinoに接続し、サーボの調整を行ってください。

Windows版サーボ調整ソフト (Visual Studioのプロジェクト一式)
Windows版サーボ調整ソフト (Exeのみ)

ファームを開発する

Arduino IDEでファームを開発できます。
GPduinoは、Arduino Pro Mini 3.3V互換のボードです。
IDEのメニューの[ツール]から下記のように設定します。

arduino_menu.png

書き込みはArduino Pro Miniと同様、
USBシリアル変換基板が必要です。CN13に接続してください。
SparkFun製 FTDI Basic Breakout - 3.3V を推奨します。
かならず、3.3Vのものを使用してください。

ftdi.jpg

下記のような結線ができればその他のUSBシリアル変換基板を使用してもかまいません。

[ピン配置]
DTR RXI TXO 3.3V CTS GND
GRN                             BLK

書き込み時にはジャンパJ3を[USB]側に設定してください。

ジャンパの設定

ジャンパJ3を[USB]側にした場合、AVRマイコンのシリアル受信(RxD)はUSBシリアルのシリアル送信(TxD)と接続されます。
ジャンパJ3を[BLE]側にした場合、AVRマイコンのシリアル受信(RxD)はKoshianのシリアル送信(TxD)と接続されます。
AVRマイコンのシリアル送信(TxD)は、常にUSBシリアル/Koshian両方のシリアル受信(RxD)と接続されています。
適宜、デバッグ用などにUSBシリアルを活用してください。

Arduino IDE の使い方については本家のドキュメントを参照してください。

または、ISPでの書き込みも可能です。
詳細は各開発ツールのドキュメントを参照してください。

Arduinoのピン名と接続先

 0 RxD USBシリアルのTxD / KoshianのTxD  A0 アナログポート A0
 1 TxD USBシリアルのRxD , KoshianのRxD  A1 アナログポート A1
 2 DCモータ1のIN1 ※1  A2 アナログポート A2
 3 RCサーボ0のPWM  A3 アナログポート A3
 4 DCモータ1のIN2 ※1  A4 I2Cバス SDA
 5 DCモータ1のPWM ※1  A5 I2Cバス SCL
 6 DCモータ2のPWM ※1  A6 モード設定(自動車モード/戦車モード)
 7 DCモータ2のIN1 ※1  A7 バッテリー電圧 ※2
 8 DCモータ2のIN2 ※1    
 9 RCサーボ1のPWM    
10 RCサーボ2のPWM    
11 ISPのMOSI    
12 ISPのMISO    
13 ISPのSCK    

※1 東芝製 DCモータドライバ TB6612FNGのデータシートを参照してください。
※2 バッテリー電圧を1/2に分圧して入力しています。したがってanalogReadの値を x とすると、
  バッテリー電圧は (2 * 3.3 * x) / 1023 V です。

アプリを開発する

KonashiのSDKでアプリを開発できます。

Androidの場合

 konashi-android-sdkを利用してください。
 当然ながらBLE対応機種に限られます。

iOSの場合

 Objective-Cで開発 → konashi-ios-sdkを利用してください。
 JavaScriptで開発 → konashi-js-sdkを利用してください。

Windowns10 の場合

 Konashiは公式にはWindowsをサポートしていません。
 shaga氏が開発したLibGPduinoライブラリを利用してください。
 UWP(Universal Windows Platform)でGPduinoを利用できます。

各開発環境およびSDKの使い方についてはそれぞれ本家のドキュメントを参照してください。

KoshianモジュールとAVRマイコンはUARTで接続されています。
独自のアプリとファームを開発する場合には、
双方のボーレート設定を合わせ、適宜フォーマットを決めて通信してください。
参考までにプリセットファームとプロポアプリの通信仕様はこちらにあります。

ダウンロード

回路図 / CADデータ(Eagle) / プリセットファームウェア
Android版プロポアプリ
iOS版プロポアプリ

頒布

・2016年3月20日 NT京都2016 にて頒布
・2016年7月9-10日 メイカーズバザール大阪 にて頒布
・2016年7月16-18日 NT金沢2016 にて頒布
・2016年8月6-7日 Maker Faire Tokyo 2016 にて頒布
・2016年12月3-4日 Ogaki Mini Maker Faire にて頒布
・2017年3月19日 NT京都2017 にて頒布予定

おことわり

この製品は開発者向けキットであり、民生電気用品の安全基準を考慮していません。
提供されるハードウェア/ソフトウェアの性能は一切無保証です。
この製品を使用したことによるいかなる損害についても開発者/頒布者は責任を負いません。
また、ここに記載されている製品の外観・仕様・価格等は、予告なく変更される場合があります。

ご意見・お問い合わせ


 

Captcha認証コード

Captchaをクリックすると違う文字候補が出てきます。