2011年8月19日金曜日

MicroBridgeのサンプルDemoを使ってみる(1)

MicroBridgeでArduinoを動かしてみようと思います。
これができると、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点をダウンロードします。

  1. ServoControl.zip ServoControl demo application
    • Androidプロジェクトです。Eclipseからインポートします。
  2. 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サンプルを選択
初期化処理等を記述しておくsetup()メソッドの38、39行目にサーボモータの初期設定処理が書かれています。Servoクラスのattach()メソッドの引数として、デジタルピン2と3を使うように書かれています。
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 件のコメント:

コメントを投稿