Top > blog > 2014-06-08 > 光マウスセンサーをいじってみる2

広告

光マウスセンサーをいじってみる2

http://wiki.edwindertien.nl/doku.php?id=modules:opticalmouse
にArduinoのスケッチも公開してくれているのですぐにできるのだけれど、受け側(PC側)のプログラムによってはうまくいかない。

というのも上のスケッチでは「sendPicture」という関数で画像データを送っているのだけれど、シリアルで送るのに「Serial.print」を使っているため、数値を一文字一文字送信してしまい、受け側のプログラムで324バイト読み込むとおかしなことになる。

つまり、「15」という数値を送る場合、1バイトの「0x0F(16進)」を送って欲しいのだけれど、「1」と「5」の2バイトを送ってくる。 受け側で1バイトずつ読むと「1」「5」と読んでしまう。

なのでこの部分を「Serial.print」ではなく「Serial.write」にすると上の問題はクリアできる。

あと、A2610のデータシートではLEDの駆動にPNPトランジスタを使っているが、自分で作った回路ではNch MOS FETを使ってしまったため、LEDのON-OFFが逆になってしまった。
そのため上のスケッチの「setup」内の

forceAwake(1); // LED on

forceAwake(0); // LED on

にしてLEDを点灯させた。

で、無事画像を得ることができた。ただ、受け側のプログラムの問題か送信側の問題か分からないが、たまに画像の同期がずれたようになる。 送り側の問題だったとしたら、ピクセルのスタートフラグを見ていないからではないかと思う。

そのうちちゃんとまとめて報告する予定(予定は未定w)

Category: [Arduino][Sensor] - 01:16:27


広告

Reload   Diff   Front page List of pages Search Recent changes Backup Referer   Help   RSS of recent changes
Last-modified: Sat, 07 Jun 2014 06:17:42 HAST (2053d)