NDS3: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: Der Distancescanner ist eine Kombination aus einem Servo, einem Distanzmesser und einem ATtiny84 als Mikrocontroller. ==Protokoll== Jeder Zugriff über den I²C Bus i...) |
(→Protokoll) |
||
Zeile 5: | Zeile 5: | ||
Jeder Zugriff über den I²C Bus ist nach folgendem Schema aufgebaut: | Jeder Zugriff über den I²C Bus ist nach folgendem Schema aufgebaut: | ||
{| {{BlueTable}} | {| {{BlueTable}} | ||
− | ! | + | ! Address !! Write !! Command !! W-Data !! Address !! Read !! R-Data |
|- | |- | ||
| 7 Bit | | 7 Bit |
Version vom 27. Juni 2009, 17:22 Uhr
Der Distancescanner ist eine Kombination aus einem Servo, einem 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
Measure (uint8_t pos, uint8_t step) -> ()
Move (uint8_t pos) -> ()
Read (uint8_t pos, uint8_t step) -> (uint8_t data[])
GetPos () -> (uint8_t pos)
GetDist () -> (uint8_t dist)
GetBusy () -> (uint8_t busy)
Portfunktionen
SetDDR (uint8_t value) -> ()
SetPort (uint8_t value) -> ()
GetPin () -> (uint8_t value)
GetAnalog () -> (uint16_t value)
Kalibrierung
MoveServo (uint16_t value) -> ()
GetCalibration () -> (uint16_t lo, uint16_t hi)
SetCalibration (uint16_t lo, uint16_t hi) -> ()
GetAnalog (uint8_t idx) -> (uint16_t value)