Natürlich kann der SRF02 während der 180° drehung Messwerte aufnehmen, die frage ist nur wieviele.
Prinzipiell wird jedesmal wenn man den SRF02 über I2C anspricht eine Messung ausgeführt.
jedesmal wenn dieser code durchlaufen ist hat man einen Wert:
Also: mann muss zwei Bytes via I2C schreiben, 65ms warten und dann zwei Bytes auslesen. Das darf max. 75ms dauern. Bei 2 sec. Schwenkzeit, also von ganz links nach ganz rechts, sind das 26,66 messwerte, also alle 6,75° ein Messwert.Code:Function Srf02_entfernung(byval Slaveid As Byte) As Integer Local Lob As Byte Local Hib As Byte Local Firmware As Byte Local Temp As Byte Local Slaveid_read As Byte slaveid_read = Slaveid + 1 'Messvorgang in starten I2cstart I2cwbyte Slaveid I2cwbyte 0 I2cwbyte 81 'in Zentimetern messen I2cstop Waitms 65 'minimale Wartezeit für Messung bei SRF02 I2cstart I2cwbyte Slaveid I2cwbyte 2 'Leseregister festlegen
Das ganze ist aber enorm timing abhängig, wenn du damit einen Rundumscann der Umgebung machen willst.
mfg WarChild
Lesezeichen