Introducción #

El MPU6050 es un sensor de movimiento y orientación ampliamente utilizado en aplicaciones de robótica, drones, juegos, y dispositivos portátiles, entre otros. Es un sensor de seis ejes que combina un acelerómetro de tres ejes y un giroscopio de tres ejes en un solo chip. Esto le permite medir la aceleración lineal y la rotación angular en los tres ejes espaciales (X, Y y Z).

La aceleración que mide está determinada por la aceleración del campo gravitatorio de la tierra. Si está perfectamente alineado el eje Z, este marcará una aceleración de 9,8 m/s2D y el resto de coordenadas, 0 m/s2 . A medida que se incline, siguiendo las razones trigonométricas, esta aceleración se repartirá ene l resto de ejes. Esto tiene implicaciones curiosas, como que si está en caída libre sin rozamiento su aceleración en el eje Z será cero, y si asciende, será negativa.

Sin embargo, permite realizar medidas mas intuitivas como la medida de ángulos de inclinación en grados, en el eje X y en el Y.

La parte de giróscopo permite medir la velocidad con la que se realizan giros, es decir, la velocidad angular.

Esquema de conexión #

Se conecta por I2C, por tanto, tendrá que conectarse a los pines SDA y SCL del microcontrolador. En el caso del esp32 versión 1, estos son el 21 y 22 respectivamente.

Programación #

En el apartado «Sensores» se encuentra el bloque con el que se leen las diferentes magnitudes:

Ejemplos #

Ejemplo 1 #

Con el siguiente programa se muestra la inclinación en grados en el eje X:

Ejemplo 2 #

En el siguiente programa se activa el GPIO15, que puede estar conectado a una alarma, por ejemplo, si la inclinación en el eje Y es superior a 45 grados.

Ejemplo 3 #

En este artículo se muestra cómo encender o apagar una luz de una habitación si se abre una puerta, o desde internet, y monitorizar su valor de apertura en cualquier momento vía web.