I have an Arduino Micro and an MPU6050 gyro/accelerometer board; I want to read DMP data from the MPU6050, but the sketch requires the use of the interrupt pin, of which I have none of the interrupt pins available and they cannot be switched around.
I'm wondering how to go about reading the DMP data when needed. I've tried but always just receive the value 180 for any reading.
Thank you!
-
2Do you have any current code that you are using? If so, edit the question to include this. Thanks!Anonymous Penguin– Anonymous Penguin2014年05月20日 21:47:38 +00:00Commented May 20, 2014 at 21:47
2 Answers 2
I searched quite some time for everything regarding the MPU6050, but there is just rumors and jokes about the dmp funcionality. One project encorporates the hard reverse-engeneering some wise people did, which is: http://www.i2cdevlib.com/docs/html/class_m_p_u6050.html
This also uses the interrupt, which I suppose you can't really avoid. Why exaclty this would be necessary though, is not a thing I could tell you.. I assume, that the dmp works somehow with the fifo buffer and can only interact through it. The cited library has examples with and without dmp, which I can really recommend.
Using this thing for a quadcopter however I can just say, that the dmp is too slow to control such a fast system, so maybe first consider what you really need. From my experience it does some magic things, but acts strange is due to it's not documentary it is a pain to work with.
Hope this helps.
You can, in fact, avoid the use of an interrupt with the MPU6050/DMP combination. See the ongoing thread at https://github.com/jrowberg/i2cdevlib/issues/479 and this post for example. I've been running an MPU-6050 based system using polled (vs interrupt) driven configuration for months without any issues (other than a pesky motor noise issue I'm currently trying to resolve).
Regards,
Frank