NDS3: Unterschied zwischen den Versionen

Aus Nibo Wiki
Wechseln zu: Navigation, Suche
(Kommandos)
Zeile 19: Zeile 19:
 
===Kommandos===
 
===Kommandos===
  
====Distanzmessung====
 
0x01: Move (int8_t pos) -> ()
 
  
0x02: Measure (int8_t pos, uint8_t step) -> ()
+
Distanzmessung:
  
0x03: Read (int8_t pos, uint8_t step) -> (uint8_t data[])
+
0x01: '''Move''' (int8_t pos) -> ()
  
0x04: GetPos () -> (int8_t pos)
+
0x02: '''Measure''' (int8_t pos, uint8_t step) -> ()
  
0x05: GetDist () -> (uint8_t dist)
+
0x03: '''Read''' (int8_t pos, uint8_t step) -> (uint8_t data[])
  
0x06: GetBusy () -> (uint8_t busy)
+
0x04: '''GetPos''' () -> (int8_t pos)
  
====Portfunktionen====
+
0x05: '''GetDist''' () -> (uint8_t dist)
0x10: SetDDR (uint8_t value) -> ()
 
  
0x11: SetPort (uint8_t value) -> ()
+
0x06: '''GetBusy''' () -> (uint8_t busy)
  
0x12: GetPin () -> (uint8_t value)
 
  
0x13: GetAnalog () -> (uint16_t value)
+
Portfunktionen:
  
====Kalibrierung====
+
0x10: '''SetDDR''' (uint8_t value) -> ()
0x20: MoveServo (uint16_t value) -> ()
 
  
0x21: GetCalibration () -> (uint16_t lo, uint16_t hi)
+
0x11: '''SetPort''' (uint8_t value) -> ()
  
0x22: SetCalibration (uint16_t lo, uint16_t hi) -> ()
+
0x12: '''GetPin''' () -> (uint8_t value)
  
0x23: GetAnalog (uint8_t idx) -> (uint16_t value)
+
0x13: '''GetAnalog''' () -> (uint16_t value)
 +
 
 +
 
 +
Kalibrierung:
 +
 
 +
0x20: '''MoveServo''' (uint16_t value) -> ()
 +
 
 +
0x21: '''GetCalibration''' () -> (uint16_t lo, uint16_t hi)
 +
 
 +
0x22: '''SetCalibration''' (uint16_t lo, uint16_t hi) -> ()
 +
 
 +
0x23: '''GetAnalog''' (uint8_t idx) -> (uint16_t value)
  
 
[[Category:Nibo2]]
 
[[Category:Nibo2]]
 
[[Category:NDS3]]
 
[[Category:NDS3]]

Version vom 27. Juni 2009, 17:07 Uhr

Der NDS3 (Nibo Distance Scanner 3) ist eine Erweiterung, die es dem Nibo2 ermöglicht Distanzen in einem Bereich zwischen 12 cm und 80 cm genau zu ermitteln. Es handelt sich um eine Kombination aus einem Servo, einem Sharp Distanzmesser und einem ATtiny84 als Mikrocontroller zur Datenverarbeitung.

Protokoll

Jeder Zugriff über den I²C Bus ist nach folgendem Schema aufgebaut:

Address Write Command W-Data Address Read R-Data
7 Bit 1 Bit 8 Bit m Byte 7 Bit 1 Bit n Byte

Falls Keine Daten zurück übertragen werden entfällt das zweite Datenpaket.

Kommandos

Distanzmessung:

0x01: Move (int8_t pos) -> ()

0x02: Measure (int8_t pos, uint8_t step) -> ()

0x03: Read (int8_t pos, uint8_t step) -> (uint8_t data[])

0x04: GetPos () -> (int8_t pos)

0x05: GetDist () -> (uint8_t dist)

0x06: GetBusy () -> (uint8_t busy)


Portfunktionen:

0x10: SetDDR (uint8_t value) -> ()

0x11: SetPort (uint8_t value) -> ()

0x12: GetPin () -> (uint8_t value)

0x13: GetAnalog () -> (uint16_t value)


Kalibrierung:

0x20: MoveServo (uint16_t value) -> ()

0x21: GetCalibration () -> (uint16_t lo, uint16_t hi)

0x22: SetCalibration (uint16_t lo, uint16_t hi) -> ()

0x23: GetAnalog (uint8_t idx) -> (uint16_t value)