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)

 

関連記事

Androidから米粒AVRへデータを送る

米粒AVRでSoftModem的なこと その2

前回は「米粒AVRからAndroidへデータを送る」ことを試しました。 今回はその逆の「And

記事を読む

raspi-colortest

Raspbianの起動

Raspbianの起動画面をキャプチャしてみた。 SDカードにイメージを書き込んだままのデフォ

記事を読む

Raspberry Pi - Ethernet

Raspberry Pi インターネット接続

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

記事を読む

S2 SoundIR analyzer

赤外線リモコン受信機(イヤホンジャック接続)のアプリ

 前回の赤外線リモコン受信機(イヤホンジャック接続)の回路 を使う為のAndroidア

記事を読む

no image

米粒AVRで小型8連ナイトライダーを作ってみた

米粒AVR(ATtiny10)を2つ使って、8つのLEDを順番に点灯しています。 &nbs

記事を読む

no image

AndroidにPS2キーボードを繋いでみた

@yishiiさんの素のAndroid端末を外部のキーにより操作する実験と言う記事を参考に、Ardu

記事を読む

no image

Android+Arduinoでリモコン3 その2(AndroidAccessory接続)

何度か、Android+リモコンのネタを書いたことがあるのですが、今回はAndroid Access

記事を読む

Arduinoで温湿度データロガー

Arduinoで温湿度計 #2

今回は、前回作った温湿度計にRTCモジュールとSDカードアダプタを取り付けて温湿度データロガーを

記事を読む

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

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

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

記事を読む

no image

Softmodem Terminal 公開しました。

需要がどれほど有るのか疑問に思いつつ、以前のエントリ(AndroidでSoftModemを試してみた

記事を読む

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 ↑