Forum: Mikrocontroller und Digitale Elektronik Logical Mouse ADNS5020 konstante dx Wert


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Karl F. (fkcm95)


Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute, ich habe den ADNS mittels SPI korrekt ausgelesen und die 
Werte am Display anzeigen können. Da ich den Display in meinem Projekt 
nicht brauche, habe ich dann abgebaut und den Sensor direkt über das 
Serielle Monitor überwacht. Ich habe allerdings festgestellt, dass ich 
nun keine dx/dy Änderungen habe, sondern einen konstanten Wert (255) bei 
dx. Motion und dy bleibt immer auf 0.,. Der Sensor hat aber vor 10min 
mit dem Display noch funktioniert.

Was kann die Ursache dafür sein? Die Verkabelung habe ich 10x schon 
überprüft. Jedoch an der Verkabelung ist es leider nicht. Was könnten 
noch Ursachen dafür sein?

von Stephan H. (stephan-)


Bewertung
0 lesenswert
nicht lesenswert
der ist sauer weil er jetzt kein Display mehr hat oder weil Freitag ist.
Mal im Ernst ohne Plan oder Code ? Die Glaskugel sagt Du hattest das 
Display am gleichen Port wie den Sensor. Jetzt fehlt der Pull Up vom 
Display !

Beitrag #5015714 wurde vom Autor gelöscht.
von Karl F. (fkcm95)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ob das wirklich vom Display kommt?
Lade nochmal meine Schaltung und den Code hoch...
1
// include the SPI library: 
2
#include <SPI.h> 
3
4
// setup pins 
5
int nReset = 48; 
6
int nCS = 53; 
7
8
void setup(){ 
9
  //set pin I/O direction 
10
  pinMode (nReset, OUTPUT); 
11
  pinMode (nCS, OUTPUT); 
12
  //put the device in reset not chip selected 
13
  digitalWrite(nReset,LOW);
14
  digitalWrite(nCS,HIGH); 
15
  //initialize SPI 
16
  SPI.begin(); 
17
  SPI.setDataMode(SPI_MODE3); 
18
  //start a serial port for debugging 
19
  Serial.begin(115200); 
20
  delay(1000); 
21
  Serial.println("startup complete"); 
22
23
24
} 
25
26
void loop(){ 
27
  unsigned int read_data; 
28
  delay(1000); 
29
  //enable ADNS 
30
  digitalWrite(nReset,HIGH); 
31
  //startup time 
32
  delay(1000);
33
  //read and print a register map 
34
  Serial.println("ADNS-5020 Register Map"); 
35
  Serial.println("Addr 0x00 - Data " + String(ADNS_read(0x00))); 
36
  Serial.println("Addr 0x01 - Data " + String(ADNS_read(0x01))); 
37
  Serial.println("Addr 0x02 - Data " + String(ADNS_read(0x02))); 
38
  Serial.println("Addr 0x03 - Data " + String(ADNS_read(0x03))); 
39
  Serial.println("Addr 0x04 - Data " + String(ADNS_read(0x04))); 
40
  Serial.println("Addr 0x05 - Data " + String(ADNS_read(0x05))); 
41
  Serial.println("Addr 0x06 - Data " + String(ADNS_read(0x06))); 
42
  Serial.println("Addr 0x07 - Data " + String(ADNS_read(0x07))); 
43
  Serial.println("Addr 0x08 - Data " + String(ADNS_read(0x08))); 
44
  Serial.println("Addr 0x09 - Data " + String(ADNS_read(0x09))); 
45
  Serial.println("Addr 0x0A - Data " + String(ADNS_read(0x0A))); 
46
  delay(1000);   
47
} 
48
49
unsigned int ADNS_read(unsigned int address){ 
50
  unsigned int data; 
51
  // take the CS pin low to select the chip: 
52
  digitalWrite(nCS,LOW); 
53
  //  send in the address and value via SPI: 
54
  SPI.transfer(address); 
55
  pinMode(MOSI, INPUT); 
56
  data = SPI.transfer(0x00); 
57
  pinMode(MOSI, OUTPUT); 
58
  // take the SS pin high to de-select the chip: 
59
  digitalWrite(nCS,HIGH);  
60
  return(data); 
61
}

: Bearbeitet durch User
von Karl F. (fkcm95)


Bewertung
0 lesenswert
nicht lesenswert
Kann sich keiner den Fehler vorstellen? bin schon seit 2 Tagen da dran, 
bekomme immer wieder die selben werte

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]
  • [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.