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)

 

関連記事

米粒AVT(tiny10) リモコンレシーバー

米粒AVRでリモコン受信処理

  米粒AVR(Tiny10)で赤外線リモコンを受信して処理をするサンプルを作ってみまし

記事を読む

Hello Tiny10

米粒AVRでI2C通信を使ってLCD表示

前の記事で紹介したI2Cライブラリを使った、LCDの表示のライブラリ的なもの  

記事を読む

no image

米粒AVRのEAGLEライブラリ

EAGLEを使って米粒AVR(ATtiny10)の回路図を書こうと思ったら何か様子がおかしい。

記事を読む

no image

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

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

記事を読む

Androidで気圧高度計

androidで気圧・高度計(LPS331AP使用)

Androidと大気圧センサー(LPS331AP)をイヤフォンジャックで繋いで気圧と高度、ついで

記事を読む

秋月電子 キャラクタLCD

秋月の小型キャラクタLCD

今回秋月電子で売られている小型のキャラクター液晶2種を買ったので、ちょっと比較してみる。 買っ

記事を読む

no image

AndroidとArduinoの接続で使えそうなBluetoothモジュール

1ヶ月ほど前に書いた、Android + Bluetooth + Arduino が割と人気があるよ

記事を読む

Arduinoで温湿度計

Arduinoで温湿度計

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

記事を読む

no image

ボツネタ~CAN的な何か

少し前に必死になって作ってたデバイス+アプリですが、気持ちが萎えてしまい、結果ボツと

記事を読む

thermometer

パソコンで温度計 #2

今回は温度表示とログ取りアプリを作ったので公開。 前回にArduino+STTS751で作った

記事を読む

Comment (3件)

  1. yossy

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

  2. Yuuki Inoue

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

Arduinoで温湿度データロガー
Arduinoで温湿度計 #2

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

Arduinoで温湿度計
Arduinoで温湿度計

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

SDカード・マイクロSDカード
ArduinoでSDカード

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

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

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

秋月電子 キャラクタLCD
秋月の小型キャラクタLCD

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

PAGE TOP ↑