Hier mal wieder was nettes sinnfreies für den Feierabend ;) Auslesen der Bilddaten eines ADNS-2610 aus einer Logitech Optical USB Maus mit AVR. Einmal speichern als PPM Bilddatei und einmal Ausgabe auf KS108 GLCD. Siehe readme.txt im Anhang.
>Und wie sieht das mechanisch aus, Optik ...
Sitzt alles noch in der Maus ;)
oder baust den sensor aus und machst eine grosse darmspiegelung.
hallo zusammen, ich arbeite auch an ein Projekt mit dem Maussensor. ich würde gerne die foxusierung verändern, ich möchte dass der sensor auf ein Abstand von 10cm reagiert. ich würde gerne wissen obs ein Programm gibt mit den man die bilderdaten auslesen und grafisch darstellen kann
Mit welchen Sensor arbeitest Du denn? 10cm erscheinen mir zu weit, um irgendwas zu sehen.
Hallo zusammen, Weiß denn irgendwer in welcher Maus der ADNS-2610 Sensor verbaut ist? Ich würde auch mit dem Sensor arbeiten weiß aber nicht in welcher Maus ich den finde.
z.B. Logitech Mäuse haben den ADNS-2610 oder aber auch den grösseren 16 Pin chip ADNS-2051 eingebaut. die Frage war zwar schon etwas her aber nur der Vollständigkeit halber schreib ich das hier :)
wt schrieb: > Mit welchen Sensor arbeitest Du denn? 10cm erscheinen mir zu weit, um > irgendwas zu sehen. Naja, den Fokus kann man in weiten Bereichen einstellen. Für viele Sachen dürfte die Auflösung aber nichtmehr brauchbar sein. Als Webcam ist das aber noch ausreichend. ;)
Um an einen ADNS-2610 zu kommen, braucht man keine Maus zu schlachten; den gibt's bei Segor direkt zu kaufen. mare_crisium
der ADNS-2610 kostet 3,20€ + Porto, eine nagelneue Logitech - oder Noname Maus kostet ca. 4€, auf dem Flohmarkt oder sonstwo gebraucht ca. 1€. Bei einer Maus hat man gleich auch noch ein 5 adriges Kabel, schöne IR-LEDs mit IR-Sensoren, Microschalter usw. dabei. Also wer den 2610 einzelnd neu kauft der hat wohl zuviel Geld.... Logitech Mäuse sind von unten durchsichtig, da kann man sehen ob der 2610 da drin ist (8 Pins)
@ Sigint Kannst du die Hardware & Software zu deinem Bild kurz skizzieren? Es interessiert mich brennend wie du das Bild aufgenommen hast.
@Olaf: Das ist nur ein einfacher Hack. Ich hab einen ADNS-2051 aus einer alten Maus an ein AVR-Devboard gehangen und per Bitbanging die Bilddaten ausgelesen. Danach hab ich die Daten einfach per RS232 an den PC übertragen und mit einem einfachen VB-Programm die Daten in ein Bild umgewandelt. Ist relativ langsam, funktioniert aber halbwegs. Anbei die Projektdateien. Wie gesagt: Ist alles nur ein Hack... Gruß, SIGINT
@Olaf, @SIGINT man kann den ADNS2610 auch direkt über die SPI-Schnittstelle ansteuern (siehe Anhang). Das Assemblerprogramm verwendet die Bezeichnungen von Elm Chang für die Register; die Definitionen sind in der include-Datei enthalten. Die Dokumentation der Irrungen und Wirrungen auf dem Weg zum funktionierenden Code habe ich zur Abschreckung nicht gelöscht ;-). Das Problem beim ADNS2610 besteht in der bidirektionalen SDIO-Leitung; normal wäre je eine separate Leitung für MISO und MOSI. Die Lösung besteht darin, beim Auslesen der ADNS-Register den MOSI-Ausgang hochohmig, d.h. als Eingang zu schalten. Vom Einsatz des Chips als Webkamera darf man nicht zuviel erwarten: Die Framerate ist ca. 1600 fps, pro Aufnahme also 625us. Für das Auslesen eines einzelnen Pixels braucht man ca. 100 us. Für ein komplettes Bild braucht man also mindestens 32,4 ms. In dieser Zeit macht der Chip 51 Aufnahmen. Bewegungen führen deshalb zu unbrauchbaren Bildern. mare_crisium
Hallo Harald, du scheinst dich ja ganz gut mit dem Teil beschäftigt zu haben. Vielleicht kannst du (oder jemand anders natürlich auch) mir weiterhelfen. Ich möchte diesen Sensor auch gerne benutzen. Nun habe ich aber eine Frage: 1. In deinem letzte Post schreibst du, dass der Sensor anscheinend immer das aktuelle Bild, was er gerade sieht, ausgibt, und daher Bilder bei Bewegung nicht zu Gebrauchen sind. Allerdings steht im Datenblatt auf Seite 23, letzter Absatz, dass er sich anscheinend immer das aktuelle Bild speichert. Oder habe ich das falsch verstanden und er speichert immer nur den letzten Pixel? 2. Wenn ich den Sensor pixelmäßig auslese, arbeitet doch die Wegerfassung im Sensor weiter oder? Ich frage deshalb, da ich gerne sowohl den Sensor auslesen möchte als auch in regelmäßigen Abständen die Delta_x und Delta_y Werte lesen möchte. Wenn die durch das Auslesen des sensors verfälscht würden, wäre das schade. Dass natürlich die Delta_x und Delta_y keinen Überlauf haben sollten in der Zwischenzeit ist mir klar. Freue mich über jede Antwort, auch von anderen natürlich. Danke, Tueftler
Tueftler, @1. Der ADNS2610 speichert immer das ganze aktuelle Bild, weil er das für die Auswertung (Vergleich mit dem vorhergehenden Bild) ja braucht. Nur gibt's alle 0,6ms (bei 1600 fps) ein neues ;-)! Und, wie Du aus dem Datenblatt schon weisst, muss man bei der Abfrage jedes einzelnen Pixels 0,1ms warten. D.h. nach den ersten, maximal 6, Pixels, liefert der Chip die Pixels des nächsten Bildes. Wenn das Bild sich bewegt, dann bilden diese Pixels zusammen mit den vorangegangenen kein zusammenhängendes Bild mehr. In meinen Versuchen bekam ich dann horizontale bzw. vertikale Streifen. @2. Ob das geht, habe ich nie probiert; dem Datenblatt nach müsste es hinhauen. Vergiss' aber nicht, dass Du für's Auslesen der 18x18 Pixels mindestens 32ms brauchst (18*18*0,1ms) ;-)! In Wirklichkeit sind's natürlich mehr als 32ms, weil ja noch die Zeit für die Übermittlung über den SPI-Bus und die interne Verarbeitung dazukommt. Ciao, mare_crisium
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.