Hatena::ブログ(Diary)

個人ページ

2008-04-18

[]DIY PS/2 mouse

f:id:nicotakuya:20080418160412j:image

PS/2マウスの自作をやってみました。

ホスト側の自作はネットに一杯公開されてるのですが、自分の知る限りデバイス側を自作した人は居ないと思います。すでにいらっしゃったら教えてください。

f:id:nicotakuya:20080418155851g:image

回路図です。

AVRマイコンをMINI-DINコネクタと可変抵抗につないだだけ。とんでもなくシンプルです。

使ってるジョイスティック(可変抵抗)は共立シリコンハウスの3Fで売ってるやつです。

(ADC0をX軸、ADC1をY軸につなぎます)

シリコンハウス

http://www.siliconhouse.jp/

f:id:nicotakuya:20080418160409j:image

上下左右にレバーを倒すとマウスカーソルが動きます。

Z方向に押すと左クリックになります。

写真。

http://photos.yahoo.co.jp/ph/takuyamatsubara/lst?.dir=/8b47&.src=ph&.view=

動画。グダグダです。

http://www.youtube.com/watch?v=mB34genn8JM

後半がオマケ映像です。PS/2マウスのホスト側の自作(LEDドットマトリックスのお絵かき)をやってます。

http://sourceforge.jp/projects/nicobasic/releases/

ソースです。フリーソフトです。動作無保証。

他のパソコンで動かない可能性がかなり高いのでご注意ください。


この技術をどうするかというと、、、特に用途は思いつきません。

ジョイスティックは部品として面白いので、ロボットの制御とかゲームに使いまわしがきくと思います。

--------

技術的なことの補足

動作はWindows95の入ったNECノートパソコンでチェックしました。

通信内容をモニタしたところ、起動時にパソコンからデバイスへ送ったデータは次のようになりました。内容は使用するパソコンやOSによって違うと思います。

EC  ラップモード停止

FA  *謎

F6  デフォルト設定

F5  レポート停止

F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1F1 *謎

F6  デフォルト設定

F5  レポート停止

F6  デフォルト設定

F5  レポート停止

F314 サンプリングレート設定 (20)

F1  *謎

E803 レゾリューション設定(8count/mm)

E6  スケーリング設定

F328 サンプリングレート設定(40)

F4  レポート開始

、、、0xF1と0xFAがデバイスへ送られてきたのですが、どの資料にも載ってない未対応のコマンドでした。これで6日くらい悩みました。

現状では、0xFE(retry)と0xFC(error)を返しています。

はてなユーザーのみコメントできます。はてなへログインもしくは新規登録をおこなってください。

トラックバック - http://d.hatena.ne.jp/nicotakuya/20080418/1208502004