Pakistan
Asked — Edited
Resolved Resolved by DJ Sures!

Accessing Values From I2c Port

I recently bought this IMU (inertial measurement unit): http://www.amazon.com/Kootek%C2%AE-Arduino-MPU-6050-gyroscope-accelerometer/dp/B008BOPN40#productDetails

Now I want to read the values from the i2c port in C#.

Please advice.

Thanks!


ARC Pro

Upgrade to ARC Pro

Get access to the latest features and updates before they're released. You'll have everything that's needed to unleash your robot's potential!

#1  

another link of the sensor that might be helpful: http://playground.arduino.cc/Main/MPU-6050

United Kingdom
#2  

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.

PRO
Synthiam
#5  

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);


#6  

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);

#7  

Also, I need to know which address to read from.

PRO
Synthiam
#8  

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.

#9  

@Rich i am stuck with the register descriptions, if you can help me out with it.

United Kingdom
#10  

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.

#12  

@Rich have a look at the link I have posted above. Maybe that would be time saving. and thanks for the help!

#13  

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?

#14  

thanks everyone, now I did it finally! :)

#15  

thanks everyone, now I did it finally! Smile