adafruit_mpu6050

CircuitPython helper library for the MPU6050 6-DoF Accelerometer and Gyroscope

  • Author(s): Bryan Siepert

Implementation Notes

Hardware:

Software and Dependencies:

class adafruit_mpu6050.Bandwidth

Allowed values for filter_bandwidth.

  • Bandwidth.BAND_260_HZ
  • Bandwidth.BAND_184_HZ
  • Bandwidth.BAND_94_HZ
  • Bandwidth.BAND_44_HZ
  • Bandwidth.BAND_21_HZ
  • Bandwidth.BAND_10_HZ
  • Bandwidth.BAND_5_HZ
class adafruit_mpu6050.GyroRange

Allowed values for gyro_range.

  • GyroRange.RANGE_250_DPS
  • GyroRange.RANGE_500_DPS
  • GyroRange.RANGE_1000_DPS
  • GyroRange.RANGE_2000_DPS
class adafruit_mpu6050.MPU6050(i2c_bus, address=104)

Driver for the MPU6050 6-DoF accelerometer and gyroscope.

Parameters:
  • i2c_bus (I2C) – The I2C bus the device is connected to
  • address (int) – The I2C device address. Defaults to 0x68

Quickstart: Importing and using the device

Here is an example of using the MPU6050 class. First you will need to import the libraries to use the sensor

import board
import adafruit_mpu6050

Once this is done you can define your board.I2C object and define your sensor object

i2c = board.I2C()  # uses board.SCL and board.SDA
mpu = adafruit_mpu6050.MPU6050(i2c)

Now you have access to the acceleration, gyro and temperature attributes

acc_x, acc_y, acc_z = sensor.acceleration
gyro_x, gyro_y, gyro_z = sensor.gyro
temperature = sensor.temperature
acceleration

Acceleration X, Y, and Z axis data in \(m/s^2\)

accelerometer_range

The measurement range of all accelerometer axes. Must be a Range

cycle

Enable or disable periodic measurement at a rate set by cycle_rate(). If the sensor was in sleep mode, it will be waken up to cycle

cycle_rate

The rate that measurements are taken while in cycle mode. Must be a Rate

filter_bandwidth

The bandwidth of the gyroscope Digital Low Pass Filter. Must be a GyroRange

gyro

Gyroscope X, Y, and Z axis data in \(º/s\)

gyro_range

The measurement range of all gyroscope axes. Must be a GyroRange

reset()

Reinitialize the sensor

sample_rate_divisor

The sample rate divisor. See the datasheet for additional detail

sleep

Shuts down the accelerometers and gyroscopes, saving power. No new data will be recorded until the sensor is taken out of sleep by setting to False

temperature

The current temperature in º Celsius

class adafruit_mpu6050.Range

Allowed values for accelerometer_range.

  • Range.RANGE_2_G
  • Range.RANGE_4_G
  • Range.RANGE_8_G
  • Range.RANGE_16_G
class adafruit_mpu6050.Rate

Allowed values for cycle_rate.

  • Rate.CYCLE_1_25_HZ
  • Rate.CYCLE_5_HZ
  • Rate.CYCLE_20_HZ
  • Rate.CYCLE_40_HZ