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

公開日: 電子工作 | , , , ,

前回「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)

 

関連記事

Raspberry Piのスクリーンショット

  ブログで使う用に、Raspberry Piのスクリーンショットを撮りたいと思った時、

記事を読む

Arduinoで温湿度計

秋月電子の温湿度モジュールを使って、温湿度計を作ってみました。 以前「パソコンで温度計」と言うもの

記事を読む

Raspberry Pi インターネット接続

Raspberry Piをインターネットに接続してみた。 有線で接続(Ethern

記事を読む

no image

Androidとオーブントースターを繋いでみた

Android端末とオーブントースターを、Arduino+USBホストシールドで作ったADKっぽい奴

記事を読む

ArduinoでSDカード

電子工作で大量のデータを保存する方法を調べていると、 Arduinoでも比較的簡単にSDカードを

記事を読む

no image

PICでMicroBridgeをやってみた

今回は、@yishiiさんが公開されている、PIC24FJ64GB002用のMicroBridgeソ

記事を読む

no image

Android Open Accessory開発時のWiFiデバッグ

Android Open Accessory開発時のデバッグは、ADBをWiFiで接続しろと、USB

記事を読む

no image

PIC24FJ64GB002でADKを試す(その1)

先日、MicrochipからPIC向けのAndroid Open Accessoryのライブラリが公

記事を読む

パソコンで温度計

ありきたりのPC温度計ですが、なんとなく作りたくなったので作ってみる。 コントローラーは手軽な

記事を読む

no image

Bimeji Client for Arduino

前回紹介したWimeji Client for Arduinoの最後で予告していた、Wimeji c

記事を読む

Comment (3件)

  1. yossy

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

  2. Yuuki Inoue

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

Arduinoで温湿度計 #2

今回は、前回作った温湿度計にRTCモジュールとSDカードアダプタを

Arduinoで温湿度計

秋月電子の温湿度モジュールを使って、温湿度計を作ってみました。 以前

ArduinoでSDカード

電子工作で大量のデータを保存する方法を調べていると、 Arduin

秋月のリアルタイムクロック(RTC)モジュール

今回は秋月電子のI2C接続のリアルタイムクロック(RTC)モジュールを

秋月の小型キャラクタLCD

今回秋月電子で売られている小型のキャラクター液晶2種を買ったので、

PAGE TOP ↑