Jump to content
I2Cdevlib Forums

Using raw data deriving from the accelerometer in MPU-6050 and converting it to actual meters per second squared

Recommended Posts

Hello, I am new to this forum and have started experimenting with the MPU-6050 a few weeks ago. I am using it for a Design Technology project in hopes of measuring acceleration in any specific direction. After much research it was concluded this cheap, but useful chip was the go-to piece and so after more searching around on youtube I stumbled upon Jeff Rowberg's code. It took me a lot of time to get the processing teapot screen running but it was so worth it. Anyways now that I accomplished that, I moved on to the main task at hand and found out that by uncommented "OUTPUT_READABLE_REALACCEL" . This gave a significant amount of values and raw data in the serial monitor itself but the problem I have is that I do not understand the values or know how to convert them into acceleration that I can then use to perform other functions. I have only started coding last year and I am currently 16 in Year 11. If anyone could give some input or understandable references on the following values I would appreciate that a lot.

Send any character to begin DMP programming and demo: 
Initializing DMP...
Enabling DMP...
Enabling interrupt detection (Arduino external interrupt 0)...
DMP ready! Waiting for first interrupt...
areal	-293	49	   -1190
areal	-153	22	   66
areal	-50	    10	   868
areal	4	    -14	   1370
areal	23	    -39	   1676
areal	59	    -54	   1878
areal	86	    -68	   2013
areal	107    	-77	   2119
areal	119    	-83	   2175
areal	112	    -89	   2187
areal	99	    -10    72182
areal	116	    -118   2198
areal	144	    -120   2222

  So here is the following data I have received:


Also many thanks to Jeff Rowberg for producing such valuable and useful code. I will make sure to include you in my project credits and when I master Arduino I will definitely try to share and teach this to others.

Thank you

Link to comment
Share on other sites

This is what you can find purely in the MPU-6050 official documentation (https://www.invensense.com/products/motion-tracking/6-axis/mpu-6050/)

The MPU-6050 has a word lenght of 16 bits, and the raw value is a discretization of the ±2 scale (default). 16 bits long it's a sensitivity 16384 LSB/g. That means 1g equals to a raw value of 16384. Note that for different scales the sensitivity is different too. From now on it's just elementary math to convert raw values to g-unit or any other acceleration unit.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...