- Notifications
You must be signed in to change notification settings - Fork81
rpicopter/MotionSensorExample
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
MotionSensorExample===================MPU6050/MPU6500/MPU9150/MPU9250 over I2c for RaspberryPi using official Invensense libraries (v5.1):http://www.invensense.com/developers/index.php?_r=downloadsThis 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)- temperatureand calculates Yaw, Pitch, Roll in degrees which in turn is displayed as an output.**Wiring**I2C uses only2 wires for data transmission: SCL and SDARPi pin 3 -> MPU SDARPi pin 5 -> MPU SCLYou 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 VCCRPi 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 successfulInitializing DMP...Enabling DMP...DMP ready!Initializing IMU...Checking... Done.IMU init done; offset values are :yaw = -0.169205, pitch = -1.301078, roll = -1.168776yaw = -0.174 pitch = 1.325 roll = -1.219 t = 20.24 1 0 0yaw = -0.179 pitch = 1.350 roll = -1.267 t = 20.22 2 0 0yaw = -0.185 pitch = 1.372 roll = -1.314 t = 20.23 3 0 0yaw = -0.190 pitch = 1.395 roll = -1.361 t = 20.21 4 0 0yaw = -0.195 pitch = 1.418 roll = -1.410 t = 20.23 5 0 0yaw = -0.201 pitch = 1.441 roll = -1.454 t = 20.23 6 0 0yaw = -0.206 pitch = 1.465 roll = -1.498 t = 20.23 7 0 0yaw = -0.211 pitch = 1.485 roll = -1.545 t = 20.23 8 0 0yaw = -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
About
MPU6050/MPU6500/MPU9150/MPU9250 over I2c for RaspberryPi
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
No releases published
Packages0
No packages published