Welcome to Synthiam!

The easiest way to program the most powerful robots. Use technologies by leading industry experts. ARC is a free-to-use robot programming software that makes servo automation, computer vision, autonomous navigation, and artificial intelligence easy.

Get Started


Upgrade to ARC Pro

Unleash your creativity with the power of easy robot programming using Synthiam ARC Pro

United Kingdom
You'll need to look at the datasheet to find out the correct address of the sensor and the commands to send to the sensor in order to read from it. The first thing to do is get that data sheet. Do you have the datasheet?

As for the C# code, I cannot help you there as I don't know C, there may be an example in the SDK example files though, in which case just substitute the example I2C device info for that of the sensor you want to use.
Here is an example of getting i2c response from the BlinkM...


// Send the value 0x67 to the address of the blinkM
// According to the datasheet, this will tell the BlinkM to put 3 bytes in the receive buffer
// The 3 bytes represent the RGB (Red, Green and Blue) values
_ezb.I2C.Write(0x09, new byte[] { 0x67 });

// Read the 3 bytes in the receive buffer from the BlinkM
byte [] ret = _ezb.I2C.Read(I2C.ReadArgsEnum.Auto, 0x09, 3);

I still am a bit confused! The imu that I have, I want to read the data that it gives and since it is 6dof, should it return 6 bytes?
and I did this sort of a thing, let me know if I did it correct:

byte[] ret = ezB_Connect1.EZB.I2C.Read(EZ_B.I2C.ReadArgsEnum.Auto, 0x68, 6);
Also, I need to know which address to read from.
you would need to first tell the device that you wish to receive data before you can Read data.

Notice in my example that the first line requests data, and the second line reads the data.
@Rich i am stuck with the register descriptions, if you can help me out with it.
United Kingdom
Sorry but I don't have the time to read the datasheet at the moment. The datasheet should tell you everything you need to know, if it doesn't you could try contacting the manufacturer and asking for their assistance - all manufacturers I've been in contact with have been very helpful to be honest.
@Rich have a look at the link I have posted above. Maybe that would be time saving. and thanks for the help!
and @DJ in the latest SDK, the I2C.Start() and I2C.Stop() methods aren't available, so is that the reason that I am not being able to retrieve values?
thanks everyone, now I did it finally!:)
thanks everyone, now I did it finally! Smile