Hallo!
Ich bin mit meinem roboter nun soweit, dass ich die entfernungsmessung in angriff nehme...
ich habe einen srf08 an meine rn.control 1.4 angeschlossen.
ich habe folgendes programm geschrieben:
jedoch gibt es mir immer nur 65535 Meter als Entfernung und so groß is mein zimmer nun wirklich nich...Code:'############################################################################### '# # '# entfernung_1.bas # '# # '# Aufgabe: Messen von Entfernungen via SRF08 # '# # '############################################################################### $regfile = "m32def.dat" $crystal = 16000000 $baud = 9600 Const Sf08_adr_0 = &HE0 ' I2C Adresse Const Sf08_c_range = 100 ' Reichweite Const Sf08_c_gain = 1 'Empfindlichkeit Const Sf08_adr_0_read = &HE1 Dim Lsb As Byte Dim Msb As Byte Dim Ival As Word Declare Sub Entfernung() Declare Function Tastenabfrage() As Byte Config Scl = Portc.0 'Ports fuer IIC-Bus Config Sda = Portc.1 Do I2cinit '############################################################################### '# Setzten des Range Wertes # '############################################################################### I2cstart I2cwbyte Sf08_adr_0 I2cwbyte 2 I2cwbyte Sf08_c_range I2cstop '############################################################################### '# Setzten des Gain Wertes # '############################################################################### I2cstart I2cwbyte Sf08_adr_0 I2cwbyte 1 I2cwbyte Sf08_c_gain I2cstop '############################################################################### '# Messung auslösen # '############################################################################### I2cstart I2cwbyte Sf08_adr_0 I2cwbyte 0 I2cwbyte 81 Waitms 70 '############################################################################### '# Ergebnis abholen # '############################################################################### I2cstart I2cwbyte Sf08_adr_0 I2cwbyte 2 I2cstart I2cwbyte Sf08_adr_0_read I2crbyte Msb , Ack I2crbyte Lsb , Nack I2cstop Ival = Makeint(lsb , Msb) '############################################################################### '# Ergebnis abholen # '############################################################################### Print "Die Entfernung beträgt" ; Ival ; "Meter." Loop End
außerdem blinkt die ganze zeit led2. ist das normal?!?
P.S.: Habe grade festgestellt: 1mal wird mir eine entfernung zurückgegeben. direkt nach einem reset und dann kommt die 65535...
MfG JÜrgen







Zitieren

Lesezeichen