なんでも作っちゃう、かも。

Arduino/Make/フィジカルコンピューティング/電子工作あたりで活動しています。スタバの空きカップを使ったスタバカップアンプなど製作。最近はもっぱらArduinoと3Dプリンタの自作に興味があります。

PIC18F2550でUSB入力デバイスを作る。

Posted by arms22 on 2008年08月23日 5  0

まずは情報収集。

辻見裕史のホームページ - PIC
http://phys.sci.hokudai.ac.jp/LABS/yts/pic/pic.html
USBデバイスとPCとの関係が書かれている。分かりやすい。Microchip社のUSBフォーラムの有益な情報へのリンク多数あり。

趣味のブログ - MCHPFSUSBの、HIDクラスを使ってみました
http://sfukuda.at.webry.info/200804/article_18.html
Microchip社が提供するHIDクラスのサンプルコードをPIC18F2550で動くように変更している。参考になる。

新適当マイコン電子工作研究所 - USBプロジェクト - HIDデバイス(1)
http://noritan-micon.blog.so-net.ne.jp/2008-04-07
Tsuneoさんのコメントが大変参考になります。

USB - Device Class Definition for Human Interface Devices (HID)
http://www.usb.org/developers/devclass_docs/HID1_11.pdf
わからなくなったらここを見るしかない。

USB - HID Usage Tables
http://www.usb.org/developers/devclass_docs/Hut1_12.pdf

daily dayflower - MVPen (Pegasus Mobile NoteTaker) の解析 (3)
http://d.hatena.ne.jp/dayflower/20080807/
Report Descriptorについての解説。MacOSX環境でDeveloperツールをインストールされている方は /Developer/Applications/Utilities/USB Prober.app を起動してマウスやキーボードのReport Descriptorをみるとイメージをつかみ易いかも。

スキャンコード - Wikipedia
http://ja.wikipedia.org/wiki/スキャンコード

開発環境。

USB Application Design Center
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2651¶m=en534494
ここからPIC18/PIC24F用USBフレームワークがダウンロードできる。最新のUSBフレームワークはv2.2。v2.2に関する情報は少なくほとんどのサイトがv1.3を使って開発している。せっかくなので今回はv2.2を使って開発しよう。

MPLAB C Compiler for PIC18 MCUs
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en010014&redirects=c18
USBフレームワークはC18 C CompilerもしくはHI-TECH社のコンパイラ用に作られている。SDCCでの開発は、、フレームワークを移植すればできそうだけど、よけいな問題は抱え込みたくないのでまずはC18 C Compilerを使うことにする。開発はWindows環境で。

関連書籍。
PICで楽しむ USB機器自作のすすめ
PIC18を使ったUSBデバイスの開発について書かれています。PIC18FのUSBモジュールの解説などもあり参考になる。

USBターゲット機器開発のすべて―各種USBコントローラの使い方と基本ソフトウェアの作成法 (TECHI―Bus Interface)
PIC18を使ったUSBデバイス開発の解説があります。

オリジナルUSB機器の設計と製作―USBインターフェースの基礎から応用までを豊富な設計・製作例を通して学ぶ (ハードウェア・セレクション)
ハードウェアより。PIC18も一応ある。EZ-USBとか他デバイス多数。

Ads by Google

5 Comments

says..."管理人のみ閲覧できます"
このコメントは管理人のみ閲覧できます
2009.12.25 11:07 | | # [edit]
arms22 says..."Re: USB-Arduino"
bunchan747さん

こんにちわ。コメントありがとうございます。

> そこで、ArduinoでのUSB-Keybordなるものは
> 敷居が高いのでしょうか?

そうですね。敷居は高いと思います。
というのもArduinoとパソコンはUSBケーブルで繋がっていますが、
ArduinoのマイコンとPCの間にはUSBシリアル変換ICがあります。
その為、ArduinoをUSB-Keybordとして認識させることができません。

USB-Keybordとして認識させるには、
別途USB-Keybordに対応したICを乗せる必要があると思います。

PIC18F2550はUSB-Keybordとしての機能とマイコンとしての機能を
併せ持つので比較的楽にハードウェアを作ることができます。

ソフトウェアの作成はArduino程簡単ではありませんが、
製作例は多いと思いますので、なんとかなるでしょう(笑)
2009.12.25 11:56 | URL | #j7sy4omY [edit]
bunchan747 says..."USB-Arduino"
早速のご回答ありがとうございます。

そうですか・・・・・

まずは、PIC18F2550でやってみようかなと思います。
また、それを利用してArduinoのシールドを作ってもいいのかも。
それとも、単純にキーボードハッキングするか・・・・
とても参考になりました。

またお邪魔させていただきます。
2009.12.28 14:46 | URL | #- [edit]
arms22 says..."No title"
マイクロファンのこのボードなら比較的楽に開発をはじめられそうですよ。
atmelからサンプルコードも提供されているようです。

http://www.microfan.jp/shop/94_174.html
2009.12.28 15:00 | URL | #j7sy4omY [edit]
arms22 says..."Re: USB-Arduino"
さらに調べてみるとTeensyというUSBマイコンボードがありました。
Arduino IDEにパッチをあててArduino環境でUSB Keybord、USB Mouseの開発ができるようです。

Teensyduino
http://www.pjrc.com/teensy/teensyduino.html
2009.12.28 20:28 | URL | #- [edit]

Leave a reply






管理者にだけ表示を許可する

該当の記事は見つかりませんでした。