Hallo, hat jemand einen Tipp, wo man etwas mehr ueber die Funktionsweise optische Mäuse erfährt? Mir ist klar, dass dort Bilder aufgenommen werden und durch Vergleich eine Bewegung detektiert werden kann. Mich interessieren Algorithmen und technische Details. Beim Googeln habe ich nichts brauchbares gefunden. Danke und ade, Thomas H.
Wenn man bei google nach "Funktionsweise optische Maus" sucht, dann stößt man u.a. auf diesen Artikel, http://www.de.tomshardware.com/consumer/20030131/logitech-mx-01.html in dem u.a. Auflösung und Geschwindigkeit der Bildsensoren erwähnt werden. Außerdem wird da als Chiphersteller Agilent erwähnt. Suche bei Agilent nach "optical mice" ergibt u.a. das Whitepaper http://literature.agilent.com/litweb/pdf/5988-4554EN.pdf und außerdem ein Datenblatt zu so einem Sensor: http://literature.agilent.com/litweb/pdf/5988-9164EN.pdf bye Markus
Hallo Markus, das ist so eine Sache mit dem "richtigen" Suchen. Du hast mir auf jeden Fall sehr weitergeholfen. Thomas H.
und mir grad auch...vielen dank! btw: thread found with yahoo...bei google war nur werbung
Und mir auch - endlich mal jemand, der nicht immer nur dumm schreibt: "Such doch in google". Vielen Dank!
Hi .. ich hab mal in ner Projektarbeit an der Uni mit solchen Chips rumgespielt. Die von Agilent haben je zwei x/y Ausgänge, bei denen ein inkrementelles Signal anliegt, je nachdem wohin geschoben wird. Also ne integrierte Standalone Lösung zum fertigen verbasteln. Anders wirds in den Mäusen auch nicht mehr gemacht, das passiert alles auf dem Chip. der Flo
Tach die Damen! Wenn du dich für die Algorithmen interessierst solltest du dich mal mit der "Kreuzkorrelation" beschäftigen: http://de.wikipedia.org/wiki/Korrelation Sehr interessantes Thema! Gute Nacht, Thomas
Hallo, ich hab mir so nen Algorithmus mal rein theoretisch überlegt: Gegeben ist ein ständig aktualisiertes Bild der "Kamera" von z.B. 16x16 Pixel, wobei jedes Pixel z.B. 8Bit-genau gespeichert wird (Helligkeit). Wir nehmen an, dass durch eine genügend hohe Abtastfrequenz das jeweilige Folgebild nur max. 2 Pixel nach rechts/links/oben/unten verschoben werden kann. Wir speichern immer das letzte Bild als Referenz. Wir vergleichen bei jeder Abstastung das Bild mit der Referenz, mit der Referenz um 1 Pixel nach links verschoben, mit der Referenz um 2 Pixel nach links verschoben, mit der Referenz um 1 Pixel nach links und 1 Pixel nach oben usw (bei einer maximalen Verschiebung um 2 Pixel in alle möglichen Richtungen sind das dann insgesamt 16 Vergleiche). Für den Vergleich wird einfach pixelweise der Betrag der Helligkeitsdifferenz genommen und dieser aufaddiert. Der Vergleich mit der kleinsten Summe ist dann der "wahrscheinlichste". Nun muss nur noch ein X/Y-Zähler entsprechend inkrementiert/dekrementiert werden und das Signal ausgegeben werden. Stefan
hallo!! ich habe ein problem, mit der maus! D.h. eigentlich. ich Arbeite in einer firma die kunstoff rohre herstellt. so weit so gut! nur wir messen die länge bzw. die geschwindigkeit mit einem inkrementengeber. jetzt sind mein meister und ich (wegen der genauichkeit) auf die idee gekommen eine optische maus auf das rohr zulegen! hört sich dumm an ist aber wen es klappt gut und günstigt! wir müssten nur wissen wie das signal für die bewegung aus der maus kommt, d.h. bis ins kable! ich würde mich sehr über eine andwort freuen! Danke schon mal an jeden der mir (und) helfen kann!
Hallo, dieses System wird übrigens auch in der Formel 1 eingesetzt, hier wird der Querversatz, Beschleunigung, Verzögerung und vieles mehr mit gemessen. Habe mal auf ner Messe das System begutachtet und mal in so nem Fahrzeug mitgefahren das damit ausgerüstet war.Als Leuchtmittel kam da eine normale Autoglühbirne zum Einsatz allerdings mit einer Optik die das Licht etwas gebündelt auf die Straße warf, gab also nen Lichtkegel mit ca. 15cm Durchmesser. Auflösung laut Mitarbeiter geringe 300x300 Punkte aber eien sehr hohe Abtastrate. http://people.freenet.de/Thomasoly/Korrelation/Korrelation1.JPG http://people.freenet.de/Thomasoly/Korrelation/Korrelation2.JPG
Hi, Patrick, die Mäuse haben doch meist einen Adapter auf PS/2 dabei. Das Protokoll dafür wirst Du sicher leicht im Netz finden! Die Funktionsweise der Maus ist dafür vollkommen egal...
Na da werd ich mir doch an mein Auto gleich mal eine Maus dran schrauben als "Pfadfinder". Dann noch im Navi, das Ziel einprogrammiert, und schon kann ich mich auf die Rückbank setzen, udn der Wagen fährt alleine sonstewo hin Ne, aber mal im Ernst: kann man das irgendwie in der "Robotik" verwursten mit den Chips bzw. dem Grundprinzip der optischen Mäuse?
re. johannea raschke? ???? ich weis mit deine antwort leider nichts anzufangen, vieleicht hast du (die anderen) mich ja falsch verstanden. also die maus soll den weg messen. da stellt sich die frage, wen sich die maus bewegt, was kommt für ein signal aus dem kable! das heist ich bräuchte ein getaktetes signal bzw impulse die ich auf eine sbs legen kann, und über mein programm in der sbs erechne ich mir dann die länge und geschwindigeit! ich stelle mir das halt so vor das die maus 3 anschlüsse bzw. 3 adern hat 5V + ; 0V - ; und halt den für die impulse wen es über haubt impulse sind?!?!
Nein, so einfach ist das von einer Maus gelieferte Signal nicht. Die "PS/2-Schnittstelle" ist eine synchrone serielle Schnittstelle (besteht aus einer Takt- und einer Datenleitung) und auf dieser Schnittstelle wird ein -je nach Maushersteller- unterschiedliches Protokoll ausgegeben. Das sind mehrere Bytes, die einerseits relative Bewegungsinformationen in X- und Y-Richtung enthalten und andererseits den Zustand der Maustasten beschreiben. Wenn die Maus ein Mausrad hat, wird auch dessen relative Bewegung ausgegeben. Die relative Bewegungsinformation bezieht sich immer auf den vorhergehenden Datensatz (wie weit hat sie sich seitdem bewegt), und die Maus erzeugt immer dann einen Datensatz, wenn etwas geschieht, also eine Taste gedrückt wird oder die Maus bewegt wird. Für Deine Anwendung benötigst Du einen Microcontroller, der die "PS/2-Schnittstelle" zur Verfügung stellt und das serielle Protokoll der Maus auswertet, die für Dich unnötigen Informationen verwirft und die anderen Daten für Dein Steuergerät aufbereitet beispielsweise an einer seriellen Schnittstelle ausgibt. Betr. "Adapter auf PS/2": Einige verkaufte Mäuse sind "bilingual", sie können sowohl an einer USB-Schnittstelle betrieben werden als auch mit einem einfachen Adapter an einer "PS/2"-Schnittstelle. Das bedeutet aber nicht, daß das mit beliebigen USB-Mäusen funktioniert! Besorge Dir daher besser eine Maus, die von vornherein nur eine "PS/2"-Maus und keine USB-Maus ist. Es ist zwar theoretisch möglich, mit einem Microcontroller auch eine USB-Maus anszusteuern (Forensuche: "verrückter Japaner"), das aber ist extrem aufwendig ... Wie auch immer: Viel Erfolg!
Hi! Du könntest aber auch die Signale direkt in der Maus abgreifen. Da ist quasi nur ein IC drin das die otpische auswertung macht. Das liefert direkt X und Y QEP (?) Signal. Sollte einfach auszuwerten sein ;) Meist sind Sensoren von Agilent drin, evtl findest nen datasheet. Sonst einfach messen, sollten leicht zu erkennen sein mit nem Oszi ;)
@Rufus Schöner hätte ich es auch nicht ausdrücken können. Vielleicht hilft Patrick auch dieser Thread weiter: http://www.mikrocontroller.net/forum/read-1-83132.html Gruß Johannes
danke alle die sich um infos bemüht haben. ein wunder bares forum wo mal echte kenner einem helfen, und nicht müll gepostet wird!!!!! DAnke noch mal an alle!!!!!!!
@Patrick Aber vergiss nicht, dass die Mäuse (durch die Funktionsweise des Vergleichsalgorithmus) eine bedingte maximale Geschwindigkeit haben, die Du messen kannst. Du müsstest anhand eines Datasheets bestimmen, wie schnell das Rohr denn überhaupt sein darf, damit die Maus überhaupt Werte aufnimmt, ausserdem wirst Du wahrscheinlich die Maus nicht 100% positionieren können, so dass u.U. nicht 100% der Bewegung in X oder Y Richtung des Maussensors stattfinden, sondern verteilt, also z.B. 95% X und 5% Y richtung. In dem Fall sollte Dein MC ein wenig Vektorrechnung drauf haben ;) Weisst ja, Wurzel aus VX² + VY². Grüße
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.