mikrocontroller.net

Forum: Projekte & Code Optical Maus Sensor ADNS2610 mit AVR


Autor: holger (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: holger (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Und hier ein kleines Bild aus dem Sensor.

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das 'e' ist nur knapp 1mm hoch !

Autor: Lothar Lehmann (lole)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und wie sieht das mechanisch aus, Optik ...
Grüsse Lothar

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Und wie sieht das mechanisch aus, Optik ...

Sitzt alles noch in der Maus ;)

Autor: bastler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
machste 100 stück nebeneinander und schon haste 100mm....

Autor: bastler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oder baust den sensor aus und machst eine grosse darmspiegelung.

Autor: doofi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: wt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit welchen Sensor arbeitest Du denn? 10cm erscheinen mir zu weit, um 
irgendwas zu sehen.

Autor: Sandra (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 :)

Autor: Sigint 112 (sigint)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
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. ;)

Autor: Harald M. (mare_crisium)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um an einen ADNS-2610 zu kommen, braucht man keine Maus zu schlachten; 
den gibt's bei Segor direkt zu kaufen.

mare_crisium

Autor: maus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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)

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Sigint

Kannst du die Hardware & Software zu deinem Bild kurz skizzieren? Es 
interessiert mich brennend wie du das Bild aufgenommen hast.

Autor: Sigint 112 (sigint)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@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

Autor: Harald M. (mare_crisium)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@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

Autor: Tueftler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Harald M. (mare_crisium)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.