curious4dev

色々ダメなandroidアプリを開発したい会社員 高橋が綴る、androidアプリ開発やArduinoについて

*

マウスを入力I/Fとして使うのを断念してみた。

 

お疲れ様です。高橋です。

先日の「マウスを分解してみた」でマウスを分解し、ケーブルの先を整えてArduinoに挿して使ってみたいなと思っていましたが、色々ググっていく内に難しい事がわかってきました。

PAW3502について

下記がマウスの実体 PAW3502 のデータシートに載っている「オススメ回路図」です。

usb01

PAW3502を中心に、こんな感じで回路を組めばいいよ、という物です。下の写真が実物ですが、1本1本線を追っていった所、ほぼ100%上記オススメ回路図に従った作りになっていました。

mouse08

これを見ると、USB側の1番が5V、2番がD-、3番がD+、4番と5番にGNDを挿せば良く、2番と3番だけArduinoのデジタルピンに挿せば良くて、これをゴニョゴニョ操作すればいいんだな、と考えました。

USBインターフェイスの壁

色々ググって見つけた「Arduinoで光学式マウスのCMOSセンサーを乗っ取って移動距離を計測する」というサイトでは、PAN3101という8pinのセンサーを使っており、USBインターフェイスとは別物だったため、USBを介さず直接PAN3103に電源とGNDを挿し、その他に2本のデータ用の線(SCLKとSDIO)を使って操作をしておりました。

しかし、今回私がゲットしたマウスの中のセンサーPAW3502は、USBインターフェイスとしての機能が完全にOnChipになっており、センサーとしてだけの信号を取り出すのが難しいのです。

PAW3502の14本のpinの役割が下記ですが、outしてくれるのはLEDの制御とUSB信号の+/-だけです。

usb02

USBは「親」と「子」がおり、親が子に対して「あなたを使います」という処理を行ってから初めて使えるようになります。「親」の事をUSBホストと言います。

私の持っているArduino UNOにはUSBホスト機能が無く、別途、外付けのUSBホストシールドという物を3,500円も出して買わないといけないのです。USBコントローラーのチップ単体でも800円もする代物でした。

という訳で、マウスのインターフェイス化計画は断念する事となりました。

 

以上、よろしくお願い致します。

 - 電子工作

  関連記事

【完成】PCからシリアル通信でEEPROM書き込み

お疲れ様です。高橋です。 PCからシリアル通信を介して楽曲データをEEPROMに …

100均で買ったボリュームコントロール付きステレオ延長コードを、バブ型スピーカーに搭載してみた。

お疲れ様です。高橋です。 先日作ったバブ型スピーカーですが、実は裏側がとても汚い …

LEDドライバなる物の存在

お疲れ様です。高橋です。 本日、同僚とLED周りについて雑談していると、「LED …

赤外線リモコンをケースに格納

お疲れ様です。高橋です。 先日作ったATtiny13Aの赤外線リモコンを、ケース …

音階LED実装 #2

お疲れ様です。高橋です。 本日も昨日に引き続き半田付け。 今日の進捗 昨日の残り …

マウスを分解してみた(リベンジ)

お疲れ様です。高橋です。 壊れたマウスを貰った 本日、壊れたマウスを貰いました。 …

YMZシールドの基板設計 #2

お疲れ様です。高橋です。 先日行ったYMZシールドの基板設計の設計図を元に、部品 …

大掃除を終え、aitendoで30円で売ってたタクトスイッチ基板でクリスマス

お疲れ様です。高橋です。 aitendoで店頭限定30円だったタクトスイッチ基板 …

無線モジュールでモールス信号

お疲れ様です。高橋です。 無線モジュールnRF24L01Pを使った、なんちゃって …

ブレッドボード上のYMZ294をユニバーサル基板化してみたが。

お疲れ様です。高橋です。 ArduinoからYMZを鳴らしているブレッドボードが …