「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



ハードオフを物色。今日は立て続けに3つの店舗を
順々にめぐってみた。うちひとつは、今回初めて
行ってみたところ。

その初めて行った店舗は、ほかのところより楽器が
多かった気がする。いくつかムズムズしたものもあった
んだけど、今日は手は出さずに。

キャノンの薄型フラットベッドスキャナが500円とか
300円とかで売ってたんだけど、一応ジャンク売り場
に置いてあったから、ひとまず自重。


帰って来てから調べてみると、CanoScan LIDEシリーズ
だけに限っても、Linuxで使えるやつと使えないやつが
あったみたい。
http://www.sane-project.org/cgi-bin/driver.pl?manu=canon&model=lide&bus=usb&v=&p=
おぉ。あぶねぇ、あぶねぇ。Epsonならあまり心配
要らないんだけど、キャノンはLinuxドライバがなぁ。

型番をチェックしたので、こんど、どこかの店舗で
出物があったら1個買っておこうかな。
(っていうかだいたい出物はある)

500円とかのやつでも、検索してみると、動くことは
動くって感じみたい。多分、XPがサポート切れで
手放した的なものだろうな。




んで、USB-MIDIの機器で何か無いか物色してて、
NanoKey2や、NanoPad2を発見。
…結構なお値段で、これならamazonで新品を送料込み
で買っても殆ど変わらないレベル。元が安いからな。
パス。

で、代わりに、ジャンク箱に入ってた、USBのテンキー
を買ってきた。



帰って来てPCに挿すと、普通に問題なく使える。ok。

コイツとSparkFunのUSBホストシールドを使って、
Arduinoの入力デバイスにしちまおうという作戦。



USBホストシールドには、1.0と2.0があって、ライブラリ
もシールドも、それぞれ分けて考えないといけないん
だけど、とりあえず今なら2.0で統一しちゃえばいいと
思うので、そっちで進めてみる。

オイラの手元のUSBホストシールドは、SparkFunの、
https://www.sparkfun.com/products/9947?
このNew Versionっていう方の基板。ほかにも各社から
出てる。(公式版もある)


とりあえずNew Versionだから、2.0なんだろうと思って、
ライブラリ一式をIDEのlibrariesディレクトリに放り込む。
(ここは勘違いポイント1)


https://github.com/felis/USB_Host_Shield_2.0/blob/master/examples/HID/USBHIDBootKbd/USBHIDBootKbd.ino

このキーボード用サンプルスケッチをコンパイルして、
Arduinoに書き込み。


…動かしてみると、USBデバイスの初期化がうまく
出来ずにエラーになるみたい。「OSC did not start」
が連発。

おっかしいなぁと思って、色々調べなおす。

http://hardwarefun.com/tutorials/using-usb-host-shield-with-arduino

ここを読んでみると、SparkFunの新しい基板でも、
電源周りの配線が、ナニがアレで…と書いてあるので、
ふと基板を見つめなおすと、Powerと書かれたLEDらしき
チップ部品がある。光ってない。

もしかして、オイラ謹製の似非Arduino基板のせいで、
電源配線がナニなのか?と思って、Arduino Uno基板
に換えてみる。
…PowerのLEDが光った。なんだ、電源と通ってなかった
だけなのか。
(ここが勘違いポイント2)


改めて実験…。

やっぱりエラーになっちゃう。もしかして、このテンキー、
相性悪いんじゃね?と思って、フルキーボードを引っ張り
出してきて、繋いでみる。


…動く。動いた。ってことは、相性か?
(ここが勘違いポイント3)



でも、何度か動かしていると、動いたり動かなかったり。
接触の問題かな?と考えてみるも、そんなような、
そうではないような。微妙な動き。



わかんねー。

もしかして、SparkFunのUSBホストシールド固有の問題
が、何かあるんじゃないの?と思って、色々調べてみると、

http://iwatanlab.blogspot.jp/2012/08/arduinousbbluetooth.html
http://dev.tetrastyle.net/2012/01/usb-host-shield-library-20.html

こういう情報が出てくる。ほう。じっくり読んでみた。




どうやら、いくつかの勘違いで複雑骨折しているっぽい。

・勘違いその1:

 SparkFunのNew Versionの基板は、1.0とのピン配置の
 差異を修正したもので、2.0ではないらしい。多分、
 1.0に修正したってことだろうな。
 基板を追ってみると、D7が74HC4050を経由してリセット
 に繋がっているんだけど、コイツをカットして、
 Arduinoのリセット端子に繋ぎかえて、2.0互換に修正
 する必要があるみたい。

・勘違いその2:

 SparkFun製のUSBホストシールドの場合、電源周りは
 外部電源の配線が必要って書いてある。当然ながら、
 オイラ謹製の互換基板の、5Vしか供給してない
 アヤシイ基板のことを言っているわけではないはず。
 電源まわりは一通り見直ししておく必要があるはず。
 (あとで考える課題)

・勘違いその3:

 相性問題で動作が微妙なわけじゃなくて、「その1」
 のとおり、リセットの掛かるタイミングとかで
 微妙な動作になっているっぽい。(ホントかな?)



というわけで、パターンカットとハンダづけが必要に
なるので、とりあえずまた今度に。



いろいろ、マインドマップで整理しないといけないことが
溜まっているんだよな。



コメント ( 0 )