This site is described in Japanese.

Arduino + USBホストシールド で ADK を試す(その2)

2011年5月13日 このエントリをはてなブックマークに登録

前回「Arduino + USBホストシールド で ADK を試す(その1)」では、Androidで動かすアプリを紹介しました。

で、今回は接続するハードウェアの方を紹介したいと思います。

※ハードウェアの方は、ちょっとした接続ミスで簡単に基板が壊れたりするので、慎重な作業が必要になります。
お約束事ですが、作成は各自の自己責任でお願いします。

demokit_splash

ハードウェア構成

今回試したのは、

  • Arduino Duemilanove 328
  • Sparkfun USBホストシールド

の組み合わせです。

Arduino Duemilanoveは、Arduinoの最新版である Arduino UNO の1つ前のモデルです。 UNOと何が違うのかよく分かりませんが、たぶんUNOでも動くと思うので、わざわざDuemilanoveを探して買う必要は無いと思います。

USBホストシールドの方は、少し注意点があるので後で詳しく説明します。

本物のADKはArduino MEGAをベースとしているので、Arduino Duemilanoveとは使えるピンの数が圧倒的に違います。 本物のADKでは、LEDがフルカラーだったり、リレーが2つ付いてたり、サーボモーターが付いてたり、アナログジョイスティックが付いてたり・・・するようですが、普通のArduinoではそうは行きません。

な、もんで、接続する部品は

  • LED x 3
  • 押しボタン x3
  • 温度センサー
  • 明るさセンサー

のみとしました。

これだと、少しピンが余るのですが、動作を確認する為にはこれで十分だと思います。
温度センサーにはMCP9701(本物のADKと同じ物)、明るさセンサーにはCDSセルを使っています。

部品一覧

数量 記号 備考
Arduino Duemilanove  1   Arduino Uno
Sparkfun USBホストシールド  1    
LED  3 LED1-3  
スイッチ  3 SW1-3  
MCP9701  1 IC1 温度センサー
CdS  1 CDS1 明るさセンサー
抵抗(1k)  3 R1-3  
抵抗(10k)  1 R4  
セラミックコンデンサ(0.1uF)  1 C1  

 

USBホストシールド

オリジナルのUSBホストシールドは Circuits@Homeと言うところが発売して、Arduinoライブラリなんかもここが開発しているみたいです。 プロジェクト・ページ

今回利用したのは、Sparkfunで発売されている同等品です。(スイッチサイエンスさんで買いました)
SparkfunのUSBホストシールドは、新旧2つのシールドが有るようで、古い方のシールドではライブラリーを一部書き換えないと使えないらしいです。 これからSparkfunのUSBホストシールドの購入を考えている方は、新旧どちらのシールドなのか注意してください。(Arduino Duemilanoveと同じく、古いシールドを手に入れる方が難しいかも・・・)

また、このシールドにはヘッダーピンが付属していません。これから購入する人には、同時にArduino用の連結ピンの購入をお勧めします。 僕は普通のヘッダーピンしか手持ちに無くて、部品の接続に苦労しました。 (結局、配線を直接半田付け・・・と言う不細工仕様w)

※そして最大の注意点

このUSBホストシールドは、電源として、VINからの電源をレギュレータを使って VIN → 5V → 3.3V と2段で変圧して利用しています。
レギュレータとは、目的の電圧よりも高い電圧を、目的の電圧に下げてくれる部品ですが、その特性から必ず目的の電圧よりも高い電圧が必要となります。
USBからの電源をArduinoの電源として利用する場合、VINにはUSBからの5V(実際には5V以下)の電圧が供給されるので、5Vレギュレータに5Vを入力する状態となり、これでは正しく5Vは出力されません。
この結果、Androidと接続するUSBコネクターへの電圧が足りず、AndroidとArduinoを接続してもADKとして認識されませんでした。

悩んだあげく、Arduinoの5V出力を、USBホストシールドの5Vライン(レギュレータの出力端子(真ん中))に接続することにしました。

adk_cap4

USBケーブルから給電せず、ACアダプター等で動かす場合は、この作業は必要ありません。
でも、かわりに、レギュレータの発熱に注意が必要らしいです。
Android端末が充電状態になっちゃって、電流を沢山食うのでしょうがないのかな・・・?

 

部品の接続

USBホストシールドでは、ArduinoのD7~D13ピンを利用しているので、これらのピンは自由に使えません。
残った D0~D6とアナログ入力ピンが部品の接続に使えます。

で、今回は、このような配線としました。

Arduino ADK 回路図

LEDが3,5,6と飛んでいるのは、PWMによって調光する為です。
また、使うLEDによっては、明るさ最大にしても暗かったりするかもなので、そんな時は抵抗を小さい値の物に変更すると良いでしょう。

IMG_0941

ブレッドボード上に、こんな風に配置しました。

 

 

と、ここまででハードウェアの説明は終わって、次は、Arduinoに書き込むプログラムの説明をしたいと思います。

続きはこちら Arduino + USBホストシールド で ADK を試す(その3)

 

Category: Androidと電子工作

Tags: , , ,

TrackBack URL :

Similar Posts / 関連する投稿

3 Comments / コメント

  1. yossy より:

    はじめまして。
    このサイトを参考にさせていただいてADKを試しました。
    こちらはUNOを使用しましたが、問題はありませんでした。

  2. Yuuki Inoue より:

    大変参考になりました。サーボモータ1個でしたら、そのまま駆動できました。

Leave a Reply / コメントをどうぞ

(required)

(required),(Hidden)

Do you want to show your avatar?


Pages / 固定ページ

Category / カテゴリー

Recent Entries / 最近の投稿

Recent Comments / 最近のコメント

Tags / タグクラウド

おすすめのAndroid本