これができると、ADKで必要とされているバージョン2.3.4や3.1のAndroid端末が無くてもマイコンと接続が可能になります。
メリット等を書き出すと前置きが長くなるので、現時点での作業の流れを書き出します。
以下のGoogle Codeサイトからサンプルとライブラリを落としてきます。
"Downloads - microbridge - Android Debug Bridge (ADB) implementation for microcontrollers. - Google Project Hosting": http://bit.ly/oPPqHm
3点ダウンロードファイルが有るうち赤い枠線で囲まれた2点をダウンロードします。
- ServoControl.zip ServoControl demo application
- Androidプロジェクトです。Eclipseからインポートします。
- MicroBridge-Arduino.zip MicroBridge Arduino library
- Arduino側のファーム・プログラムとライブラリ&サンプルです。
MicroBridge-Arduino.zipを解凍した後のライブラリ&サンプルの配置については、以下のURLを参照してください。「Arduinoのライブラリをインストール」という項目に手順が書いてあります。
"いわたんlab 日記: AndroidとArduinoをUSBホストシールドでつなぐ(非ADK編)": http://bit.ly/qhUDpg
また、Arduinoは「Galileo 7 ADK Main Board」を使ってみます。「Galileo 7 ADK Main Board」でMicroBridgeを使う場合、ライブラリを「ADKリファレンスボード」として書き加える必要が有ります。書き加えるファイルと内容は以下のURLを参照してください。
"いわたんlab 日記: ADKリファレンスボードでMicroBridgeを使う":http://bit.ly/oQeNze
- (ちなみにスペルミスがあって:×「ARDUINO/librarys/Adk/max3421e.h」→○「ARDUINO/libraries/Adb/max3421e.h」です〜)
上記URLでライブラリ&サンプルがAdbという名称で登録され、ADKリファレンスボードが利用可能になるので、Demoサンプルを開いてみます。
下図のようにArduino IDEを起動して、[File]-[Examples]-[Adb]-[Demo]を選択します。
Arduino IDEからDemoサンプルを選択 |
void setup() { // Initialise serial port Serial.begin(57600); // Note start time lastTime = millis(); // Attach servos servos[0].attach(2); servos[1].attach(3); // Initialise the ADB subsystem. ADB::init(); // Open an ADB stream to the phone's shell. Auto-reconnect connection = ADB::addConnection("tcp:4567", true, adbEventHandler); }Servoクラスのattach()メソッドの説明:
"Arduino 日本語リファレンス":http://bit.ly/pDS0xf
Arduinoのデジタルピン2と3にサーボモータの信号ラインを接続しています。
赤丸の部分がデジタルピン2と3の接続部分です。
手前の黄色の丸のサーボモータがピン2側、奥側の青色の丸のサーボモータがピン3側に接続しました。
左からMBA,IS/01,Arduino,電池ボックスとブレッドボード |
サーボモータは3つのラインを持ち、信号ラインの他に5V電源の赤(+)と黒(ー)のラインがあります。
上記の接続画像では、5V電源を単三電池にしています。
Android側のプログラムとの連動は次回に!
0 件のコメント:
コメントを投稿