USBで遊ぶ
何年か前にもUSBを学ぼうと、ナショセミのUSBN9602なんかを買ってみましたが、挫折した思い出が。
当時は資料が少なくてねぇ。
USBプロトコルの下層以上は自力でアレしなきゃならないってのも、結構ボリュームがあってねぇ。
今は各マイコン向けのソースがあるようで、とっつき易い様子ですが。orz
で、購入したAT90USB162ですが、Atmelのサイトからソースを頂いてきてDIOにしてみたりマウスにしてみたりしてます。
簡単にメモ
各ソースのダウンロードはこちら↓
http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4440
「Software:」の欄に色々ソースがあるので、お好きなのをダウンロードします。
まずは「USB HID Mouse for STK600 AVR USB Series2」をダウンロードしてみましょう。
※一個下の「USB HID Mouse for STK526」はコンパイルが通りません。
ソースを展開したらdemoフォルダのconfフォルダにある「config.h」を開きます。
72行付近に「#define FOSC 8000」というのが有るので「#define FOSC 16000」に変更します。
これは苺リナックスの基板に載っている水晶が16MHzな為です。
もし、8MHzに交換している場合は不要です。実周波数と合っていない場合はUSB機器として認識されません。
一つフォルダを戻ると「gcc」というフォルダがありますので、そこをDOSプロンプトで開いて「make」と入力します。
あとは
Create hex file
AVR Memory Usage
—————-
Device: at90usb162
と、表示されたらコンパイル完了です。
Flipでgccフォルダに生成された「STK600-series2-hidmouse.hex」ファイルを開き「Run」を実行して書込みすればOK。
StartApplicationすればマウスとして認識されるはずです。
Bポートの0番から順番にマウスの入力として割り当てられていますので、スイッチなりテストリードを当てるなどしてお楽しみください。
B0をGNDに落とすと、カーソルが下に、
B1をGNDに落とすと、カーソルが上に、
B2をGNDに落とすと、カーソルが右に、
B3をGNDに落とすと、カーソルが左に、
B4をGNDに落とすと、右クリックに、
B5をGNDに落とすと、中ボタンクリックに、
B6をGNDに落とすと、左クリックになります。
コレに加速度センサーの値を突っ込むと重力マウスに、抵抗値を計測し、その値を突っ込むと念力(笑)マウスになります。
OS標準のドライバーが当たるため、ドライバーも不要でお手軽です。
トラックバック URL :