空を見上げて
トップページ » 電子工作 » Arduinoで遊ぶ(1)

Arduinoで遊ぶ(1)

ADKをやってみたいと思う。
ただ、Android3.1がいるので実機が届かない。
注文が届くのはもう少しかかるらしい。
なので、接続用のものを先に試すことにした。

ADKでも専用のデバイスを買うとこれがまた結構高い。
Androidパッドが買えるかもしれない。(中華パッドの場合)
で、Arduino+USBホストシールドでやってみる。
http://side2.jp/2011/05/try-adk-part1/
に3回にわたって連載されている。

結局はこれと同じようにしてやってみることにしたが、実際は殆どが互換品というかパチものになる。

Arduinoは秋月のものを使った。

【はまったポイントその1:電源供給】
USBから電源をとらない場合、
・ArduinoのジャンパをExtにする
・USBシリアルのJ2ジャンパを外す(そうしないと+5Vがショートする)
になる。
これでVinに+5V+2V程度で9Vほどのアダプタをつけると動作する。

で、USB-Hostシールド。
これはページにもあるが、
・上のようにしてVinから(9Vほど)とるか
・PowerのスイッチをOffにして+5Vからジャンピングするか
になる。
ADKの場合は外部電源がいるのでVinからとるのがいいような気がする。
できれば電源の5V動作がいいが、そうなるとレギュレータ部分を本体・USB-Hostシールドとも変更になる。

USB-Hostシールドはテストソフトも入っているので動作確認はできるが、これだけだと面白くない。
ADKなしで遊べるものはないかと探すと
http://d.hatena.ne.jp/NeoCat/20101123/1290514516
にPasoriをつなぐライブラリがあった。

【はまったポイントその2:ArduinoのVer】
ただ、これに限らず、Arduino0.23では動くがArduino1.0だとコンパイルが通らない。
なんだかincludeが変わったようだ。なのでArduino0.23でいくことにした。
古いのもおいてあって助かった。

【はまったポイントその3:USB-HostシルードのVer】
SpakFannoページを見ると
Max3421e_constants.hの
#define MAX_GPX 8
#define MAX_RESET 7

#define MAX_GPX 7
#define MAX_RESET 8
と書き換えるようになっていて、Sparkfun仕様らしい。
http://www.sparkfun.com/products/9628
ただその後変更したようで両方が混在する。
http://twitpic.com/5yp0yb
で自分のものは修正されていた。
なのでヘッダは修正しなくてもOKというか修正するとまずい。

以上でやってみると、動作した。
しかし、半日使っていると
OSCOKIRQ failed to assert
が出始めて、そのうちこればかり出て動かなくなった。
ネットを漁ってみたが解決方法がよくわからない。
Arduinoは動いている風なのでどうもUSB-Hostが怪しい。ボードを抜くと同じメッセージになりSPIでレジスタの反応を見ているようだ。
いろいろ探すと発振器ではないか?という話がありつけ変えてみた。(12MHz)
症状は変わらない。
どうも初期不良の地雷を踏んだような気がする。
勝って半日ではあるが、この手は完成品ではないので、ハンダもしてあるし不良返却もできそうにない。
泣く泣く再度注文することにした。

by   at 09:00
コメント

コメントはありません

コメントを書く




保存しますか?


(書式を変更するような一部のHTMLタグを使うことができます)


Please enter the security code you see here