PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Maus als Bewegungssensor



Zet
25.07.2007, 17:16
Hallo,

ich würde gern eine Maus als Bewegungssensor nutzen. Die anderen Beiträge verstehe ich nicht, weil ich dafür zu wenig Ahnung habe. Ich habe mir vorgestellt, dass ich den Sensor irgendwie über eine Standardschnittstelle an den Rechner anschließen kann. Was brauche ich dazu und wie geht das? Ich möchte das alles dann mit LabVIEW auslesen. Wer kann mir da helfen?

Grüße Zet

Asurokiller
05.08.2007, 10:51
Wozu brauchst du denn den sensor genau?

1hdsquad
05.08.2007, 13:53
So wie ich das verstehe, ist eine Maus ein Bewegungssensor, der über eine Standardschnittstelle an den Rechner angeschlossen wird ;-) Sonst könnt man ja nicht in den Mediamarkt gehen und eine Maus kaufen, die garantiert an den genauso aktuellen Rechner "passt". Die Frage ist eher: Was möchtest du messen bzw. muss die Maus in ihrer Reichweite verändert werden (Abstand zum Messobjekt mehr als 1cm?) und wie lässt du LabView die USB/PS2/Serielle Schnittstellle auslesen? Da ich nie Labview benutzt habe, kann ich dir da nicht helfen, aber wie gesagt: Eine Maus macht genau das, was du willst, es muss dir nur jemand sagen, wie du sie überreden kannst, mit LabView zu sprechen. Ne? ;-)

pongi
05.08.2007, 14:53
In LabView 8 Professional gibts unter Connectivity --> Input Device Control die geeigneten VIs zur Auswertung der Mausbewegung. Ich selber hab das noch nie benutzt, also schau in der Hilfe und den Beispielen nach, wie die funzen.

MfG

pongi

1hdsquad
05.08.2007, 14:54
Zu Deutsch: RTFM! Das man das immer sagen muss...

pongi
05.08.2007, 14:57
:D
@1hdsquad: Du bist heute in einer nicht besonders toleranten Stimmung oder? :D

Obwohl ich Dir recht gebe... Manche Fragen könnte man sich ersparen. Obwohl in diesem Fall ich auch ein bisschen im LabView Menü suchen musste, um das zu finden...

1hdsquad
05.08.2007, 15:01
Tja, aber warum? Warum kann er es nicht machen? Ich meine, jeder fängt mal klein an, aber er sollte wenigstens selber anfangen und nicht andere anfangen lassen. Und meine Stimmund ist bestens, ich habe nur neulich nochmal das Wie man Fragen richtig stellt (http://www.lugbz.org/documents/smart-questions_de.html) gelesen und hatte einen Geistesblitz. Aber wir verstehen uns da, denke ich ;-)

BeautyofBaud
05.08.2007, 23:50
Hallo, erstmal zu dem Thema Sensor... vielleicht kannste ja nochmal genauer erläutern "wie" du diesen Sensor einsetzen willst? Willste damit messen wie oft meinetwegen ne Tür aufgeht / wie weit sie sich bewegt oder willste auf Basis von zb nem Notebook / PDA n Roboter aufbauen und den sozusagen als Alternative zu nem Incremental-Geber/Drehgeber nehmen?
Soll das Ganze automatisiert werden oder willste "nur die Werte"?
Standardschnittstelle... Ich geh mal auch davon aus, dass du PS/2 bzw den USB meinst.

Was brauchst du....
... In einer gewissen Abstraktion:

- Wenn ich mich nicht irre war LabView Grafisch,von daher brauchste dann
erstmal ne Plattform auf der du deine Programmen ausführen kannst...
Das heißt du brauchst im einfachsten Fall was wo du deine Laufzeitumgebung und deine (wenn benötigt) weiteren Module drauf hast.

- Den Sensor...In deinem Fall: Du willst wahrscheinlich die ganze Maus mit allen schon auf ihr "installierten" (Hardware-)Modulen verbauen und dann nurnoch am Usb auslesen.

-Für LabView brauchste die Entwicklungsumgebung, die Laufzeitumgebung auf dem jeweiligen System wo es ausgeführt werden soll und die jeweiligen Erweiterungen (Software-Module) mit denen du arbeitest.

Auseredem:

- Viel Zeit... vorallem bei größeren Programmen werden diese grafischen Sachen unübersichtlich....

Ich hoffe ich konnte dir helfen.
Ansonsten kannste mich auch gern per PM anschreiben.

greEtz Baud

Zet
06.08.2007, 17:59
Hallo,

danke erstmal für die Antworten.
Ich hatte vor, einen Low-Cost-Wegsensor zu bauen. Da wäre die eine Möglichkeit, den Weg über einen Drehwinkel auszurechnen und der andere über den optischen Sensor direkt eine translatorische Bewegung zu erfassen. Der Abstand ist kleiner als 1cm.
Das Problem von den Standard-LabVIEW-VI's ist, dass man zwar die Cursor-Koordinaten auslesen kann, die aber auf dem Bildschirm begrenzt sind. Heißt also bei einer Auflösung von 1024x768 kann ich die Maus soweit wie ich will nach rechts bewegen, der Wert bleibt bei 1024. Außerdem will ich ja meine normale Maus weiterhin nutzen können, auch wenn das Programm läuft.
Ich habe aber mittlerweile gelesen, dass diese Methode zur Wegmessung wohl ziemlich ungenau ist! :-(

Grüße Zet

pongi
07.08.2007, 07:32
Sollte schon genau sein, wenn Du nur gradaus fährst, aber eine Drehung lässt sich schwer ermitteln. Du kannst ja selber schauen was passiert, wenn Du die Maus auf einer Stelle drehst.

BeautyofBaud
07.08.2007, 09:18
Wegen der Drehung... wir haben bei unseren Omni-Wheel bots 2 Maussensoren verbaut... Wenn die Abstände gleich sind dann kannste damit ganz prima die Werte ermitteln (Prinzip ist hoffentlich klaar =) )...
Was du jetz mit der Translation meinst versteh ich gerade net....
Ist die Bewegung (bis auf eine Drehung) nicht immer translatorisch?!

naja greEtz Baud

pongi
07.08.2007, 10:30
Ja, mit zwei Maussensoren gehts ja, er möchte aber eine Maus an ein PC anschliessen, und so gehts nicht. (wenn er auch zwei Mäuse anschliesst, hat er immer noch nur ein Kursor)

BeautyofBaud
07.08.2007, 11:09
Ich halt von Labview genausoviel wie von Robolab oder diesen anderen Baukastensystemen die man überall findet...Gut für "Anfänger" die sich noch nicht so mit der Materie auseinander setzen wollen / können oder schnelle Basteleien, aber es ist meiner Meinung nach trotzdem eher ne Spielerei... Ich selber hab damals mit VB 4.0 angefangen und dann ganz schnell auf C gewechselt - aus gutem Grund. Ich denk damit wird er eh nicht lange arbeiten können... Spätestens wenn das ein größeres Projekt wird dreht er beim Debuging durch ^.^.

@Zet ich würd dir empfehlen arbeite dich in C / C++ oder Bascom ein und les dir alles über diese Sensoren durch... Davon haste auf jedenfall mehr =). Das erscheint am Anfang vielleicht schwer oderso, aber du wirst dankbar sein, dass es diese Sprachen giebt *g*.

Mal ne Frage die mir gerade in den Kopf kommt ... Giebs eigentlich schon C# Compiler @AVRs?

greEtz Baud

pongi
07.08.2007, 13:49
LabView ist schon ne professionelle Sache, das muss man schon sagen, es ist aber halt nicht für alles geeignet. Vor allem, wenn man schnell eine schöne Oberfläche braucht.
C# für AVR? Das wär schon ein bisschen Overkill, oder? Ich mein, bei einem 8bit Atmega8 der keine Befehle für dividieren und multiplizieren hat... Da reicht schon C völlig aus. (Wäre das selbe wie LabView - VB am PC) :D

Zet
07.08.2007, 16:47
@BeautyofBaud

Also eine Maus hat ja prinzipiell 2 Arten von Sensoren:

1. Den optischen Sensor und
2. den Sensor im Mausrad (mittlere Maustaste zum Scollen).

Ich habe einen Motor, an dem könnte ich das Mausrad anschließen. Dieser Motor setzt über einen Zahnriemen die Drehung in eine lineare um. Auf dem Zahnriemen ist ein Schlitten, der sich also hin und her bewegen kann.
Von daher könnte ich beide Möglichkeiten nutzen um den Weg zu errechnen.

@rest ;-)

Tja, was nun die bessere Programmiersprache ist, kann man drüber streiten. Das Problem ist, dass ich früher oder später dann eine C - dll in LAbview einbinden muss, weil der Rest auch schon in LabVIEW läuft. Da dachte ich, ich kann das auch gleich in LV machen.


Grüße Zet

BeautyofBaud
07.08.2007, 19:48
@ Zet der Optische Sensor ist ja eigentlich ne kleine Cam... mit der kannste die Translation ja dann bestimmen.... Sry aber ich weiß net was du mit dem Umdrehungssensor @Mausrad willst... ist doch dann unnötig? naja.
@ Pongi .
.. Jaja schon nur es interessiert mich halt ob es Möglich ist =).
Grafische-Geschichten sind halt dann zu gebrauchen, wenn man wenig Zeit hat... Das ist meine Meinung =)

greEtz Baud

Zet
07.08.2007, 20:41
Dachte nur, wenn das mit dem Sensor nicht funktioniert, dann könnte man das ja auch mit dem Drehsensor machen.
Wie hoch ist denn die Genauigkeit? Wollte damit ca. 50cm Weg messen. Wie genau kann ich das mit einem handelsüblichen Sensor machen?

Grüße Zet