Die optische Maus

Elektronik-Labor  Bastelecke  Projekte  Notizen



Immer wenn ich eine defekte Computer-Maus in die Finger bekomme, schraube ich sie auf und sinniere, was man damit alles anfangen könnte. Kürzlich war es wieder so weit. Eine optische USB-Maus mit angefressenem Kabel kam in meine Reichweite. Das Innenleben ist sehr spartanisch. Es gibt hier einen USB-Controller und den optischen Maus-Sensor OM02. Etwas Suche im Internet zeigte, dass der Sender ein Abkömmling des Agilent-Sensors ADNS-2051 ist. Der Chip hat je zwei X- und Y-Ausgänge, die einen optischen Encoder wie in einer alten Maus simulieren. Das hat für den Maus-Hersteller den Vorteil, dass er alte Maus-Chips direkt anschließen kann.



Etwas rumgestochert, dann ließ sich ein kleiner Deckel lösen, und die volle Pracht des ICs kam zum Vorschein. Mit einer Lupe kann ich dass Sensorfeld mit 16 x 16 Pixeln erkennen. Noch mehr Fläche ist für den DSP-Chip reserviert. Er hat ja auch einiges zu tun. Ein Bild aus 256 Pixeln muss permanent analysiert werden, um eine Verschiebung in X- und Y-Richtung auszumachen. Und das bei mehreren tausend Vollbildern pro Sekunde!




Das Kabel ließ sich reparieren. Ganz ohne die optische Linse ließ sich die Platine am USB als Zweitmaus betrieben. Die Maustasten funktionieren, ebenfalls das Mausrad. Der optische Sensor arbeitet ohne Linse, aber mit der aufgesetzten Schutzkappe als Lochkamera.



Einige Versuche zeigen: Wenn ich die Kamera gegen das Fenster richte und etwas bewege, dann wackelt der Mauszeiger auf dem Bildschirm. Es funktioniert also noch ansatzweise. Auch das Herumfuchteln mit einer Taschenlampe hat eine Wirkung. Aber lässt sich das ganze auch irgendwie systematisch als Maus einsetzen? Ja, man braucht nur fünf Finger, die man gespreizt in einigem Abstand von z.B. 20 cm vor dem Sensor vorbei bewegt. Der Sensor sieht offensichtlich ein bewegtes hell-dunkel-Schreifenmuster, der Mauszeiger kann nun systematisch bewegt werden. Um den Zeiger kontinuierlich zu bewegen, muss die Hand außerhalb des Sichtfeldes immer wieder an die Ausgangsposition geführt werden, damit die erkannte Bewegung immer in die gleiche Richtung geht.

Der Sensor eröffnet noch unendliche Möglichkeiten:


Link-Hinweise von Michael Weinl

Im Zusammenhang mit Ihrem Beitrag über den Maussensor möchte ich auf einige Seiten aufmerksam machen, die sich ebenfalls mit diesen Sensoren befassen:

http://www.mikrocontroller.net/topic/91395
http://www.mikrocontroller.net/articles/Maussensor
http://home.comcast.net/~richardlowens/OpticalMouse/

Zur Erkennung der Bewegung wird übrigens der sog. optische Fluss ausgewertet;

http://de.wikipedia.org/wiki/Optischer_Fluss

Ganz besonders interessant wäre sicherlich auch der PLN 2032, der wohl  auf dem Dopplereffekt und nicht auf dem optischen Fluss beruht. Leider sind für diese Sensoren die Datenblätter nur schwerlich verfügbar.


Weitere Hinweise von Sascha Bader

Bei bestimmten Chips kann man das Bild auslesen:
http://www.bidouille.org/hack/mousecam
http://spritesmods.com/?art=mouseeye

... nnd versuchen dafür eine "Anwendung" zu finden:
http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1253185032/30

An der Stelle fällt mir ein, dass ich mal gelesen habe wie jemand mit einem geöffneten RAM-Chip Bilder aufgenommen hat. Teile der Arbeit zum 64K RAM Chip als Kamera kann man bei Google Books einsehen:

http://books.google.de/books?id=fBuiNpYlyHcC&pg=RA1-PA20&lpg=RA1-PA20&dq=A+low-resolution+camera+system+based+on+a+64k+dynamic+RAM&source=bl&ots=9wwHyQgT_L&sig=NGJQlJrpDTsLzSBb_Ng8kLqkCc4&hl=de&ei=OSLnTYuYPIroOcTv-L0J&sa=X&oi=book_result&ct=result&resnum=3&ved=0CDIQ6AEwAg#v=onepage&q&f=false




Elektronik-Labor  Bastelecke  Projekte  Notizen