Nota
¡Hola, bienvenido a la comunidad de entusiastas de SunFounder Raspberry Pi, Arduino y ESP32 en Facebook! Profundiza en Raspberry Pi, Arduino y ESP32 junto a otros entusiastas.
¿Por qué unirse?
Soporte experto: Resuelve problemas postventa y desafíos técnicos con la ayuda de nuestra comunidad y equipo.
Aprender y compartir: Intercambia consejos y tutoriales para mejorar tus habilidades.
Preestrenos exclusivos: Accede de forma anticipada a anuncios de nuevos productos y avances.
Descuentos especiales: Disfruta de descuentos exclusivos en nuestros productos más nuevos.
Promociones festivas y sorteos: Participa en sorteos y promociones especiales.
👉 ¿Listo para explorar y crear con nosotros? Haz clic en [aquí] y únete hoy mismo!
Lección 05: Módulo Giroscopio y Acelerómetro (MPU6050)
En esta lección, aprenderás cómo usar el sensor MPU6050 con un Arduino para medir aceleración, rotación y temperatura. Exploraremos cómo inicializar el sensor, configurar sus rangos y leer datos para mostrarlos en el monitor serial. Este proyecto ofrece un enfoque práctico para trabajar con sensores de movimiento e integrarlos con Arduino, perfecto para aquellos interesados en adentrarse en el mundo de la electrónica y el manejo de datos de sensores.
Componentes necesarios
En este proyecto, necesitamos los siguientes componentes.
Es definitivamente conveniente comprar un kit completo, aquí está el enlace:
Nombre |
ARTÍCULOS EN ESTE KIT |
ENLACE |
|---|---|---|
Kit de Sensores Universal Maker |
94 |
También puedes comprarlos por separado desde los enlaces a continuación.
Introducción del componente |
Enlace de compra |
|---|---|
Arduino UNO R3 o R4 |
|
Cableado
Código
Nota
Para instalar la biblioteca, usa el Administrador de Bibliotecas de Arduino y busca «Adafruit MPU6050» para instalarla.
Análisis del Código
El código comienza incluyendo las bibliotecas necesarias y creando un objeto para el sensor MPU6050. Este código utiliza la biblioteca Adafruit_MPU6050, la biblioteca Adafruit_Sensor y la biblioteca Wire. La biblioteca
Adafruit_MPU6050se usa para interactuar con el sensor MPU6050 y obtener datos de aceleración, rotación y temperatura. La bibliotecaAdafruit_Sensorproporciona una interfaz común para varios tipos de sensores. La bibliotecaWirese utiliza para la comunicación I2C, que es necesaria para comunicarse con el sensor MPU6050.Nota
Para instalar la biblioteca, usa el Administrador de Bibliotecas de Arduino y busca «Adafruit MPU6050» para instalarla.
#include <Adafruit_MPU6050.h> #include <Adafruit_Sensor.h> #include <Wire.h> Adafruit_MPU6050 mpu;
La función
setup()inicializa la comunicación serial y verifica si el sensor es detectado. Si el sensor no se encuentra, el Arduino entra en un bucle infinito mostrando el mensaje «No se pudo encontrar el chip MPU6050». Si se encuentra, se configuran el rango del acelerómetro, el rango del giroscopio y el ancho de banda del filtro, y se agrega un retraso para estabilidad.void setup(void) { // Inicializar la comunicación serial Serial.begin(9600); // Verificar si se detecta el sensor MPU6050 if (!mpu.begin()) { Serial.println("Failed to find MPU6050 chip"); while (1) { delay(10); } } Serial.println("MPU6050 Found!"); // Establecer el rango del acelerómetro a +-8G mpu.setAccelerometerRange(MPU6050_RANGE_8_G); // Establecer el rango del giroscopio a +-500 deg/s mpu.setGyroRange(MPU6050_RANGE_500_DEG); // Establecer el ancho de banda del filtro a 21 Hz mpu.setFilterBandwidth(MPU6050_BAND_21_HZ); // Agregar un retraso para estabilidad delay(100); }
En la función
loop(), el programa crea eventos para almacenar las lecturas del sensor y luego las recupera. Los valores de aceleración, rotación y temperatura se imprimen en el monitor serial.void loop() { // Obtener nuevos eventos del sensor con las lecturas sensors_event_t a, g, temp; mpu.getEvent(&a, &g, &temp); // Imprimir las lecturas de aceleración, rotación y temperatura // ... // Agregar un retraso para evitar sobrecargar el monitor serial delay(1000); }