Train Vision Object By Script icon Train Vision Object By Script Train camera vision objects via controlcommand(), attach camera, start learning, monitor progress, and return object name for scripts. Try it →
Asked — Edited

MMA7455L Accelerometer

*Note: this is temporary until the next SDK is released. Then this page will change because there will be an embedded class in the EZ-SDK and ARC.

User-inserted image

Address


    byte ITGWriteAddress = 0x1D << 1;
    byte ITGReadAddress = (0x1D << 1) + 1;

i2cRead - Create a generic function to read from the device (1 byte at a time)


    byte i2cRead(byte registerAddress) {

      ezB_Connect1.EZB.I2C.Start();

      ezB_Connect1.EZB.I2C.Write(new byte[] { ITGWriteAddress, registerAddress });

      ezB_Connect1.EZB.I2C.Restart();

      ezB_Connect1.EZB.I2C.Write(new byte[] { ITGReadAddress });
      byte val = ezB_Connect1.EZB.I2C.Read(false);

      ezB_Connect1.EZB.I2C.Stop();

      return val;
    }

Who Am I - Assuming you have a multiline textBox1 on your form, this will write the contents of who am i register to it


      textBox1.AppendText("Who Am I: ");
      textBox1.AppendText(i2cRead(0x0f).ToString());
      textBox1.AppendText(Environment.NewLine);

Set Mode - Look at the datasheet. The mode is being set to 0101. This needs to be done before any readings will work.


      i2cWrite(new byte[] { 0x16, Functions.ToByteFromBinary(0, 0, 0, 0, 0, 1, 0, 1) });

Who Am I - Assuming you have a multiline textBox1 on your form, this will write the contents of who am i register to it


      textBox1.AppendText("Who Am I: ");
      textBox1.AppendText(i2cRead(0x0f).ToString());
      textBox1.AppendText(Environment.NewLine);

Get Mode - Assuming you have a multiline textBox1 on your form, this will write the contents of the mode register.


      textBox1.AppendText("Get Mode: ");
      textBox1.AppendText(Functions.ByteToBinaryString(i2cRead(0x16)));
      textBox1.AppendText(Environment.NewLine);

Get Angles (8 bit) - This will read the current angle of the PCB in X, Y and Z


      byte x = i2cRead(0x06);
      byte y = i2cRead(0x07);
      byte z = i2cRead(0x08);

ARC Pro

Upgrade to ARC Pro

Discover the limitless potential of robot programming with Synthiam ARC Pro – where innovation and creativity meet seamlessly.