I have a project and everything is going smoothly so far. Just have to choose between two components: GY-521-based MPU6050 and DXL335-based GY-61. The goal is to get minimum latency from tilt to data being processed and I can't wrap my head around which is faster.
MPU6050, which sends it over I2C, or GY-61, which sends it with analog voltage. If I understand correctly (which is a bit I need help with) DAC to ADC seems to be faster than address-based bus. But that assuming I know how ALL of those systems work. I imagine DXL335 isn't simply a mercury switch, right?
So which is faster?
GY-521 > conversion to I2C > decyphering the I2C(Adafruit library) > send data to a loop
DXL335 > volt per acceleration conversion > ESP32 ADC read out > send data to a loop
I know about ESP32 non-linear ADC response - not an issue, working in the linear response area
I am assuming you are talking about the ADXL335 device, which will max out at 500 Hz. I think the real question is can you process the data fast enough with your software. I believe that is where the bottleneck will be. The Arduino as is your PC is address based, that is how it fetches it's instructions. Analog is generally inherently slower then digital at a given cost point.
That's exactly why I had to clarify things, for some reason I thought analog will be faster. In my head, mercury switch and R2R input readout is faster. I guess it similar to the mercury switch, right?
But I'm not talking speed here, 500Hz is fine, I want to minimize latency from tilt to data harvesting. Assuming the "coding style" is consistent - which will give me less latency, even at a cost of increasing the gap between readouts? Is it safe to assume that in order to convert to I2C board essentially does analog reads 1st anyways?