#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
#include <Wire.h>
Adafruit_MPU6050 mpu; // Objeto para interagir com o sensor MPU6050
void setup(void) {
Serial.begin(115200); // Inicia a comunicação serial com uma taxa de 115200 bps
while (!mpu.begin()) {
Serial.println("MPU6050 não conectado!"); // Mensagem de aviso se o MPU6050 não estiver conectado
delay(1000); // Aguarda 1 segundo antes de tentar novamente
}
Serial.println("MPU6050 pronto!"); // Mensagem indicando que o MPU6050 está pronto
}
void loop() {
sensors_event_t a, g, temp; // Estruturas para armazenar dados do acelerômetro, giroscópio e temperatura
mpu.getEvent(&a, &g, &temp); // Obtém dados do acelerômetro, giroscópio e temperatura
Serial.print("[");
Serial.print(millis());
Serial.print("] X: ");
//unidades de força g, onde 1g = 9,80665 m/s².
Serial.print(a.acceleration.x/9.80665,2);//Imprime com 2 casas decimais
Serial.print(", Y: ");
Serial.print(a.acceleration.y/9.80665,2);//Imprime com 2 casas decimais
Serial.print(", Z: ");
Serial.print(a.acceleration.z);
Serial.println(" m/s^2"); // Imprime dados do acelerômetro no monitor serial
//1 Radiano por Segundo = 57.2957795130931 Grau por Segundo
Serial.print("Rotation X: ");
Serial.print(g.gyro.x*57.2957795130931,2); //Imprime com 2 casas decimais
Serial.print(", Y: ");
Serial.print(g.gyro.y*57.2957795130931,2);//Imprime com 2 casas decimais
Serial.print(", Z: ");
Serial.print(g.gyro.z);
Serial.println(" rad/s"); // Imprime dados do giroscópio no monitor serial
Serial.print("Temperature: ");
Serial.print(temp.temperature);
Serial.println(" degC"); // Imprime dados de temperatura no monitor serial
delay(500); // Aguarda 500 milissegundos antes de repetir o loop
}