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
I was a little surprised when I saw the waves.
Datasheet
EZ-B || ITG3200
SDA - SDA
SCL - SCL
GND - GND
3.3V - VDD/VIO
Solder contacts together next to CLK for internal CLK
Tonight when i get home, i'll scope an i2c communication so you can see what the SCL clock looks like.
Hopefully I get my ITG this week too
Here is a breakdown of the communication from the EZ-B (i2c Master) and the ITG (i2c Slave)
Datasheet says itg-3200 default address is b1101000 (0x68)
Start bit
Writes 8 bits. MSB 7-bits is address 0x68. LSB is 0 for "Write"
Writes 0x00 (Who am i). Datasheet says device will ACK, there is no ack. 9th LSB is still high
Restart occures
Writes 8 bits. MSB 7-bit address is 0x68. LSB is 1 for "Read"
Clock from i2c master. ITG does nothing and leaves SDA high, which means 255
Stop Bit
So... What does this mean? It means this ITG-3200 is not listening. Why? I have no idea. It doesn't seem to be attempting to pull the SDA logic down.
I see the problem... You need a level convertor. I can't beleive i didn't think of this earlier. Sure we can power the ITG-3200 with 3.3v from the EZ-B, but we can't communicate 3.3v. The i2c logic is pulled to 5v. The datasheet defines the ITG Logic must be < VDD
By connecting the ITG to the EZ-B's 5v i2c, you have have ruined it. I'm not sure, but a logic convertor is the only way to tell.
Datasheets man, datasheets. Annoying to read, but necessary.
EZ-B writes, slave ACK's
EZ-B writes, slave ACK's
EZ-B writes to read address, slave ACK's
Slave responds.. Voila
I also shortened the wires to 1 inch. I wrote a for loop that tried every single 7-bit address. I data logged everything. The itg-3200 will not respond and I don't know why.
It might be due to the 3.3v and 5v i2c... Might still be the issue. But I have no idea. The MMA7455 has a gyro level mode, which works exactly how you'd want. That is what i was demonstrating in the video.