Hallo! Ich versuche mittels eines PICs den zurückgelegten Weg einer optischen PS/2 Maus zu erfassen und auf einem Display auszugeben. Die Ansteuerung des Displays habe ich fertig. Ich kann auch mit der Maus kommunizieren. Doch ich ich habe ein Problem. Das erste Byte der Mausdaten scheine ich richtig zu empfangen. Ich kann per Tatsendruck auf der Maus Bits setzen. Jetzt versuche ich die Bewegungsdaten der Maus auszuwerten, hierzu addiere ich die empfangenen x bzw y Werte einfach auf. Dabei ergeben die errechneten Werte aber keinen Sinn in meinen Augen. Bewege ich die Maus nur in X Richtung, dann verändern sich x uns y Wert sehr stark und sie werden größer und kleiner. Hat jemand schon Erfahrung mit sowas? Hab schon ne Weile hier gestöbert aber noch keine Plausible Antwort gefunden. Hab meinen Code mal angehängt. Wär super wenn mir jemand helfen könnte. Gruß Stumpi
schon mal das durchgelesen: http://www.computer-engineering.org/ps2mouse/ Beitrag "PS2-Tastatur / PS2-Maus an Attiny2313 in C" Beitrag "PS2 Maus an Mega8"
Viele Mäuse machen intern eine ballistische Umsetzung der Bewegungsdaten, da hast Du dann die A..Karte wenn Du damit einen Weg messen willst, weil je schneller sich die Maus bewegt, desto mehr "Impulse" pro Wegstrecke erzeugt sie.
wie finde ich denn raus ob die maus das macht? bzw wo finde ich eine dies nicht macht?
Schau mal die Datenblätter von Chips für optische Mäuse an. Avago (früher Agilent früher HP) stellt solche her. Die wurden/werden z.T. auch in Logitech Mäuse verbaut. Möglicherweise steht dort auch mehr dazu, ob und wie sich das Beschleunigungsverhalten der Maus ändern lässt. U.a. lassen sich auch die optischen Rohdaten auslesen. Weiter gibt es von Microchip eine uralte AppNote, um mit einem PIC einen Mauscontroller zu realisieren. Dort dürfte sich sicher auch noch etliches anpassen lassen.
Nein, das steht da mit Sicherheit nicht drin. Der Maussensor und der Mauscontroller sind zwei getrennte Teile, den Mauscontroller kann Avago nicht beeinflussen, der wird vom Hersteller der Maus gemacht.
Guido Körber schrieb: > Nein, das steht da mit Sicherheit nicht drin. Der Maussensor und der > Mauscontroller sind zwei getrennte Teile, den Mauscontroller kann Avago > nicht beeinflussen, der wird vom Hersteller der Maus gemacht. Aber vielleicht dem Maussensor einen eigenen Controller verpassen, in welchem sich das dann einstellen lässt. Bittebittebitte, Guido, sei nicht so pessimistisch. Wo ein Wille ist, ist ein Weg...
Ich sag ja nicht, dass es nicht geht, nur so wie es beschrieben wurde wird nix draus. Ein ADNS2051 hat beispielsweise eine Art SPI Schnittstelle, die kann man z.B. über einen IO-Warrior per USB ansprechen. Hat aber den Nachteil, dass man sich die Mechanik irgendwie selber dengeln muss, oder halt eine Maus umbauen.
Hi Ich weiss, das das nicht direkt zum Thema gehört, aber kennt jemand eine Liste mit den Sensoren, die in den einzelnen Mäusen verbaut sind? MfG Spess
spess53 schrieb: > Hi > > Ich weiss, das das nicht direkt zum Thema gehört, Dann eröffne doch einen neuen Thread dazu. > aber kennt jemand eine Liste mit den Sensoren, die in den einzelnen Mäusen > verbaut sind? Wird es so wohl kaum geben, aber wir können ja anfangen: Avago ADNS-2051 in Logitech Wheel Mouse (M/N: M-BJ58)
Viel Auswahl gibt es eh nicht auf dem Markt. Avago ist der Patentinhaber für die originale Technik, einziger Lizenznehmer ist ST, die haben aber wenig auf dem Markt. Bleibt nur noch Cypress, die eine andere Technik verwenden und noch nicht sehr lange in diesem Markt sind. Im Endeffekt findet man in den meisten Mäusen einen Avago.
Ich habe auf einer früheren Windows-Version mal ein Programm gehabt, das die vom Mauszeiger auf dem Bildschirm aufsummierte und anzeigte. Sowas könnte man in Pixel oder Bildschirm-cm kalibrieren. Das Programm heißt "mouse odometer" oder so ähnlich. Je nachdem, ob Du eine Lösung für eine reale Längenmessung oder eher einen Scherz bzw. GUI-soziologische Studien (oder wirtschaftliche: "Welcher Angestellte nutzt die Mauspolster am schnellsten ab?") vorhast, könnte so ein Programm die einfachste Lösung sein.
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.