NDS3: Unterschied zwischen den Versionen
Zeile 1: | Zeile 1: | ||
− | Der NDS3 (Nibo Distance Scanner 3) ist eine Kombination aus einem [[Servo]], einem [[Sharp Distanzmesser]] und einem [[ATtiny84]] als Mikrocontroller. | + | Der '''NDS3''' (''Nibo Distance Scanner 3'') ist eine Kombination aus einem [[Servo]], einem [[Sharp Distanzmesser]] und einem [[ATtiny84]] als Mikrocontroller. |
==Protokoll== | ==Protokoll== |
Version vom 27. Juni 2009, 17:41 Uhr
Der NDS3 (Nibo Distance Scanner 3) ist eine Kombination aus einem Servo, einem Sharp Distanzmesser und einem ATtiny84 als Mikrocontroller.
Inhaltsverzeichnis
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)