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)

 

関連記事

Arduinoで温湿度計

Arduinoで温湿度計

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

記事を読む

no image

AndroidでSoftModemを試してみた

今回、ここで言うSoftModemとは、携帯電話のオーディオ端子(イヤホン・マイク端子)を利用し

記事を読む

no image

Atmel Studio 6

米粒AVR(ATtiny10)の開発を行う為に、Atmel Studio 6.0をインストールし

記事を読む

no image

Android + Bluetoothドングル + PIC24F

@hrdakinori さんと言う方が、PIC24FとBluetoothドングルを使って、Andro

記事を読む

Androidで気圧高度計

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

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

記事を読む

no image

米粒AVRのEAGLEライブラリ

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

記事を読む

sdcards

Raspberry Pi SDカードのクラスと起動速度

SDカードにOSをインストールするので、起動にはそれなりに時間がかかります。 では、どれくらい

記事を読む

SDFormatter

Raspbianの起動SDカードを再利用

一度、Raspbianのイメージを書き込んだSDカードは、フォーマットが違う為にWindowsでは利

記事を読む

vlc_media_player

Raspberry Piのサウンドを試したら音が出なかった話

(これはX-WindowのVLCメディアプレイヤーのスクショ) Raspberry Piでは、

記事を読む

no image

Androidで一眼レフカメラのシャッターを制御する

またSoftModemネタです。 調子に乗って arms22さんの記事 iPhoneで一眼レフカメ

記事を読む

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 ↑