広告 光マウスセンサーをいじってみる2http://wiki.edwindertien.nl/doku.php?id=modules:opticalmouse というのも上のスケッチでは「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が逆になってしまった。 forceAwake(1); // LED on を forceAwake(0); // LED on にしてLEDを点灯させた。 で、無事画像を得ることができた。ただ、受け側のプログラムの問題か送信側の問題か分からないが、たまに画像の同期がずれたようになる。 送り側の問題だったとしたら、ピクセルのスタートフラグを見ていないからではないかと思う。 そのうちちゃんとまとめて報告する予定(予定は未定w) 光マウスセンサーをいじってみる1光学式マウスでは光マウスセンサーと呼ばれる一種の画像センサが使われていて、これが結構いろいろなことができる。 原理的にはマウスが置いてある面を撮像して、画像が動いたら動いた方向(X,Y)と距離を返す。僕の稚拙な文章では何だか分からないだろうから「マウスの動作原理@情報機器と情報社会のしくみ つまりは解像度の低いシンプルなカメラと画像処理回路が入っているセンサだ。 この光マウスセンサーで遊んでみた。 手元にはいらなくなったマウスから取り出したA2610と表記されたAvagoの「ADNS-2610」があったのでこれを使ってみた。 ネットで検索するとこのセンサをいじっている人は多く、Youtubeにもいろいろな動画が出ている。
カメラでもあるので画像も撮れる。スキャナにしている人もいる 手っ取り早く遊ぶのにArduinoにつなげている人はいないか探すと、やっぱりいる 広告 |