82 lines
2.9 KiB
ReStructuredText
82 lines
2.9 KiB
ReStructuredText
MPU6050 Accelerometer/Gyroscope Sensor
|
|
======================================
|
|
|
|
.. seo::
|
|
:description: Instructions for setting up MPU6050 Accelerometer and Gyroscope sensors.
|
|
:image: mpu6050.jpg
|
|
|
|
The ``mpu6050`` sensor platform allows you to use your MPU6050 Accelerometer/Gyroscope
|
|
(`datasheet <https://www.invensense.com/wp-content/uploads/2015/02/MPU-6000-Datasheet1.pdf>`__,
|
|
`SparkFun`_) sensors with ESPHome. The :ref:`I²C Bus <i2c>` is required to be set up in your configuration for this
|
|
sensor to work.
|
|
|
|
This component only does some basic filtering and no calibration. Due to the complexity of this sensor and the amount
|
|
of possible configuration options, you should probably create an :doc:`external component</components/external_components>`
|
|
by copying and modifying the existing code if you want a specific new feature. Supporting all possible use cases would
|
|
be quite hard.
|
|
|
|
.. figure:: images/mpu6050-full.jpg
|
|
:align: center
|
|
:width: 50.0%
|
|
|
|
MPU6050 Accelerometer/Gyroscope Sensor.
|
|
|
|
.. _SparkFun: https://www.sparkfun.com/products/11028
|
|
|
|
.. figure:: images/mpu6050-ui.png
|
|
:align: center
|
|
:width: 80.0%
|
|
|
|
.. code-block:: yaml
|
|
|
|
# Example configuration entry
|
|
sensor:
|
|
- platform: mpu6050
|
|
address: 0x68
|
|
accel_x:
|
|
name: "MPU6050 Accel X"
|
|
accel_y:
|
|
name: "MPU6050 Accel Y"
|
|
accel_z:
|
|
name: "MPU6050 Accel z"
|
|
gyro_x:
|
|
name: "MPU6050 Gyro X"
|
|
gyro_y:
|
|
name: "MPU6050 Gyro Y"
|
|
gyro_z:
|
|
name: "MPU6050 Gyro z"
|
|
temperature:
|
|
name: "MPU6050 Temperature"
|
|
|
|
Configuration variables:
|
|
------------------------
|
|
|
|
- **address** (*Optional*, int): Manually specify the I²C address of the sensor. Defaults to ``0x68``.
|
|
- **accel_x** (*Optional*): Use the X-Axis of the Accelerometer. All options from
|
|
:ref:`Sensor <config-sensor>`.
|
|
- **accel_y** (*Optional*): Use the Y-Axis of the Accelerometer. All options from
|
|
:ref:`Sensor <config-sensor>`.
|
|
- **accel_z** (*Optional*): Use the Z-Axis of the Accelerometer. All options from
|
|
:ref:`Sensor <config-sensor>`.
|
|
- **gyro_x** (*Optional*): Use the X-Axis of the Gyroscope. All options from
|
|
:ref:`Sensor <config-sensor>`.
|
|
- **gyro_y** (*Optional*): Use the Y-Axis of the Gyroscope. All options from
|
|
:ref:`Sensor <config-sensor>`.
|
|
- **gyro_z** (*Optional*): Use the Z-Axis of the Gyroscope. All options from
|
|
:ref:`Sensor <config-sensor>`.
|
|
- **temperature** (*Optional*): Use the internal temperature of the sensor. All options from
|
|
:ref:`Sensor <config-sensor>`.
|
|
- **update_interval** (*Optional*, :ref:`config-time`): The interval to check the sensor. Defaults to ``60s``.
|
|
|
|
- **id** (*Optional*, :ref:`config-id`): Manually specify the ID used for code generation.
|
|
|
|
See Also
|
|
--------
|
|
|
|
- :ref:`sensor-filters`
|
|
- :doc:`template`
|
|
- :doc:`ultrasonic`
|
|
- :apiref:`mpu6050/mpu6050.h`
|
|
- `i2cdevlib <https://github.com/jrowberg/i2cdevlib>`__ by `Jeff Rowberg <https://github.com/jrowberg>`__
|
|
- :ghedit:`Edit`
|