MotionSensorExample
===================
Fork别人的代码,以下英文是原版的README。
笔者试用了下,在Pi2上编译出错,原因是结构体的初始化问题,Pi2的g++版本似乎不支持结构体的复合字面量初始化方式。
因此笔者修改了初始化的代码,试着编译了用于MPU6050的测试代码,通过了,如下图所示。经验证也确实可以拿到roll、pitch、yaw数据(DMP方式)。
不过如果选择编译用于MPU9250的版本,却不能完成MPU的初始化。这个后面有空再定位修改。
还好的是,可以把MPU9250当MPU6050用(笔者也正是用MPU9250测试的)。
![](https://github.com/uname/MotionSensorExample/blob/master/snapshot.png)
MPU6050/MPU6500/MPU9150/MPU9250 over I2c for RaspberryPi using official Invensense libraries (v5.1):
http://www.invensense.com/developers/index.php?_r=downloads
This is a sample program for testing your MPU Motion Sensor with Rasperry Pi.
It does all the initialization and gathers:
- gyro
- accel
- quaternion
- compass (for MPU9XXX)
- temperature
and calculates Yaw, Pitch, Roll in degrees which in turn is displayed as an output.
**Wiring**
I2C uses only2 wires for data transmission: SCL and SDA
RPi pin 3 -> MPU SDA
RPi pin 5 -> MPU SCL
You will also need to provide power (3.3V) to your MPU. You can use external power or hook it up with RPi.
For example:
RPi pin 1 (3.3V) -> MPU VCC
RPi pin 6 (Ground) -> MPU GND
**Compilation:**
On RPi, edit MotionSensor/Makefile and adjust CXX_OPTS to specify your board (-DMPU6050 for MPU6050, -DMPU9150 for MPU9150), issue make
**Cross compiling:**
Edit all Makefiles in all directories and adjust CXX. Issue make
**Running:**
make sure you have i2c_dev module loaded (modprobe i2c_dev)
run mstest
*Output:*
Initializing I2C devices...
Testing device connections...
MPU6050 connection successful
Initializing DMP...
Enabling DMP...
DMP ready!
Initializing IMU...
Checking... Done.
IMU init done; offset values are :
yaw = -0.169205, pitch = -1.301078, roll = -1.168776
yaw = -0.174 pitch = 1.325 roll = -1.219 t = 20.24 1 0 0
yaw = -0.179 pitch = 1.350 roll = -1.267 t = 20.22 2 0 0
yaw = -0.185 pitch = 1.372 roll = -1.314 t = 20.23 3 0 0
yaw = -0.190 pitch = 1.395 roll = -1.361 t = 20.21 4 0 0
yaw = -0.195 pitch = 1.418 roll = -1.410 t = 20.23 5 0 0
yaw = -0.201 pitch = 1.441 roll = -1.454 t = 20.23 6 0 0
yaw = -0.206 pitch = 1.465 roll = -1.498 t = 20.23 7 0 0
yaw = -0.211 pitch = 1.485 roll = -1.545 t = 20.23 8 0 0
yaw = -0.216 pitch = 1.506 roll = -1.587 t = 20.23 9 0 0
....
**Additional info:**
Current setup is to run at 40Hz, this can be adjusted in the ms_open function, however note that your code will need to read the values with respective speed or quicker. Otherwise the MPU fifo buffer will overflown.
To read MPU see ms_update - it calls 'dmp read fifo' in a while loop. This means that if fifo is empty this will stall until a packet is available.
-------------------------
Gregory Dymarek
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
树莓派用I2C读取mpu9250代码 (127个子文件)
026ad6f6959fba863d761906379a938d34c870 160B
038a8fafa89f78b34be04c284db4b0b21620fe 242B
04cb45b47cd314e2593cf24c129d49b388229b 309B
057d9570d3fde06d933e4252816255de2a13c1 210B
07738bc77b0ee82d7f9973ca843ae3814d5597 241B
0803a524e982c7f69f0db269a7baa9e1a655bb 242B
08b2646bf39467606a1ec9805c4a5a5028262a 171B
0abec041f05d614fde1ee7bcab318816735d74 2KB
1702578b1f23809d1d40c8893bc26299eeeff3 143B
198782eaf7177f43405204fb0fab873d86679a 242B
1cfdf94297e2cb792986cdef895166c86c497a 209B
1e38c82fdb64388b954600d3a4df1ba6d33bc2 254B
203f106f2e7b94be8b2075d67e9ac708339538 19KB
20a360c62af4c5077efa9d7df631b02b4d0dd6 2KB
2592fcf625c5ad6d123fd290ff85ff3d08c3f5 241B
25f15df85775d28c4ac24844797c4707b3fbc5 2KB
32d6240cff5abe6ce914109dc2ae483a57b72f 1KB
333886c90a22364ac90e914b7c3c6e37350f0a 184B
3462eebec1eedb075cbddf429e28d6bc6c3571 2KB
36c7da13afe7b4135789e394a3dea660ca2d7e 185B
3c66e7105690a6bd66f6144ed8f004c9f068da 186B
3e74b3509ecce4be14e9718c2161753aa3dfcd 159B
416c21aeea229adca20d4e0de22ece9c3fdad3 49B
421bc754b8a1f96967d245413fad9f93cbdde7 244B
44c9a3fb2768433f19a84ed7c6ae8e3fe7294a 1KB
4675d158dace8b9ffe4a32019037dbc7f17eb2 19KB
469d150fbb3a8e5a1bd99b520a6b2526ec7850 188B
48cb1f39b07776676893036d302ea0f03ec63d 161B
494a7f6ffb9164d7aabf46f8c89bfad503a5db 2KB
4bac711c9562d352eb98ce72d6fc8597240ef4 14KB
4c4e38e5883590b2bc092637e78247ada3eb42 111B
5550cea2e1411967912bcf63ad7b7e0c7fa7b5 246B
5ce8afef915b9388a91370448a3f973f258a2a 4KB
5d40bb74c7c393e1aed64f6e6d99834575183b 464B
640d24cfe8e03face2baf333c3c1d8ebfd2716 143B
66ab3bfddd84c474b98689983c5a7bee93d45c 214B
66c4308a0110c4b5ef38bb65a4277fa777e5ca 208B
6a7b408c56fc5249b302eca7a39299d989c6df 179B
6fd3f8d721299a60b1645351fcadff249cfaf0 161B
707ae92ae8a23eaf76c090811af3d22a34d942 2KB
7b3bcc83cab8819e8373b9ce76b3fdf57f7640 2KB
7f6a76dee545b9988fa35b60f0e916a9db9412 261B
807311907b732f438ccdda278904f07cf01f1d 1KB
8274182e19a1847fb7373964cc8ed651028a43 1KB
865b2d8c601b9b4d205e2cd459d64623b06dd1 251B
8683fb3f0b0032f1f884500ce05e31fbf3d00f 4KB
8ac5c3ec9c53b1ffadad0f64d4c357f685bc2c 111B
8f3b650151e0a45d07be94093ddb09ceda480f 162B
9017a543f00f3c7f32b4fcc84dfb6f1f7679d8 211B
9491ff483a01ffdaf0d4268038577e2719850b 161B
96debf94105ed23fffd07df81073181bffc61a 208B
97e62f03dcad1a2718fafcfd5c6335e84dc725 138B
a06e0b03ec0cc6e170c40c6e8c5a125e8dea3f 1KB
a2e129343a1aebdfb05d6cd01ec9cc6c3438a5 2KB
a38dd97890d967c13b380a2b6d34cf72a58f99 188B
a58607417737a038c21baa62d43200084583fa 188B
a8dd7fb5b20827d076bd2e891af0228489f27a 143B
adee65591d0577f7a1eef77878d0c17cd95c17 2KB
b25791ea43c507f17684e9cb8e54ccfb4379c6 2KB
b797df1fdd2ca6fcb65b35ca70c436e6e892a3 29KB
b85e9a641584badaac6298c1457f570610f17f 306B
bf857b3b9e82c0aee2d9a8057d59c2323e73fa 14KB
bfb23dedddf775dffd31f20af355f72ffaef56 48B
bfb402c38d767028c96cde91a70dfdf93a7172 254B
inv_mpu.c 68KB
inv_mpu_dmp_motion_driver.c 51KB
I2Cdev.c 16KB
sensor.c 5KB
main.c 1KB
c11af338dcb221ea85563a66f0da9ee67a5d10 162B
c59e077d8f659dc4fcb87b120122cdaefbce60 252B
c5f4bb27bcb02a858eedea0e5f809edc1a212e 245B
c649398cbcaccb268b410d01c3d57b03b5bbf8 1KB
c81f1facd4d2cef7072d96837658241c336381 4KB
c9bde3026a21ddf32e7f943b2dcdd179a6eae4 1KB
config 269B
d4617663d1d9f250156cca31144f22e1356d4d 245B
d85a6f9e8639373fc1794614939b8a41f967f4 160B
dd4274620d89a17aa33d9e428119761fe3d311 87B
description 73B
e1ca0ace66e184e2e073a4313e5d86a9a8b715 144B
e79deb96d34a3bb2ec1daa36a2b985cc7f63ba 262B
e7aadfd58e850f3f0ec28c1ef75bcda1b7109c 251B
eb3a7fe43598394a11bc2584bce77b38950446 311B
ebe86c2a87517e991fc63836a6af60c0d78338 168B
ebed2b752ee6f47de54f4cba401ab344f29f11 1KB
exclude 240B
f45c7b98792f6d9bd43546990e7558d35433e1 187B
f489e543676126e272b2ccac9035cae2e9f083 209B
f68640961d42a40ce534245d1f23d36267224f 191B
f80859cf157daec5b4efafe63ea0a1406bbf63 190B
fa2c5e23a7d8e83bcb19646e0144326e2f20a3 2KB
fd231c54877b2b6a1fdd2ad5c16d50b58441bc 2KB
ff6e8d7b987cfe593cf0c5693ce2f37b7dd22d 193B
dmpKey.h 18KB
helper_3dmath.h 7KB
dmpmap.h 6KB
I2Cdev.h 4KB
inv_mpu.h 4KB
inv_mpu_dmp_motion_driver.h 3KB
共 127 条
- 1
- 2
资源评论
- JoelShi2020-06-02楼主,这个该怎么用啊,不懂得怎么用,还有接线是怎么接的??
python实验室
- 粉丝: 45
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功