hallo, ich habe das Programm von dieser Quelle(http://www.rn-wissen.de/index.php/Maussensor) gefunden und wöllte ich es an mein geschlachtete Maus anpassen, in dem Code steht über PAN3101 und ich habe ein Maussensor vom Typ(ADNS2610), meine Frage ist: ich möchte den Sensor an einem Atmega88 anschliessen, soll ich die Pins 3(SDIO)-----an--------> PC4(SDA) und 4(SCK)-------an--------->PC5(SCL) anschliessen, oder ist es beliebig, 2 Frage muss man irgend ein Register im Code anpassen, oder passt das Programm auch zu ADNS2610, weil in dem Code steht ein Register(0x16), und der habe nicht im Datenblatt gefunden. bitte um Eure Hilfe. danke im Voraus
Sahra Nana schrieb: > soll ich die Pins 3(SDIO)-----an--------> PC4(SDA) und > 4(SCK)-------an--------->PC5(SCL) > anschliessen, oder ist es beliebig Es ist egal, weil die Schnittstelle sowieso per Software abgebildet wird. > oder passt das Programm auch zu ADNS2610, weil in dem Code steht > ein Register(0x16), und der habe nicht im Datenblatt gefunden. Was tut das Register? Ist seine Verwendung/Initialisierung nötig? Passen alle anderen Register? DENKEN kostet nichts und das Ergebnis ist LERNEN... :-/
Gast
#2187542
Hallo und viel Erfolg Also das Register 0x16 ist das für den Motion_Status, also ob sich die Maus bewegt hat und dann musst du halt in deinem Datenblatt (Seite 18 ff.) schauen, welches es bei dir ist. Dieses scheint mir aber nicht zwingend notwendig, da hiermit nur herausgefunden wird OB sich die Maus bewegt und nicht wohin. Weitere Register, die du noch ändern musst, sind DeltaX (0x17) und DeltaY (0x18) in die jeweiligen DeltaX (0x02) und DeltaY (0x03). Die Configuration-Register (Reset/Sleep) kannst du - glaube ich - so lassen. Und kannst du mir evtl noch sagen, in welcher Maus du diesen Sensor gefunden hast? Groß Rofe
Lothar Miller schrieb: > Was tut das Register? Ist seine Verwendung/Initialisierung nötig? > Passen alle anderen Register? der ist dafür, dass die Maus bewegt wurd, wenn der Pin7 im Reg 0x16 gesetzt ist. Und die andere Registern, was zu meinem Datenblatt anpasst ist nur 0x00, auch die Reg 0x17 und 0x18 finde ich nicht im Datenblatt. hier ist mein Code:
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
28 | |
29 | |
30 | |
31 | |
32 | |
33 | |
34 | |
35 | |
36 | |
37 | |
38 | |
39 | |
40 | |
41 | |
42 | |
43 | |
44 | |
45 | |
46 | |
47 | |
48 | |
49 | |
50 | |
51 | |
52 | |
53 | |
54 | |
55 | |
56 | |
57 | |
58 | |
59 | |
60 | |
61 | |
62 | |
63 | |
64 | |
65 | |
66 | |
67 | |
68 | |
69 | |
70 | |
71 | |
72 | |
73 | |
74 | |
75 | |
76 | |
77 | |
78 | |
79 | |
80 | |
81 | |
82 | |
83 | |
84 | |
85 | |
86 | |
87 | |
88 | |
89 | |
90 | |
91 | |
92 | |
93 | |
94 | |
95 | |
96 | |
97 | |
98 | |
99 | |
100 | |
101 | |
102 | |
103 | |
104 | |
105 | |
106 | |
107 | |
108 | |
109 | |
110 | |
111 | |
112 | |
113 | |
114 | |
115 | |
116 | |
117 | |
118 | |
119 | |
120 | |
121 | |
122 | |
123 | |
124 | |
125 | |
126 | |
127 | |
128 | |
129 | |
130 | |
131 | |
132 | |
133 | |
134 | |
135 | |
136 | |
137 | |
138 | |
139 | |
140 | |
141 | |
142 | |
143 | |
144 | |
145 | |
146 | |
147 | |
148 | |
149 | |
150 | |
151 | |
152 | |
153 | |
154 | |
155 | |
156 | |
157 | |
158 | |
159 | |
160 | |
161 | |
162 | |
163 | |
164 | |
165 | |
166 | |
167 | |
168 | |
169 | |
170 | |
171 | |
172 | |
173 | |
174 | |
175 | |
176 | |
177 | |
178 | |
179 | |
180 | |
181 | |
182 | |
183 | |
184 | |
185 | |
186 | |
187 | |
188 | |
189 | |
190 | |
191 | |
192 | |
193 | |
194 | |
195 | |
196 | |
197 | |
198 | |
199 | |
200 | |
201 | |
202 | |
203 | |
204 | |
205 | |
206 | |
207 | |
208 | |
209 | |
210 | |
211 | |
212 | |
213 | |
214 | |
215 | |
216 | |
217 | |
218 | |
219 | |
220 | |
221 | |
222 | |
223 | |
224 | |
225 | |
226 | |
227 | |
228 | |
229 | |
230 | |
231 | |
232 | |
233 | |
234 | |
235 | |
236 | |
237 | |
238 | |
239 | |
240 | |
241 | |
242 | |
243 | |
244 | |
245 | |
246 | |
247 | |
248 | |
Rofe schrieb: > Und kannst du mir evtl noch sagen, in welcher Maus du diesen Sensor > gefunden hast? Logitech reicht es oder brauchst du auch S/N? danke für deine Antwort, ich werde das ändern dann gucke ich was ich rausbekomme
Gast
#2187592
Logitech hat ein sehr großes Spekrum an Mäusen, da wäre es doch ein wenig hilfreicher, wenn ich die eine genauere Bezeichnung bekomme.
Rofe schrieb: > Hallo und viel Erfolg > > Also das Register 0x16 ist das für den Motion_Status, also ob sich die > Maus bewegt hat und dann musst du halt in deinem Datenblatt (Seite 18 > ff.) schauen, welches es bei dir ist. Dieses scheint mir aber nicht > zwingend notwendig, da hiermit nur herausgefunden wird OB sich die Maus > bewegt und nicht wohin. Weitere Register, die du noch ändern musst, sind > DeltaX (0x17) und DeltaY (0x18) in die jeweiligen DeltaX (0x02) und > DeltaY (0x03). Die Configuration-Register (Reset/Sleep) kannst du - > glaube ich - so lassen. > Und kannst du mir evtl noch sagen, in welcher Maus du diesen Sensor > gefunden hast? > > Groß Rofe hi also der Status Reg bei ADNS2610 ist 0x01, DeltaX ist 0x03 und Deltay ist 0x02, die habe ich geändert und trotzdem bekomme ich nur komme ich Werte manchmal nur Nullen, und wenn ich die Debuggin stoppe dann krige ich grossere Werte. Also das Programm macht nur was er will. danke
Rofe schrieb: > Logitech hat ein sehr großes Spekrum an Mäusen, da wäre es doch ein > wenig hilfreicher, wenn ich die eine genauere Bezeichnung bekomme. M/N: M-SBF96 P/N:852209-A000 PID:HS8031414QE
Rofe schrieb: > Logitech hat ein sehr großes Spekrum an Mäusen, da wäre es doch ein > wenig hilfreicher, wenn ich die eine genauere Bezeichnung bekomme. Logitech M-SBF96 Optical Wheel Mouse, PS2, 852209-A000
Gast
#2187656
Die großen Werte, die du bekommst, machen für mich Sinn, da du je einen sehr großen Datentyp für die Positionen genommen hast +-32768 (signed short posx=0,posy=0;) und für Delta-Werte nur einen Bereich von -+128 hast. Kannst du bitte mal ein paar Werte hier reinschreiben?
Rofe schrieb: > Kannst du bitte mal ein paar Werte hier reinschreiben?
Sind die Werte denn schon zu Begin so groß, oder funktioniert das mit dem X/Y-Overflow nicht so recht? Also mit dem "if(ino&(1<<3))" Und aus Interesse: Kannst du mir auch noch einmal die DeltaX und DeltaY Werte mitteilen. Und somit zü überprüfen, ob diese auch durchgängig den Maximalwert habe.
also ich habe die Maus gar nicht bewegt, nur mit einem Laserpointer beleuchtet, und nach Starten dem Prog habe ich die Werte im Bild 1 bekommen, und danach habe ich Debugging gestoppt dann habe ich das die Werte im Bild 2 gekriegt, und nach einem neuem Start die Werte im Bild 3. Merkwürdig
moin, ich habe jetzt einen neuen Mauschip benutzt diesmal habe die rote LED dran gelassen, mit dem alten Mauschip hatte ich statt die LED eine Laserpointer(mit rotem Licht)benutzt, und ich dachte dadurch ist der Mauschip kapput gegangen, aber immer noch kommen kömische Werte raus(sieh das Bild). auch wenn ich den Maus nicht bewege ändern sich städig die Werte. VG A
Sehr merkwürdig, aber ist dir schon aufgefallen, dass die X-Werte permanent um 129 subtrahiert werden und die Y-Werte immer um 128 addiert werden? Und an welchen mc hast du die Maus denn eigendlich angeschlossen und was welches Prog nutzt du für die Ausgaben`?
ich habe jetzt einen Fehler korrigiert und zwar: Sahra Nana schrieb: > if(ino&(1<<4)) mit ino&(1<<2) da der Reg deltay die Adresse 0x02 hat. Max Mustermann schrieb: > welchen mc hast du die Maus denn eigendlich angeschlossen Atmega8 Max Mustermann schrieb: > welches Prog nutzt du für die Ausgaben Hyperterminal. Nach dieser Änderung habe ich diese Werte bekommen(sieh Bild)
Hallo
ich weiß wo der Fehler ist, dieser Code ist nur für PAN3101 geschrieben,
weil!
der reg 0x16 ist der Motion_Status und der gibt nicht in ADNS2610,
es existiert keinen Reg in ADNS2610 mit DYOVF und DXOVF
in PAN3101:
0x16
-------------------------------------------------------
| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
-------------------------------------------------------
| Motion| R | R | DYOVF | DXOVF | R | R | Reset |
| | | | | | | | |
-------------------------------------------------------
Reg 0x17 --------------> ist Dx
Reg 0x18 --------------> ist Dy
und die Reg 17 und 18 heissen bei ADSN2610 2 und 3.
gibt es keinen Code und Beispiel für ADNS2610?
VG A
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.





