Network Change icon Network Change Execute scripts on WiFi/network connect or disconnect; monitor adapter, store status in a variable and trigger custom scripts for headless SBC robots. Try it →

ARC Pro

Upgrade to ARC Pro

Elevate your robot's capabilities to the next level with Synthiam ARC Pro, unlocking a world of possibilities in robot programming.

Author Avatar
United Kingdom
LinkedIn Twitter Google+ YouTube
#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.

Author Avatar
PRO
Synthiam
LinkedIn Thingiverse Twitter YouTube GitHub
#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.

Author Avatar
PRO
Synthiam
LinkedIn Thingiverse Twitter YouTube GitHub
#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.