Twist
09.03.2005, 13:27
Hallo zusammen.
Ich betreibe einen SRF10 an meinem C-Control I. Der Messwert soll in cm ausgegeben werden. Dazu schreibe ich in das Command Register die 81.
Bei Abständen bis zu einem Meter bekomme ich noch ganz normale Werte. Aber darüber scheint irgend etwas nicht zu stimmen. Der höchste Wert für Low Range war bisher 161 und das High Register ist immer nur 0.
'-----------------Abfrage des Sensors ------------------------
SDA = ON
SCL = ON
' Starte Messung
gosub Start
Daten = 224
gosub I2C_Write
Daten = 0
gosub I2C_Write
Daten = 81
gosub I2C_Write
gosub Stop
pause 10
' Lese Ergebnis Low
gosub Start
Daten = 224
gosub I2C_Write
Daten = 3
gosub I2C_Write
gosub Stop
gosub Start
Daten = 225
gosub I2C_Write
gosub I2C_Read
Low = Daten
print Low
gosub NoAck
gosub Stop
' Lese Ergebnis High
gosub Start
Daten = 224
gosub I2C_Write
Daten = 2
gosub I2C_Write
gosub Stop
gosub Start
Daten = 225
gosub I2C_Write
gosub I2C_Read
High = Daten
print High
gosub NoAck
gosub Stop
Zu Testzwecken gebe ich die beiden Werte an die serielle Schnittstelle aus. Ich hoffe das mir jemand einen Tip geben kann.
Vielen Dank im voraus.
Gruß
Matthias
Ich betreibe einen SRF10 an meinem C-Control I. Der Messwert soll in cm ausgegeben werden. Dazu schreibe ich in das Command Register die 81.
Bei Abständen bis zu einem Meter bekomme ich noch ganz normale Werte. Aber darüber scheint irgend etwas nicht zu stimmen. Der höchste Wert für Low Range war bisher 161 und das High Register ist immer nur 0.
'-----------------Abfrage des Sensors ------------------------
SDA = ON
SCL = ON
' Starte Messung
gosub Start
Daten = 224
gosub I2C_Write
Daten = 0
gosub I2C_Write
Daten = 81
gosub I2C_Write
gosub Stop
pause 10
' Lese Ergebnis Low
gosub Start
Daten = 224
gosub I2C_Write
Daten = 3
gosub I2C_Write
gosub Stop
gosub Start
Daten = 225
gosub I2C_Write
gosub I2C_Read
Low = Daten
print Low
gosub NoAck
gosub Stop
' Lese Ergebnis High
gosub Start
Daten = 224
gosub I2C_Write
Daten = 2
gosub I2C_Write
gosub Stop
gosub Start
Daten = 225
gosub I2C_Write
gosub I2C_Read
High = Daten
print High
gosub NoAck
gosub Stop
Zu Testzwecken gebe ich die beiden Werte an die serielle Schnittstelle aus. Ich hoffe das mir jemand einen Tip geben kann.
Vielen Dank im voraus.
Gruß
Matthias