danke Schumi

mit dem I2C Bus hab ich das teil ja auch schon zum laufen bekommen, und zwar direkt über den Mikrocontroller 1.
Vielleicht kann man den Code effizienter einsetzen um die Zykluszeit kaum zu beeinflussen.



//Einlesen der Entferung über I2C mit SRF02 Ultraschallsensor.

#include <Wire.h>

#define srf02Address (0xE0 >> 1)
#define cmdByte 0x00 //Startbefehl zum messen
#define rangeByte 0x02
#define startMessung 0x51

byte MSB = 0x00;
byte LSB = 0x00;


void setup()
{
Serial.begin(115200);
Wire.begin();
}

void loop()
{
int rangeData = getRange();

Serial.println(rangeData); // Ausgabe der Entfernung

delay(200);

}

int getRange()

{
int range = 0;

Wire.beginTransmission(srf02Address); //Ultraschallmesser wird über seine Adresse angesprochen
Wire.send(cmdByte); //Startbefehl zum messen
Wire.send(startMessung); //Startet Messvorgang in cm
Wire.endTransmission();

delay(100);

Wire.beginTransmission(srf02Address);
Wire.send(rangeByte);
Wire.endTransmission();

Wire.requestFrom(srf02Address, 2);
while(Wire.available() < 2);
MSB = Wire.receive();
LSB = Wire.receive();

range = (MSB << + LSB;

return(range);
}