hallo zusammen,
danke mathias für den sketch, allerding gibt der bei mir nur unverständliches kauderwelsch wieder.
ich habe ausserdem einen anderen code, bei dem die srfadresse 0x70 ist und nicht 0xE0.
Der code:
#include <Wire.h>
#define srfAddress 0x70 // Address of the SRF08
#define cmdByte 0x00 // Command byte
#define rangeByte 0x02 // Byte for start of ranging data
byte highByte = 0x00; // Stores high byte from ranging
byte lowByte = 0x00; // Stored low byte from ranging
int range = 0;
int rangeData;
void setup(){
Serial.begin(9600);
Wire.begin();
}
void loop(){
rangeData=getRange();
Serial.print("Entfernung: ");
Serial.println(rangeData, DEC);
delay(100); // Wait before looping
}
int getRange(){ // This function gets a ranging from the SRF08
Wire.beginTransmission(srfAddress); // Start communticating with SRF08
Wire.write(cmdByte); // Send Command Byte
Wire.write(0x51); // Send 0x51 to start a ranging
Wire.endTransmission();
delay(100); // Wait for ranging to be complete
Wire.beginTransmission(srfAddress); // start communicating with SRFmodule
Wire.write(rangeByte); // Call the register for start of ranging data
Wire.endTransmission();
Wire.requestFrom(srfAddress, 2); // Request 2 bytes from SRF module
while(Wire.available() < 2); // Wait for data to arrive
highByte = Wire.read(); // Get high byte
lowByte = Wire.read(); // Get low byte
range = (highByte <<

+ lowByte; // Put them together
return(range); // Returns Range
}
den habe ich von hier ->
http://forum.arduino.cc/index.php?topic=86368.0wenn ich hier jetzt aber in der srfadresse 0xE0 reinschreibe anstatt 0x70(nachdem ich die adresse geändert habe), klappt es nicht.
danke zusammen, juli