2012年1月16日月曜日

ADK の電源考 その3



無駄に複雑な配線になっています。
実はこの接続を試したいがために、USB Hub を購入しました。

USB Host Shield (ホスト) > USB Hub
USB Hub >(デバイス) Arduino Uno
USB Hub >(デバイス) Xperia Arc

という接続になっています。

このハブはセルフパワー(AC アダプタから給電)方式なので、スマートフォンへの給電はハブが行なっています。
USB Host Shield は純粋に通信のみを行なっています。
ハブからArduino の接続は給電目的です。(プログラムすれば通信も可能です。)

つまり、これまで検討していた電源まわりの配線を一切いじる事無く、USB Host Shield とスマートフォンの組み合わせで ADK を構成できます。(ただし、Library 2.0 を使うため、リセットまわりの改造が必要です。)

この接続は、USB Host Shield Library 2.0 でUSB Hub に対応したことにより、可能になりました。
旧バージョンの USB Host Shield Library を使っている場合は、この接続をしても通信ができないため、ADK ボードを認識しません。

Library 2.0 に含まれるサンプルコードのADK demokit は、Hub に対応するように書かれているため、そのままで上記接続を試す事が出来ました。


Examples > USB_Host_Shield > adk > demoki_20


新ライブラリで USB Hub を使うには、

1) usbhub.h をinclude する。
2) USBHub クラスのインスタンスを作る。
 (USBHub hub0(&Usb); の行が相当。hub1, hub2 ... と使用するハブの個数分書く。メモリの許す限り最大7個まで使用できる。)

以上です。作成したインスタンスに対して、何か行なう必要はありません。


0 件のコメント:

コメントを投稿